因果图是一种常见的黑盒测试方法,它与边界值分析和等价类方法相比的优势在与其考虑的输入数据的组合情况。
在因果图中,将输入作为因(Cause),将输出或操作作为果(Effect),故称为因果图。对于因,经常用ci 表示;对于果,经常用ei来表示。因果均有两个取值——0和1,0表示某个状态不出现,1表示某个状态出现。
因果图有四种关系和五种约束。下面分别来说明。
一、四种关系:
(1)恒等
(2)非
(3)或
(4)与
二、五种约束:
在下面五种约束中,前四种是对Cause而言的,最后一种是对Effect而言的。
(1)E(异)——c1和c2至多有一个为1,即不能同时为1
(2)I或——c1和c2至少有一个为1,即不能同时为0
(3)O唯一——c1和c2有且仅有一个为1
(4)R要求——c1为1时,c2一定为1
(5)M强制——e1为1时,e2强制为0
下面结合一个示例来讲解如何利用因果图设计测试用例:
【例题】假如有如下规格说明书
第一列字符必须是A或B,第2列字符必须是一个数字,在此情况下进行文件的修改,但如果第1列字符不正确,则给出信息L,如果第2列字符不是数字,则给出信息M。
解:
(1)分析原因和结果
①原因
1. 第1列字符是A;
2. 第1列字符是B;
3. 第2列字符是一个数字。
②结果
21. 修改文件;
22. 给出信息L;
23. 给出信息M。
(2)绘制因果图