寫在前面
這是一個五分鐘說測試專欄,旨在分享軟件測試方面的知識,後續會不定期更新連載,大家多多關注~
如果我的文章能夠對你有一點點的幫助,那我將十分高興,同時大家記得幫我點贊哦~
一個範例
使用一個簡單的加法函數作爲邊界值分析的一個例子,程序需求規格說明簡單如下:
- 對於有效輸入,函數返回x1與x2的和
- 對於無效輸入,函數返回-1
def add (x1, x2):
if 1<=x1<=200 and 50<=x2<=300:
return x1 + x2
else:
return -1
邊界值分析法
1.基本概念
邊界值分析法是對輸入或輸出的邊界值進行測試的一個黑盒測試方法,該方法是對等價類劃分法的一個補充,其測試設計基於等價類劃分法。基本思想是在最小值,略高於最小值,正常值,最大值,略低於最大值處取輸入變量值,對系統進行驗證。經驗表明,大量的缺陷是發生在輸入輸出的邊界值,而不是輸入輸出的範圍值。
2.邊界值分析法設計測試用例的原則
(1)如果輸入條件規定了值的範圍,則應取剛達到這個範圍的邊界值以及剛剛超過這個範圍邊界的值作爲測試輸入數據。
(2)如果輸入條件規定了值的個數,則用最大個數、最小個數和比最大個數多1個、比最小個數少1個的數作爲測試數據。
(3)根據程序規格說明的每個輸出條件,使用原則(1)。
(4)根據程序規格說明的每個輸出條件,使用原則(2)。
(5)如果程序的規格說明給出的輸入域或輸出域是有序集合(如有序表、順序文件等),則應選取集合中的第一個和最後一個元素作爲測試用例。
(6)如果程序中使用了一個內部數據結構,則應當選擇這個內部數據結構的邊界上的值作爲測試用例。
(7)分析程序規格說明,找出其它可能的邊界條件。
3.邊界值分析法設計步驟
3.1確定輸入條件和邊界點
找到每個輸入條件的邊界點,即可得到邊界
加法函數中有兩個輸入條件:
(1)1<=x1<=200
x1可以確定兩個邊界點(1和200),比邊界點小一點的值(0和199),比邊界點大一點的值(2和201),最後x1輸入條件確認有6個測試數據:0,1,2,199,200,201
(2)50<=x2<=300
x2可以確定兩個邊界點(50和300),比邊界點小一點的值(49和299),比邊界點大一點的值(51和301),最後x2輸入條件確認有6個測試數據:49,50,51,299,300,301
3.2設計測試用例
基於單邊界原則設計測試用例,即每個邊界點及領域測試數據設計測試用例,比如:x1邊界點1,領域數據爲0和2,可以設計3條測試用例,上述輸入條件有4個邊界點,共可設計以下12條測試用例
編號 | x1 | x2 | 預期輸出 |
1 |
0 | 200 | -1 |
2 |
1 |
200 | 201 |
3 | 2 | 200 | 202 |
4 | 199 | 200 | 399 |
5 | 200 | 200 | 400 |
6 | 201 | 200 | -1 |
7 | 100 | 49 | -1 |
8 | 100 | 50 | 150 |
9 | 100 | 51 | 151 |
10 | 100 | 299 | 399 |
11 | 100 | 300 | 400 |
12 | 100 | 301 | -1 |
4.輸出結果的邊界值分析
基本概念中提到,邊界值分析法是對輸入或輸出的邊界值進行測試的一個黑盒測試方法,那麼下面我舉例說明如何對輸出進行邊界值分析
舉例來說,某測試團隊的績效考覈有以下規則:
- 發現一個High缺陷權重爲3
- 發現一個Middle缺陷權重爲2
- 發現一個Low缺陷權重爲1
總得分[0,60)績效爲C,總得分[60,80)績效爲B,總得分[80,100]績效爲A,假設總得分超過100當做無效
4.1確定輸出結果和邊界點
可以確定4個輸出結果績效ABC和無效,同時可以確定4個邊界點分別爲:0,60,80,100
基於單邊界值設計原則,可以設計11個邊界值:0,1,59,60,61,79,80,81,99,100,101
4.2設計測試用例
輸入值可以隨意組合,只要達到輸出結果
編號 | Low(1) | M(2) | High(3) | 得分 | 預計輸出 |
1 | 0 | 0 | 0 | 0 | C |
2 | 1 | 0 | 0 | 1 | C |
3 | 10 | 20 | 3 | 59 | C |
4 | 11 | 20 | 3 | 60 | B |
5 | 12 | 20 | 3 | 61 | B |
6 | 30 | 20 | 3 | 79 | B |
7 | 31 | 20 | 3 | 80 | A |
8 | 32 | 20 | 3 | 81 | A |
9 | 0 | 0 | 33 | 99 | A |
10 | 1 | 0 | 33 | 100 | A |
11 | 2 | 0 | 33 | 101 | 無效 |
歡迎關注「五分鐘說測試」,獲取最新原創文章
本文作者:五分鐘說測試
本文鏈接:https://blog.csdn.net/LeechengLove/article/details/106307607