因果图(鱼骨图)
应用场景:
遇到复杂的业务逻辑,判定表无法搞定;判定表主要考虑条件与动作间的关系,
很少考虑条件与条件之间的关系,这时候就可以用到因果图。
输入与输出关系
1. 恒等:当输入条件发生时,结果一定发生;当输入条件不发生时,结果一定不发生
2. 非: 当输入条件发生时,结果一定不发生;当输入条件不发生时,结果一定发生
3. 与:当多个输入条件都发生时,结果才会出现
4. 或: 多个条件中的一个条件发生了,结果就会发生
注释:恒等、非,侧重输入与输出的关系;与、非侧重条件之间的组合关系
输入与输入的关系:
1. 异:所以输入条件中,至多有一个;可以为空;
2. 或:所有输入条件中,至少有一个,可以全部输入;
3. 唯一:所有输入条件中,有且只有一个条件产生
4. 要求:所有输入条件中,只要有一个产生,其他都会产生
用法:
- 根据需求,梳理出因果图
- 根据因果图画出判定表
- 根据判定表设计测试用例。因果图,只是帮助梳理思路的方式。
实例:
需求描述:需改文件的功能性需求:如果第一列是A 或者是B, 第二列是数字,则修改文件;
如果第一列不正确,则给出 M,第二列不正确,则给出 L。
流程图 + 判定表
(下图中的原因结果,不是对应关系,只是将他们列出来而已,方便整理因果图)