題目:輸入三個數a、b、c分別作為三邊的邊長構成三角形。通過程式判定所構成的三角形是一般三角形、等腰三角形還是等邊三角形時。用等價類劃分方法為該程式設計測試用例。
在三角形計算中,要求三角形的三個邊長:a b c。
1、 當三邊不可能構成三角形時提示錯誤,可構成三角形時計算三角形周長。
2、若是等腰三角形列印「等腰三角形」, 若兩個等腰的平方和等於第三邊平方和,則列印「等腰直角三角形」。
3、若是等邊三角形,則列印:「等邊三角形」。
4、畫出程式流程圖並設計乙個測試用例。
分析一下:
1、構成三角形的條件:任意兩邊之和大於第三邊;
2、構成等腰三角形的條件:任意兩邊相等;
3、構成等腰直角三角形的條件:任意兩邊相等,而且兩條邊的平方和等於第三邊的平方和;
4、構成等邊三角形的條件:三條邊都相等。
那麼用什麼樣的設計方法進行測試用例的設計呢?
一、等價類劃分:三角形三條邊a、b、c的資料型別不同
二、邊界值分析:由於三角形的邊長可以是正整數或正小數,所以就不對長度進行測試,那麼邊界值分析就不用了
三、因果圖法:三角形的三條邊資料輸入組合
我們看一下三角形的流程圖:
注:改正乙個小錯誤,在判斷是否是等腰直角三角形中 a的平方=b的平方+c的平方。由於畫圖時,網路速度問題,導致真或假的值沒有標註。
三角形等價類列表
判定型別有效等價類無效等價類
一般三角形 ((a>0) λ(b>0) λ(c>0a<=0 v b<=0 v c<=0) λ
a+b)>c) v ((a+c)>b) v ((b+c)>a)) (1a+b)<=c) v ((a+c)<=b) v ((b+c)<=a)) (2)
等腰三角形 (1) λ (a=b v a=c v b=c)(32) v (a!=b λ b!=c λ a!=c) (4)
等邊三角形 (1) λ (a=b=c ) (52) v (a!=b!=c)(6)
根據上表組成的測試用例:
三角形等價類測試用例
id 輸入資料覆蓋測試用例輸出結果
a b c
1 3 4 5 (1一般三角形
2 0 4 5 (2非(一般)三角形
3 3 0 5 (2
4 3 4 0 (2)
5 1 4 5 (2
6 3 8 5 (2
7 3 2 1 (2
8 3 3 5 (3等腰三角形
9 3 4 3
10 3 4 4
#include
void main ()
11 3 4 9 (4非等腰三角形
12 3 3 3 (5等邊三角形
13 -1 0 1 (6非等邊三角形
我們再分析一下三角形的等價類:
有效等價類:
輸入3個正整數或正小數:
1、兩數之和大於第三數,如a2、兩數之和不大於第三數
3、兩數相等,如a=b或b=c或c=a
4、三數相等,如a=b=c
5、三數不相等,如a!=b,b!=c,c!=a
無效等價類:
1、空2、負整數
3、非數字
4、少於三個數
三角形測試用例類別輸入條件有效等價類無效等價類
是否是三角形 (a>0) (1)
(b>0) (2)
(c>0) (3)
(a+b>c) (4)
(b+c>a) (5)
(c+a>b) (6)
(a<=0) (7)
(b<=0) (8)
(c<=0) (9)
(a+b<=c) (10)
(b+c<=a) (11)
(c+a<=b) (12)
是否是等腰三角形 (a=b) (13)
(b=c) (14)
(c=a) (15)
(a!=b)and(b!=c)and(c!=a) (16)
是否是等腰直角三角形 (a=b)and(a2+b2=c2) (17)
(b=c)and(b2+c2=a2) (18)
(c=a)and(c2+a2=b2) (19)
(a!=b)and(b!=c)and(c!=a) (20)
是否是等邊三角形(a=b)and(b=c)and(c=a) (21)(a!=b) (22)
(b!=c) (23)
(c!=a) (24)
#include
void main()
else }
getch();
}三角形測試用例:
序號 [a,b,c] 覆蓋等價類輸出
1 [3,4,5] (1)(2)(3)(4)(5)(6) 是三角形
2 [0,1,2] (7) 非三角形
3 [1,0,2] (8) 非三角形
4 [1,2,0] (9) 非三角形
5 [1,2,3] (10) 非三角形
6 [1,3,2] (11) 非三角形
7 [3,1,2] (12) 非三角形
8 [3,3,4] (1)(2)(3)(4)(5)(6)(13) 等腰三角形
9 [3,4,4] (1)(2)(3)(4)(5)(6)(14) 等腰三角形
10 [3,4,3] (1)(2)(3)(4)(5)(6)(15) 等腰三角形
11 [2√2,2√2,4] (1)(2)(3)(4)(5)(6)(17) 等腰直角三角形
12 [4,2√2,2√2] (1)(2)(3)(4)(5)(6)(18) 等腰直角三角形
13 [2√2,4,2√2] (1)(2)(3)(4)(5)(6)(19) 等腰直角三角形
14 [3,4,5]
(1)(2)(3)(4)(5)(6)(16)(20)(22)(23)(24) 是三角形
15 [3,3,3] (1)(2)(3)(4)(5)(6)(16)(21) 等邊三角形
16 [,,,] 無效等價類錯誤提示
17 [-3,4,5] 無效等價類錯誤提示
18 [a,3,@] 無效等價類錯誤提示
19 [3,4] 無效等價類錯誤提示
全等三角形測試
新星學校素質拓展數學競賽 一 填空 1 1 如右圖,已知ab de,b e,若要使 abc def,那麼還要需要乙個條件,這個條件可以是理由是 這個條件也可以是理由是 2 如右圖,已知 b d 90 若要使 abc abd,那麼還要需要乙個條件,這個條件可以是理由是 這個條件也可以是理由是 這個條件...
企業筆試的試題三角形的測試用例設計
企業筆試的試題 三角形的測試用例設計收藏 有同學去企業進行面試,在做筆試題,有這麼一道設計測試用例的題。其實這道題也給同學們講解過,只不過稍有些變化。三角形的測試用例設計問題好象在很多公司的筆試題裡都出現過,呵呵,大同小異。那麼我們看看題目 在三角形計算中,要求三角形的三個邊長 a b c 1 當三...
三角形和三角形全等測試題
三角形和全等三角形測試題 人教版 一選擇題 1 如果三角形的兩邊分別為3和5,那麼這個三角形的周長可能為 a 15 b16 c 8 d 7 2 若乙個三角形的三個內角不相等,則它的最小角大於 a 45 b 60 c 90 d 以上都不對 3 在 abc中,如果 a b 90 那麼 abc是 a 直角...