因果图方法
是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法。
与等价类划分法和边界值方法的区别
在之前的博客中分别有介绍到等价类划分法和边界值法,这两种方法都是着重考虑输入条件,它们在输入条件之间没有逻辑关联的时候十分有效。而因果图法更依赖于输入条件和输出条件之间的逻辑关系,逻辑性更强。
绘制因果图
1.关系
①相等
if(C)then Ef
②非
if(!C) then Ef
③与
if(C1 && C2 && C3) then Ef
④或
if(C1 || C2) then Ef
2.约束
①Exclusive
Either C1 or C2 or C3
②Inclusive
At least C1 or C2
③Require
C1 requires C2
④Only one
one of C1 and C2
⑤Masking
Ef1 masks Ef2
3.绘制因果图的步骤
①确定软件规格(需求)中的原因和结果
②确定原因和结果之间的逻辑关系
③确定因果图中的各个约束
④绘制因果图并转换为决策表
⑤根据决策表设计测试用例
实例分析
1.题目:
某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M
2.根据题意,确定原因和结果
原因:
C1:第一列字符为A
C2:第一列字符为B
C3:第二列字符为数字
结果:
Ef1: 修改文件
Ef2: 给出信息L
Ef3:给出信息M
3.绘制因果图