1. 因果图法的定义
因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,他适合与检查程序输入条件的各种组合情况。
2. 因果图法的意义
等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试测试到了,但多个输入条件组合起来可能出错的情况却被疏忽了
3. 因果图法的适用场合
如果测试的时候==必须考虑输入条件的各种组合==,所以必须考虑采用一种合适于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用到因果图法
4. 因果图法的四种关系
输入条件与输出结果之间有4种关系:恒等、非、或、与。
- 恒等:若原因出现,则结果出现,反之。例如:若c1 = 1则e1 = 1;若c1 = 0则e1 = 0;
- 非:若原因出现,则结果不出现,反之。例如:若c1 = 1则e1 = 0; 若c1 = 0则e1 = 1;
- 或:若几个原因之中有一个出现,则结果出现;若几个原因都不出现,则结果不出现;例如,若c1=1或c2=1或c3=1,则e1=1;若c1=c2=c3=0,则e1=0;
- 与:若几个原因都出现,则结果出现;若几个原因有一个不出现,则结果不出现;例如,若c1=c2=1,则e1=1;若c1=0或c2=0,则e1=0;
5. 因果图的基本约束
约束:是指输入状态还存在某种依赖关系,这种关系称作约束。这种制约关系一般可被分为5类:互斥、包含、唯一、要求和屏蔽。
输入条件的约束有以下4类:
- 互斥(E): 表示a、b、c这3个原因不会同时成立,最多有一个可能成立。
- 包含(I): 表示a、b、c这3个原因中至少有一个必须成立。
- 唯一(O): 表示a、b、c中必须有一个成立,且仅有一个成立。
- 要求®: 表示当a出现时,b必须也出现。例如,若a=1,则b必须为1。
输出条件约束类型只有1种:
- 屏蔽(M):若a=1,则b必须为0;而当a=0时,b的值不定。
6. 因果图法的应用案例
- 分析需求,获取条件和动作
- 分析条件与条件,条件与动作之间的关系
- 通过关系画出因果图
- 将因果图化为决策表
需求
- 输入手机号或邮箱作为账户名
- 输入正确的验证码
动作
- 账号名和验证验证成功,填写账户信息
- 输入手机号或电子邮箱格式错误,报L错误
- 验证码输入错误,报M错误
因果图
决策表
1 | 2 | 3 | 4 | ||
---|---|---|---|---|---|
条件桩 | 输入手机号 | X | N | T | N |
输入电子邮箱 | X | N | N | T | |
输入正确验证码 | N | X | T | T | |
动作桩 | 填写账户信息 | √ | √ | ||
报错L | √ | ||||
报错M | √ |
根据决策表写出测试用例
用例编号 | 用例描述 | 预期结果 |
---|---|---|
1 | 手机号和电子邮箱至少有一个输入,但验证码输入错误 | 报错误M |
2 | 手机号和电子邮箱输入错误 | 报错误L |
3 | 手机号输入正确,验证码输入正确 | 可填写账户信息 |
4 | 电子邮箱输入正确,验证码输入正确 | 可填写账户信息 |