邊界值法

邊界值法

邊界是指相對於輸入等價類和輸出等價類而言,稍高於其邊界值及稍低於其邊界值的一些特定情況。基於邊界的方法是根據定義域來實現的,最終演變成邊界值分析、健壯性測試、最壞情況測試和健壯最壞情況測試四種技術。

簡介

邊界值分析也是一種黑盒測試方法,是對等價類分析方法的一種補充,由長期的測試工作經驗得知,大量的錯誤是發生在輸入或輸出的邊界上。因此針對各種邊界情況設計測試用例,可以查出更多的錯誤。

分析

關注

邊界值法示意圖 邊界值法示意圖

邊界值分析關注的是輸入空間邊界,用以標識測試用例,基本思想是在最小值(min)、略高於最小值(min+)、正常值(nom)、略低於最大值(max-)和最大值(max)等處取值。邊界值分析手段主要有兩種方式:通過變數數量和通過值域的種類進行。如一個n變數函式f(x1,x2,……xn)按以上方式每次確定一個測試對象(基於“單缺陷假設”理論),會產生4n+1個測試用例。健壯性測試是擴展邊界值分析的測試,即增加一個略大於最大值(max+)和略小於最小值(min-)的取值,則用例數將變為6n+1。當邊界值變數不是獨立變數時,則以上測試用例就顯的不充分。對於邏輯變數而言這種用例也沒有什麼用處。

最壞情況測試

拒絕“單缺陷假設”理論的情況下,對所有變數的邊界值集合進行5元素笛卡兒積計算,用以生成測試用例,對於n變數函式的最壞測試基於邊界值分析會產生5n個測試用例,基於健壯性分析則產生7n個測試用例。相比而言最壞情況測試代價較高,因此其最佳運用是物理變數具有大量互動作用,或者函式失效的代價極高的情況下。

①“在最小值、和最大值處”是指的一般邊界值分析。

②“略小於最小值、最小值、略高於最小值、正常值、略低於最大值、最大值、略大於最大值”其實是健壯性邊界值分析,也就是考慮了非法的意外值。

③可靠性理論“單缺陷假設”:失效極少是由兩個(或多個)缺陷的同時發生引起的。

原則

邊界值法 邊界值法

一、如果輸入條件規定了值的範圍,則應該取剛達到這個範圍的邊界值,以及剛剛超過這個範圍邊界的值作為測試輸入數據;二、如果輸入條件規定了值的個數,則用最大個數、最小個數、比最大個數多1格、比最小個數少1個的數做為測試數據;

三、根據規格說明的每一個輸出條件,使用規則一;

四、根據規格說明的每一個輸出條件,使用規則二;

五、如果程式的規格說明給出的輸入域或輸出域是有序集合(如有序表、順序檔案等),則應選取集合的第一個和最後一個元素作為測試用例;

六、如果程式用了一個內部結構,應該選取這個內部數據結構的邊界值作為測試用例;

七、分析規格說明,找出其他可能的邊界條件。

舉例

找零錢最佳組合

假 設 商 店 貨 品 價 格 (R) 皆 不 大 於 100 元 ( 且 為 整 數 ) , 若 顧 客 付 款 在 100 元 內 (P) , 求 找 給 顧 客 之 最 少 貨幣 個(張) 數 ? ( 貨 幣 面 值 50 元 (N50) , 10 元 (N10) , 5 元 (N5) , 1 元 (N1) 四 種 )

一、 分 析 輸 入 的 情 形 。

R > 100

0 < R < = 100

邊界值法 邊界值法

R <= 0P > 100

R<= P <= 100

P < R

二、 分 析 輸 出 情 形 。

N50 = 1

N50 = 0

5 > N10 >= 1

N10 = 0

N5 = 1

N5 = 0

5 > N1 >= 1

N1 = 0

三、 分 析 規 格 中 每 一 決 策 點 之 情 形 , 以 RR1, RR2, RR3 表 示 計 算 要 找 50, 10, 5 元 貨 幣 數 時 之 剩 余 金 額 。 R > 100R <= 0

P > 100

P < R

RR1 >= 50

RR2 >= 10

RR3 >= 5

四、 由 上 述 之 輸 入 / 輸 出 條 件 組 合 出 可 能 的 情 形 。

R > 100

R <= 0

0 < R <= 100, P > 100

0 < R <= 100, P < R

0 < R <= 100, R <= P <= 100, RR = 50

0 < R <= 100, R <= P <= 100, RR = 49

0 < R <= 100, R <= P <= 100, RR = 10

0 < R <= 100, R <= P <= 100, RR = 9

0 < R <= 100, R <= P <= 100, RR = 5

0 < R <= 100, R <= P <= 100, RR = 4

0 < R <= 100, R <= P <= 100, RR = 1

0 < R <= 100, R <= P <= 100, RR = 0

五、 為 滿 足 以 上 之 各 種 情 形 , 測 試 資 料 設 計 如 下 :

1. 貨品價格 = 101

2. 貨品價格 = 0

3.貨品價格 = -1

4. 貨品價格 = 100, 付款金額 = 101

5. 貨品價格 = 100, 付款金額 = 99

6. 貨品價格 = 50, 付款金額 = 100

7. 貨品價格 = 51, 付款金額 = 100

8. 貨品價格 = 90, 付款金額 = 100

9. 貨品價格 = 91, 付款金額 = 100

10. 貨品價格 = 95, 付款金額 = 100

11. 貨品價格 = 96, 付款金額 = 100

12. 貨品價格 = 99, 付款金額 = 100

13. 貨品價格 = 100, 付款金額 = 100

軟體測試

軟體測試定義是:為了發現程式中的錯誤而執行程式的過程.它是幫助識別開發完成(中間或最終的版本)的計算機軟體(整體或部分)的正確度(correctness) 、完全度(completeness)和質量(quality)的軟體過程;是SQA(software quality assurance)的重要子域。希望在完成這個詞條的同時,與大家共同學習。

相關詞條

相關搜尋

熱門詞條

聯絡我們