软件测试三角形问题
等价类划分法——以输出域划分等价类
健壮等价类测试 健壮等价类测试主要的出发点是考虑了无效等价类。 对有效输入,测试用例从每个有效等价类中取一个
值; 对无效输入,一个测试用例有一个无效值,其 他值均取有效值。 健壮等价类测试存在两个问题:
需要花费精力定义无效测试用例的期望输出; 对强类型的语言没有必要考虑无效的输入 。
三角形问题的用例设计方法
主讲:黄老师
授课班级:软件设计班
制作者:
三角形问题的用例设计方法
黑盒测试
等价类划分法 边界值分析法 因果图法 决策表法
Page 2
制作者:
等价类划分法——以输入域划分等价类
以三角形问题为例,输入条件是:
三个数,分别作为三角形的三条边 都是整数 取值范围在1~100之间
Page 6
制作者:
等价类划分法——以输出域划分等价类
因此,利用这些信息可以确定下列值域等价类:
R1={〈a,b,c〉:边为a,b,c 的等边三角形} R2={〈a,b,c〉:边为a,b,c 的等腰三角形} R3={〈a,b,c〉:边为a,b,c 的一般三角形} R4={〈a,b,c〉:边为a,b,c 不构成三角形} 4个标准等价类测试用例如表4-3所示。
制作者:
决策表法
分析如下:
确定规则的个数。例如,三角形问题的决策表有4个条件, 每个条件可以取两个值(真值和假值),所以应该有 24=16种规则。
列出所有条件桩和动作桩。 填写条件项。 填写动作项,从而得到初始决策表。如表4-12所示。 简化决策表。合并相似规则后得到三角形问题的简化决策
测试用例
等价类编号
4
1
5
6
7
2
三个数
8
9
整数
1≤a≤100
10
11
1≤b≤100
1≤c≤100
12
4,5,6
13
3
14
15
16
17
18
表4-2 三角形问题的测试用例 Page 5
测试用例
只有一条边4 只有两条边4,5 多于三条边4,5,6,7 一边为非整数4.5,6,7 两边为非整数4.5,5.5,6 三边为非整数4.5,5.5,6.6 一边为00,2,5 两边为00,0,7 三边为00,0,0 一边小于0-1,7,8 两边小于0-9,-,1,6 三边小于0-1,-2,-8 一边大于100101,56,50 两边大于100101,107,89 三边大于100101,109,176
测试用例
a
b
c
Test Case 1
10
4
4
Test Case 2
4
4
4
Test Case 3
?
?
?
Test Case 4
?
?
?
Test Case 5
4
4
5
Test Case 6
?
?
?
Test Case 7
5
4
4
Test Case 8
4
5
4
Test Case 9
3
4
5
Page 19
返回
预期输出 非三角形 等边三角形
表。如表4-13所示。
Page 15
制作者:
决策表法
表4-12 三角形问题的初始决策表
选项
规则
1
2
3
4
5
6
7
8
条件:
C1:a,b,c构成一 F
F
F
F
F
F
F
F
个三角形?
T
T
T
T
F
F
F
F
C2:a=b?
T
T
F
F
T
T
F
F
C3:b=c?
T
F
T
F
T
F
T
F
C4:a=c?
动作:
a1:非三角形
√
√
√
√
√
√
√
√
a2:一般三角形
Page 9
制作者:
等价类划分法——以输出域划分等价类 返回
测试用例
a
b
c
Test Case 1
5
6
7
Test Case 2
-1
5
5
Test Case 3
5
-1
5
Test Case 4
5
5
-1
Test Case 5 101
5
5
Test Case 6
5
101
5
Test Case 7
5
5
101
预期输出 一般三角形 a值超出输入值定义域 a值超出输入值定义域 a值超出输入值定义域 a值超出输入值定义域 a值超出输入值定义域 a值超出输入值定义域
Test Case 7
101
60
50
Test Case 8
50
0
60
Test Case 9
50
1
50
Test Case 10
50
2
50
Test Case 11
50
99
50
Test Case 12
50
100
50
Test Case 13
50
101
60
Test Case 14
60
Test Case 15
50
Test Case 16
50
Test Case 17
50
Test Case 18
50
Test Case 19
60
50
0
50
1
50
2
50
99
50
100
50
101
Page 13
返回
预期输出 非三角形 等腰三角形 等腰三角形 等边三角形 等腰三角形 非三角形 边超出范围 非三角形 等腰三角形 等腰三角形 等腰三角形 非三角形
a3:等腰三角形
a4:等边三角形
a5:不可能
Page 16
制作者:
决策表法
选项
规则
表4-12 三角形问题的初始决策表
9
10
11
12
13
14
15
条件:
C1:a,b,c构成一 T
T
T
T
T
T
T
个三角形?
T
T
T
T
F
F
F
C2:a=b?
T
T
F
F
T
T
F
C3:b=c?
T
F
T
F
T
F
T
C4:a=c?
动作: a1:非三角形
表4-4 三角形问题的7个健壮等价类测试用例
Page 10
制作者:
边界值分析法
以三角形问题为例,要求输入三个整数a、b、c,分 别作为三角形的三条边,取值范围在1~100之间, 判断由三条边构成的三角形类型为等边三角形、等 腰三角形、一般三角形(包括直角三角形)以及非 三角形。如表4-8所示给出了边界值分析测试用例。
认真分析上述的输入条件,可以得出相关的等价类 表(包括有效等价类和无效等价类),如表4-2所示。
Page 3
制作者:
等价类划分法——以输入域划分等价类
输入条件
等价
类编号
有效等价类
三个数
1
三个数
整数
2
整数
取值范围
在1~100
3
1≤a≤100 1≤b≤100 1≤c≤100
等价类编号
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
F
F
F
F
C2:a=b?
-
T
T
F
F
T
T
F
F
C3:b=c?
-
T
F
T
F
T
F
T
F
C4:a=c?
动作:
a1:非三角形
√
a2:一般三角形
√
a3:等腰三角形
√
√
√
a4:等边三角形 a5:不可能
√
√
√
√
Page 18
制作者:
决策表法
根据决策表4-13,可设计测试用例,如表4-14所示。
表4-14 三角形问题的决策表测试用例
Page 7
制作者:
等价类划分法——以输出域划分等价类
测试用例
a
b
c
预期输出
Test Case 1
10
10
10
等边三角形
Test Case 2
10
10
5
等腰三角形
Test Case 3 Test Case 4
3
4
5
1
1
5
表4-3 三角形问题的标准等价类测试用例
一般三角形
不构成三角 形
Page 8
制作者:
不可能 不可能 等腰三角形 不可能 等腰三角形 等腰三角形 一般三角形
制作者:
Page 11
制作者:
边界值分析法
表4-8边界值分析测试用例
测试用例
a
b
c
Test Case 1
1
50
50
Test Case 2
2
50
50
Test Case 3