实验目的:1.掌握等价类划分的方法
- 掌握按等价类方法设计测试用例
实验内容:
1、请用等价类划分法为三角形问题划分等价类,并设计相应的测试用例,测试下面三角形问题程序,找出缺陷并改正,给出缺陷报告。
2、三角形问题:输入3个整数a、b、c,分别作为三角形的3条边,通过程序判断由3条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形或者3条边不构成三角形。
3、方案设计
输入三条边a、b、c必须满足以下条件:
条件1: 1≤a≤100
条件2: 1≤b≤100
条件3: 1≤c≤100
条件4: a<b+c
条件5: b<a+c
条件6: c<a+b
如果输入值a、b、c满足条件1、2、3,则输出下列四种情况之一:
(1)如果不同时满足条件4、5、6,则程序输出“不构成三角形”。
(2)如果3条边相等,则程序输出为“等边三角形”。
(3)如果恰好有2条边相等,则程序输出为“等腰三角形”。
(4)如果3条边都不相等,则程序输出为“一般三角形”。
划分等价类
输 入 条 件
|
输入三个整数 |
有效等价类 |
无效等价类 |
1、 整数 2、 3个整数 3、 非0整数 4、 正数
|
13、一边为非整数 14、两边为非整数 15、三遍为非整数 16、数字个数小于3 17、数字个数大于3 18、一边为0 19、两边为0 20、三遍为0 21、一边小0 22、两边小于0 23、三边小于0 24、一边大于100 25、两边大于100 26、三边大于100
|
||
输 出 条 件 |
构成不等边三角形 |
5、 a+b>c 6、 a+c>b 7、 b+c>a |
27、a+b<=c 28、b+c<=a 29、c+a<=b |
构成等腰三角形 |
8、 a=b且满足5 9、 b=c且满足7 10、c=a且满足6 |
|
|
构成等边三角形 |
11、a=b=c |
|
|
不构成三角形 |
12、不满足5,6,7中的一个 |
|
等价类划分测试用例
等价类划分测试用例 |
||||||
测试用例编号 |
等价类条件 |
测试用例 |
预期结果 |
|||
a |
b |
c |
d |
|||
1 |
1,2,3,4,5,6,7 |
2 |
3 |
4 |
|
普通三角形 |
2 |
1,2,3,4,5,6,7,8 |
2 |
2 |
3 |
|
等腰三角形 |
3 |
1,2,3,4,5,6,7,9 |
2 |
3 |
2 |
|
等腰三角形 |
4 |
1,2,3,4,5,6,7,10 |
3 |
2 |
2 |
|
等腰三角形 |
5 |
1,2,3,4,5,6,7,11 |
2 |
2 |
2 |
|
等边三角形 |
6 |
1,2,3,4,12 |
1 |
2 |
3 |
|
不构成三角形 |
7 |
1,2,3,4,5,6,7,13 |
2.1 |
3 |
4 |
|
不构成三角形(未测试) |
8 |
1,2,3,4,5,6,8,14 |
2.1 |
2.1 |
3 |
|
不构成三角形(未测试) |
9 |
1,2,3,4,5,6,9,15 |
2.1 |
2.1 |
2.1 |
|
不构成三角形(未测试) |
10 |
1,3,4,,16 |
2 |
3 |
null |
|
不构成三角形(未测试) |
11 |
1,2,3,17 |
2 |
3 |
4 |
3 |
不构成三角形(未测试) |
12 |
1,2,18 |
0 |
2 |
3 |
|
抛出异常 |
13 |
1,2,19 |
0 |
0 |
2 |
|
抛出异常 |
14 |
1,2,20 |
0 |
0 |
0 |
|
抛出异常 |
15 |
1,2,3,21 |
-1 |
2 |
2 |
|
抛出异常 |
16 |
1,2,3,22 |
-1 |
-2 |
2 |
|
抛出异常 |
17 |
1,2,3,23 |
-2 |
-2 |
-2 |
|
抛出异常 |
18 |
1,2,3,4,24 |
111 |
99 |
99 |
|
抛出异常 |
19 |
1,2,3,4,25 |
111 |
111 |
99 |
|
抛出异常 |
20 |
1,2,3,4,26 |
111 |
111 |
111 |
|
抛出异常 |
21 |
1,2,3,4,27 |
2 |
3 |
5 |
|
不构成三角形 |
22 |
1,2,3,4,28 |
5 |
2 |
3 |
|
不构成三角形 |
23 |
1,2,3,4,29 |
2 |
5 |
3 |
|
不构成三角形 |