判定表
因果图只是一种辅助工具,通过分析最终得到判定表,再通过判定表编写测试用例。
画因果图非常麻烦,影响测试效率,可以直接写判定表,进而编写测试用例。
判定表组成
条件桩-问题的所有条件
动作桩-问题的所有输出
条件项-针对条件桩的取值
动作项-条件项的各种取值情况下的输出结果
判定表设计步骤
列出所有的条件桩和动作桩
确定规则数:每个条件桩的取值个数^条件桩个数
填入条件项
填入动作项得到初始判定表
简化判定表
根据判定表设计测试用例
案例
判断三角形
需求解析
输入三个正整数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 | 等边三角形 |