實驗目的: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 |
|
不構成三角形 |