引子:
我在这一周的软件测试课程中学习到了有关黑盒测试中的因果图法的相关知识。在此我将做一些归纳与总结,并给出一个使用因果图法的自动贩卖机的测试用例设计。
概述:
在黑盒测试中,有着等价类划分法、边界值分析法、因果图法等测试方法。但是三者存在着一些显著的区别:前两种方法着重于考虑输入条件,如果程序输入之间没有什么联系,采用等价类划分法和边界值分析法比价有效,
但如果输入之间有联系,比如约束关系、组合关系等,这种情况下,前两种方法是很难描述的,因此必须考虑使用一种适合与描述对于多种条件的组合,产生多个相应动作的测试方法,此时用因果图法就相当合适。
一些常用的固定符号:
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元5角硬币(C1); 2.投入2元硬币(C2); 3.按“可乐”按钮(C3); 4.按“雪碧”按钮(C4); 5.按“红茶”按钮(C5);
中间状态; 1.已投币; 2.已按下按钮;
结果: 1.退还5角硬币(Ef1); 2.送出“可乐”(Ef2); 3.送出“雪碧”(Ef3); 4.送出“红茶”(Ef4);
步骤二:确定原因与结果间的关系:
1.C2∩(C3∪C4∪C5); 2. (C1∪C2)∩C3;3. (C1∪C2)∩C4; 4. (C1∪C2)∩C5;
步骤三:画出因果图:
步骤四: 给出测试用例:
结语:
以上实例为简单的测试用例演示,还有很多复杂的情况没有考虑,随着课程的深入,本人会在以后的博客中给出继续的讨论。