基於輸入域的方法測試用例設計
記錄黑盒測試的測試用例的設計,這裏主要有等價類劃分法和邊界值分析法,以三角判斷函數爲例。
等價類的劃分
只考慮輸出(值域)等價類的劃分
值域爲等邊三角形、等腰三角形、普通三角形、非三角形
只有一個變量,且沒有無效等價類,所以弱一般等價類、強一般等價類、弱健壯性等價類、強健壯性等價類是一樣的。
可以簡單地列出
測試用例編號 | a | b | c | 期望輸出 |
---|---|---|---|---|
1 | 5 | 5 | 5 | 等邊三角形 |
2 | 3 | 5 | 5 | 等腰三角形 |
3 | 3 | 4 | 5 | 普通三角形 |
4 | 9 | 4 | 5 | 非三角形 |
只考慮輸入範圍等價類的劃分
[1,100]爲有效輸入,簡單點,一條邊的等價類可以分爲
- 有效等價類(屬於[1,100]這區間)
- 無效等價類(小於1)
- 無效等價類(大於100)
進一步,三邊的有效等價類有可以分爲
- 三邊相等
- 兩邊相等
- 三邊不等但可構成三角形
- 三邊不等且不可構成三角形
那麼結合三條邊就有
等價類 | 期望輸出 | |
---|---|---|
邊值<1 | ||
1<邊值<100 | a=b && b=c | 三邊相等 |
a=b && b!=c && a+c>b && a+b>c | 兩邊相等 | |
a=c && b!=c && a+b>c && a+c>b | 兩邊相等 | |
c=b && a!=c && a+c>b && c+b>a | 兩邊相等 | |
a!=b && a!=c && c!=b && a+b>c && a+c>b && c+b>a | 三邊不等但可構成三角形 | |
c=b && a!=c && c>a+b | 兩邊相等且不可構成三角形 | |
a=c && b!=c && b>a+c | 兩邊相等且不可構成三角形 | |
a=b && b!=c && a>b+c | 兩邊相等且不可構成三角形 | |
c=max{a,b,c} && c>a+b | 三邊不等且不可構成三角形 | |
b=max{a,b,c} && b>a+c | 三邊不等且不可構成三角形 | |
a=max{a,b,c} && a>b+C | 三邊不等且不可構成三角形 | |
邊值>100 |
結合輸入輸出條件設置測試用例
綜上所述,可得出相應的等價類
輸入範圍的無效等價類
- 在正常輸入範圍類的三條邊等價類:
- 不能構成三角形
- a>=b+c
- b>=a+c
- c>=a+b
- 普通三角形
- 等腰三角形
- a=b
- b=c
- c=a
- 等邊三角形
以此,劃分:
弱一般等價類
測試用例編號 | a | b | c | 期望輸出 |
---|---|---|---|---|
1 | 3 | 3 | 3 | 等邊三角形 |
2 | 5 | 3 | 3 | 等腰三角形 |
3 | 3 | 5 | 3 | 等腰三角形 |
4 | 3 | 3 | 5 | 等腰三角形 |
5 | 3 | 4 | 5 | 普通三角形 |
6 | 2 | 2 | 5 | 非三角形 |
7 | 2 | 5 | 2 | 非三角形 |
8 | 5 | 2 | 2 | 非三角形 |
9 | 2 | 3 | 5 | 非三角形 |
10 | 3 | 5 | 2 | 非三角形 |
11 | 5 | 3 | 2 | 非三角形 |
強一般等價類
測試用例編號 | a | b | c | 期望輸出 |
---|---|---|---|---|
1 | 3 | 3 | 3 | 等邊三角形 |
2 | 5 | 3 | 3 | 等腰三角形 |
3 | 3 | 5 | 3 | 等腰三角形 |
4 | 3 | 3 | 5 | 等腰三角形 |
5 | 3 | 4 | 5 | 普通三角形 |
6 | 2 | 2 | 5 | 非三角形 |
7 | 2 | 5 | 2 | 非三角形 |
8 | 5 | 2 | 2 | 非三角形 |
9 | 2 | 3 | 5 | 非三角形 |
10 | 3 | 5 | 2 | 非三角形 |
11 | 5 | 3 | 2 | 非三角形 |
弱健壯性等價類
測試用例編號 | a | b | c | 期望輸出 |
---|---|---|---|---|
1 | 3 | 3 | 3 | 等邊三角形 |
2 | 5 | 3 | 3 | 等腰三角形 |
3 | 3 | 5 | 3 | 等腰三角形 |
4 | 3 | 3 | 5 | 等腰三角形 |
5 | 3 | 4 | 5 | 普通三角形 |
6 | 2 | 2 | 5 | 非三角形 |
7 | 2 | 5 | 2 | 非三角形 |
8 | 5 | 2 | 2 | 非三角形 |
9 | 2 | 3 | 5 | 非三角形 |
10 | 3 | 5 | 2 | 非三角形 |
11 | 5 | 3 | 2 | 非三角形 |
12 | 0 | 3 | 3 | 非法輸入 |
13 | 3 | 0 | 3 | 非法輸入 |
14 | 3 | 3 | 0 | 非法輸入 |
12 | 123 | 3 | 3 | 非法輸入 |
13 | 3 | 123 | 3 | 非法輸入 |
14 | 3 | 3 | 123 | 非法輸入 |
強健壯性等價類
測試用例編號 | a | b | c | 期望輸出 | 測試用例編號 | a | b | c | 期望輸出 |
---|---|---|---|---|---|---|---|---|---|
1 | 3 | 3 | 3 | 等邊三角形 | 20 | 0 | 123 | 123 | 非法輸入 |
2 | 5 | 3 | 3 | 等腰三角形 | 21 | 3 | 0 | 0 | 非法輸入 |
3 | 3 | 5 | 3 | 等腰三角形 | 22 | 0 | 3 | 0 | 非法輸入 |
4 | 3 | 3 | 5 | 等腰三角形 | 23 | 3 | 0 | 123 | 非法輸入 |
5 | 3 | 4 | 5 | 普通三角形 | 24 | 3 | 3 | 0 | 非法輸入 |
6 | 2 | 2 | 5 | 非三角形 | 25 | 3 | 3 | 3 | 等邊三角形 |
7 | 2 | 5 | 2 | 非三角形 | 26 | 3 | 3 | 123 | 非法輸入 |
8 | 5 | 2 | 2 | 非三角形 | 27 | 3 | 123 | 0 | 非法輸入 |
9 | 2 | 3 | 5 | 非三角形 | 28 | 3 | 123 | 3 | 非法輸入 |
10 | 3 | 5 | 2 | 非三角形 | 29 | 3 | 123 | 123 | 非法輸入 |
11 | 5 | 3 | 2 | 非三角形 | 30 | 123 | 0 | 0 | 非法輸入 |
12 | 0 | 0 | 0 | 非法輸入 | 31 | 123 | 0 | 3 | 非法輸入 |
13 | 0 | 0 | 3 | 非法輸入 | 32 | 123 | 0 | 123 | 非法輸入 |
14 | 0 | 0 | 123 | 非法輸入 | 33 | 123 | 3 | 0 | 非法輸入 |
15 | 0 | 3 | 0 | 非法輸入 | 34 | 123 | 3 | 3 | 等邊三角形 |
16 | 0 | 3 | 3 | 非法輸入 | 35 | 123 | 3 | 123 | 非法輸入 |
17 | 0 | 3 | 123 | 非法輸入 | 36 | 123 | 123 | 0 | 非法輸入 |
18 | 0 | 123 | 0 | 非法輸入 | 37 | 123 | 123 | 3 | 非法輸入 |
19 | 0 | 123 | 3 | 非法輸入 | 38 | 123 | 123 | 123 | 非法輸入 |
其中有效等價類的測試用例爲1~11,無效等價類的測試用例爲11~38,用JUnit的參數化測試即可。
邊界值分析
邊界值測試
從輸入範圍考慮,三條邊有效輸入範圍是[1,100],則邊界值爲:1,100。
要考慮到4個值,最小值,略大於最小值,略小於最大值和最大值,因此,邊界值的測試用例的每一條邊應依次取1,2,99,100,其他兩條邊取正常值構成測試用例,最後再加上每條邊都是正常值所構成的測試用例,總共有13個。
邊界值測試用例
測試用例編號 | a | b | c | 期望輸出 |
---|---|---|---|---|
1 | 1 | 50 | 50 | 等腰三角形 |
2 | 2 | 50 | 50 | 等腰三角形 |
3 | 99 | 50 | 50 | 等腰三角形 |
4 | 100 | 50 | 50 | 等腰三角形 |
5 | 50 | 1 | 50 | 等腰三角形 |
6 | 50 | 2 | 50 | 等腰三角形 |
7 | 50 | 99 | 50 | 等腰三角形 |
8 | 50 | 100 | 50 | 等腰三角形 |
9 | 50 | 50 | 1 | 等腰三角形 |
10 | 50 | 50 | 2 | 等腰三角形 |
11 | 50 | 50 | 99 | 等腰三角形 |
12 | 50 | 50 | 100 | 等腰三角形 |
13 | 50 | 50 | 50 | 等邊三角形 |
健壯性邊界值測試
設計健壯性邊界值的測試用例,同時要考慮到無效類,所以要把略小於最小值和略大於最大值也計算進去,則每一條邊應依次取0,1,2,99,100,101,其他兩條邊取正常值構成測試用例,最後再加上每條邊都是正常值所構成的測試用例,共19個測試用例。
健壯性邊界值測試用例
測試用例編號 | a | b | c | 期望輸出 |
---|---|---|---|---|
1 | 0 | 50 | 50 | 等腰三角形 |
2 | 1 | 50 | 50 | 等腰三角形 |
3 | 2 | 50 | 50 | 等腰三角形 |
4 | 99 | 50 | 50 | 等腰三角形 |
5 | 100 | 50 | 50 | 等腰三角形 |
6 | 101 | 50 | 50 | 等腰三角形 |
7 | 50 | 0 | 50 | 等腰三角形 |
8 | 50 | 1 | 50 | 等腰三角形 |
9 | 50 | 2 | 50 | 等腰三角形 |
10 | 50 | 99 | 50 | 等腰三角形 |
11 | 50 | 100 | 50 | 等腰三角形 |
12 | 50 | 101 | 50 | 等腰三角形 |
13 | 50 | 50 | 0 | 等腰三角形 |
14 | 50 | 50 | 1 | 等腰三角形 |
15 | 50 | 50 | 2 | 等腰三角形 |
16 | 50 | 50 | 99 | 等腰三角形 |
17 | 50 | 50 | 100 | 等腰三角形 |
18 | 50 | 50 | 101 | 等腰三角形 |
19 | 50 | 50 | 50 | 等邊三角形 |