《软件测试技术》课程第八周随笔

软件测试第八周随笔,本周软件测试的课程已全部结束,随笔重点回顾下因果图。

 (一)概念:

     因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件涉及的各种组合情况。因果图法一般和判定表结合使用,通过映射同时发生相互影响的多个输入来确定判定条件。因果图法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。采用因果图法能帮助我们按照一定的步骤选择一组高效的测试用例,同时,还能指出程序规范中存在什么问题,鉴别和制作因果图。
因果图法着重分析输入条件的各种组合,每种组合条件就是“因”,它必然有一个输出的结果,这就是“果”。

(二)一些常用的固定符号:

     C:表示原因(cause);  Ef:代表结果(effect); 相等:;   非:; 

    与: ;   或:

     

      E: 排他(exclusive);  I:at least(inclusive);  R:require ;   

                                               

      O:only one ;           M:强制标记(marking);

                              

 (三)实例分析:

例:产品说明书:有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”、或“红茶”按钮,相应的饮料就送出来。若投入的是2元硬币,在送出饮料的同时退还5角硬币。

     以下给出用因果图法设计这个实例的测试用例的具体步骤:

     (1)确定软件需求中的原因和结果:

             原因:1.投入1元5角硬币(C1); 2.投入2元硬币(C2); 3.按“可乐”按钮(C3);

                     4.按“雪碧”按钮(C4);     5.按“红茶”按钮(C5);

             中间状态; 1.投币完成; 2.按钮完成;

             结果:    1.退还5角硬币(Ef1); 2.送出“可乐”(Ef2); 3.送出“雪碧”(Ef3); 4.送出“红茶”(Ef4);

     (2)确定原因与结果间的关系:

           •退5角:Ef1=C2∧(C3∨C4∨C5) ∧E (C3,C4,C5) ∧E(C1,C2)
           •可乐:  Ef2=C3 ∧(C1∨C2) ∧E (C3,C4,C5) ∧E(C1,C2)
           •雪碧:  Ef3=C4 ∧(C1∨C2) ∧E (C3,C4,C5) ∧E(C1,C2)
           •红茶:  Ef4=C5 ∧(C1∨C2) ∧E (C3,C4,C5) ∧E(C1,C2)

     (3)画出因果图:

                   

  (4)测试用例设计

 

C1,C2同时成立的测试用例是无法实现的。但是如果编程人员,把C1,C2用两个变量编程,则有可能C1,C2同时成立。

由于测试人员无法测试到,这就要靠白盒测试来完成。

                      

原文地址:https://www.cnblogs.com/jinzhao1994/p/4462965.html