因果图:用图解的方法表示输入的各种组合关系,写出判定表,从而设计相应的测试用例
因果图中用来表示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% |