邊界值分析是一種常用的黑箱測試方法,是對等價類別劃分方法的補充;所謂邊界值,是指相對於輸入等價類別和輸出等價類別而言,稍高於其最高值或稍低於最低值的一些特定情況。邊界值分析的步驟包括確定邊界,選擇測試案例兩個步驟。
一、基本原理:
- 錯誤更可能出現在輸入變數的極值附近.
- 失效極少由兩個(或多個)缺陷的同時發生引起的。
- Min、Min+、Nom、Max-、Max.
二、單缺陷假設和多缺陷假設:
- 單缺陷假設是邊界值分析的關鍵假設。單缺陷假設指“失效極少是由兩個或兩個以上的缺陷同時發生引起的”。在邊界值分析中,單缺陷假設即選取測試案例時僅僅使得一個變數取極值,其他變數均取正常值;
- 多缺陷假設,則是指“失效是由兩個或兩個以上缺陷同時作用引起的”,要求在選取測試案例時同時讓多個變數取極值。
三、邊界值測試資料類型:數值、速度、字元、地址、位置、尺寸、數量等。 四、邊界值測試的分類:
| |
單變數假設 |
多變數假設 |
| 有效值 |
基本邊界值測試 |
最壞情況測試 |
| 無效值 |
健壯性測試 |
健壯最壞情況測試 |
五、邊界值測試技術:(一)、基本邊界值測試。 有n個輸入變數,設計測試案例使得一個變數在資料有效區內取最大值、略小於最大值、正常值、略大於最小值和最小值。如所示,兩個變數X1,X2。它們的有效取值區間分別為[c,d],[a,b]。 對於有n個輸入變數的程式,基本邊界值分析的測試案例個數為4n+1。 (二)、健壯性測試。 健壯性是指在異常情況下,軟體還能正常啟動並執行能力。健壯性考慮的主要部分是預期輸出,而不是輸入。健壯性測試是邊界值分析的一種簡單擴充。除了變數的5 個邊界分析取值還要考慮略超過最大值(max)和略小於最小值(min)時的情況。健壯性測試的最大價值在於觀察處理異常情況,它是檢測軟體系統容錯性的重要手段。如所示。 對於有n個輸入變數的程式,健壯性測試的測試案例個數為6n+1。 (三)、最壞情況測試。 最壞情況測試拒絕單缺陷假設,它關心的是當多個變數取極值時出現的情況。最壞情況測試中,對每一個輸入變數首先進行包含最小值、略高於最小值、正常值、略低於最大值、最大值等5個元素集合的測試,然後對這些集合進行笛卡爾積計算,以產生測試案例。最壞情況測試將意味著更大工作量。如所示。對於有n個輸入變數的程式,最壞情況測試的測試案例個數為5^n。 (四)、健壯最壞情況測試。 健壯最壞情況假設對每一個變數首先進行最小值、略小於最小值的值、略高於最小值的值、正常值、最大值、略高於最大值的值、略低於最大值的值等7個元素的集合。然後對這些集合進行笛卡爾積運算,以產生測試案例。如所示。對於有n個輸入變數的程式,健壯最壞情況測試的測試案例個數為7^n。 六、邊界值測試舉例。1.三角形問題的邊界值分析測試案例。測試案例(基本邊界測試分析):
| Test Case |
a |
b |
c |
預期結果 |
| TC1 |
1 |
100 |
100 |
等腰三角形 |
| TC2 |
2 |
100 |
100 |
等腰三角形 |
| TC3 |
199 |
100 |
100 |
等腰三角形 |
| TC4 |
200 |
100 |
100 |
非三角形 |
| TC5 |
100 |
1 |
100 |
等腰三角形 |
| TC6 |
100 |
2 |
100 |
等腰三角形 |
| TC7 |
100 |
199 |
100 |
等腰三角形 |
| TC8 |
100 |
200 |
100 |
非三角形 |
| TC9 |
100 |
100 |
1 |
等腰三角形 |
| TC10 |
100 |
100 |
2 |
等腰三角形 |
| TC11 |
100 |
100 |
199 |
等腰三角形 |
| TC12 |
100 |
100 |
200 |
等腰三角形 |
| TC13 |
100 |
100 |
100 |
等邊三角形 |
2.寫出NextDate函數的最壞情況測試案例。
- 條件: l≤月份≤12 ; 1≤日期≤31 ; 1812≤年≤2012
- 月份的取值(1,2,6,11,12); 日期的取值(1,2,15,30,31); 年的取值(1812,1813,1912,2011,2012)
- 這三個變數的笛卡爾乘積後的測試案例,總共有5 * 5 * 5 = 125個測試案例。(省略測試案例表).