判定表
因果图只是一种辅助工具,通过分析最终得到判定表,再通过判定表编写测试用例。
画因果图非常麻烦,影响测试效率,可以直接写判定表,进而编写测试用例。
判定表组成
条件桩-问题的所有条件
动作桩-问题的所有输出
条件项-针对条件桩的取值
动作项-条件项的各种取值情况下的输出结果
判定表设计步骤
列出所有的条件桩和动作桩
确定规则数:每个条件桩的取值个数^条件桩个数
填入条件项
填入动作项得到初始判定表
简化判定表
根据判定表设计测试用例
案例
判断三角形
需求解析
输入三个正整数a、b、c,分别作为三角想的三条边,判断是否构成三角形以及三角形的类型
1.列出所有的条件桩和动作桩
条件桩 |
条件项 |
C1:a、b、c是否构成三角形 |
1:两边之和大于第三边、0:不满足 |
C2:a=b? |
1:a=b、0:a!=b |
C3:a=c? |
1:a=c、0:a!=c |
C4:b=c? |
1:b=c、0:b!=c |
动作桩 |
动作项 |
A1:不是三角形 |
1:不是三角形 |
A2:一般三角形 |
1:是一般三角形 |
A3:等腰三角形 |
1:是等腰三角形 |
A4:等腰三角形 |
1:是等腰三角形 |
A5:不可能出现 |
1:组合条件不可能出现 |
2.确定规则数:每个条件桩的取值个数^条件桩个数
2^4 = 16
3.填入条件项,填入动作项,得到初始判定表
条件桩 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
C1:a、b、c是否构成三角形 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
C2:a=b? |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
C3:a=c? |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
C4:b=c? |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
动作桩 |
||||||||||||||||
A1:不是三角形 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
||||||||
A2:普通三角形 |
1 |
|||||||||||||||
A3:等腰三角形 |
1 |
1 |
1 |
|||||||||||||
A4:等边三角形 |
1 |
|||||||||||||||
A5:不可能出现 |
1 |
1 |
1 |
4.简化判定表
条件桩 |
1 |
2 |
3 |
4 |
5 |
6 |
C1:a、b、c是否构成三角形 |
0 |
1 |
1 |
1 |
1 |
1 |
C2:a=b? |
- |
0 |
0 |
1 |
1 |
1 |
C3:a=c? |
- |
0 |
1 |
0 |
1 |
1 |
C4:b=c? |
- |
0 |
1 |
1 |
0 |
1 |
动作桩 |
||||||
A1:不是三角形 |
1 |
|||||
A2:普通三角形 |
1 |
|||||
A3:等腰三角形 |
||||||
A4:等边三角形 |
1 |
|||||
A5:不可能出现 |
1 |
1 |
1 |
5.根据判定表设计测试用例
用例编号 |
a |
b |
c |
预期结果 |
1 |
4 |
1 |
2 |
非三角形 |
2 |
3 |
4 |
5 |
一般三角形 |
3 |
2 |
2 |
3 |
等腰三角形 |
4 |
2 |
3 |
2 |
等腰三角形 |
5 |
3 |
2 |
2 |
等腰三角形 |
6 |
5 |
5 |
5 |
等边三角形 |