因果图法
1.案例
某系统业务单据处理规则如下;
- 对于处于提交审批状态的单据,数据完整率达到80%以上或已经过业务员确认,则进行处理
解:
(1)列出可能的输入、输出并编号
输入:
- C1:单据处于提交审批状态
- C2:单据数据完整率达到80%
- C3:单据经过业务员确认
输出:
- E1:处理
- E2:不处理
(2)找出输入输出的对应关系
- 若单据不处于提交审批状态,则不处理
- 若单据处于提交审批状态且数据完整率达到 80%,则处理
- 若单据处于提交审批状态且经过业务员确认,则处理
(3)画出因果图
(4)将因果图转换为判定表
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ||
条件 | C1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
C2 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | |
C3 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | |
中间结果 | T | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 1 |
动作 | E1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
E2 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
(5)将判定表转化为测试用例 (略)
2.分析
what?
因果图法就是从需求中找出因(输入条件)果(输出结果或程序状态改变),通过分析输入条件之间的关系(组合关系、约束关系等)以及输入与输出之间的关系,制成因果图,转化为判定表,最后生成测试用例。
why?
等价类划分法和边界值分析法只考虑了输入条件,但是没有考虑输入条件之间的组合、制约关系,而实际输入之间存在着相互依赖关系。
how?
--因果图中的符号:
- Ci 表示原因
- Ei 表示结果
- 恒等:原因结果同时出现
- 与:原因都出现,结果才出现;原因任意一个不出现,结果不出现
- 或:原因任意一个出现,结果出现;原因多不出现,结果不出现
- 非:原因不出现,结果出现;原因出现,结果不出现
--因果图中的约束:
输入条件
- E 表示a、b两个原因不能同时成立
- I 表示a、b、c中至少有一个条件成立
- O 表示a、b条件中有且仅有一个成立
- R 表示当a出现时b也必须出现
输出条件
- M 表示结果a是1,则结果b强制为0
--因果图法步骤:
1.分析所有可能的输入输出,并赋予标识符
2.找出输入输出之间的关系
3.根据关系画出因果图
4.将因果图转换为判定表
5.根据判定表生成测试用例
上一篇:测试用例设计方法—边界值分析法 https://my.oschina.net/zhangyujian/blog/edit/754148
下一篇:测试用例设计方法—场景分析法 https://my.oschina.net/zhangyujian/blog/754595