因果图:用图解的方法表示输入的各种组合关系,写出判定表,从而设计相应的测试用例
因果图中用来表示4种因果关系的基本符号:
或∨:原因1个出现,结果就出现,原因都不出现,结果就不出现
且∧:原因都出现,结果才出现
Ci:原因
Ei:结果
恒等:原因结果同时出现
非~:原因出现,结果不出现;原因不出现,结果出现
约束条件:
E(互斥Exclusion):表示ab两原因不会同时成立,最多一个能成立
I(包含Include):abc三个原因中至少有一个必须成立
O(唯一Only):ab当中必须有一个,且仅有一个成立
R(要求Require):当a出现时,b必须也出现,不可能a出现b不出现
例题:某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M
1)分析原因和结果:
2)找出因果逻辑关系、约束关系,画出因果图:
3)将因果图转换成决策表
某软件的一个模块的需求规格说明书中描述:
(1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。
(2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。
一、分析原因和结果:
原因 | 结果 |
C1:年薪制员工(1是年薪制,0是非年薪制) | e1:扣年中风险金的4% |
C2:严重过失 | e2: 扣年终风险金的2% |
C3:过失 | e3:扣当月薪资的8% |
| e4:扣当月薪资的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 | |
结果 | e1:扣年中风险金的4% |
|
|
|
|
|
| T |
|
e2: 扣年终风险金的2% |
|
|
|
|
| T |
|
| |
e3:扣当月薪资的8% |
|
| T |
|
|
|
|
| |
e4:扣当月薪资的4% |
| T |
|
|
|
|
|
| |
不操作 | T |
|
|
| T |
|
|
| |
不可能 |
|
|
| T |
|
|
| T
|
四、用例表:
用例 | 输入数据 | 预期输出 |
001 | 年薪制员工,严重过失 | 扣年中风险金的4% |
002 | 年薪制员工,过失 | 扣年终风险金的2% |
003 | 非年薪制员工,严重过失 | 扣当月薪资的8% |
004 | 年薪制员工,过失 | 扣当月薪资的4% |