邊界值分析與等價劃分及示例


實際上,由於時間和財務限制,特別是當輸入組合數量巨大時,對每組測試資料進行詳盡測試是不切實際的。

  • 我們需要一種簡單的方法或特定的方法來智慧地從測試用例池中選擇測試用例,以確保覆蓋所有測試情況。

  • 為此,我們採用兩種方法:等價劃分和邊界值分析測試過程。

軟體測試,可以手動或自動進行,對於編寫無錯誤的程式至關重要。儘管自動化測試節省了測試時間,但手動測試仍然是評估軟體應用程式功能的最常見方法。我們將在本文中討論最重要的手動軟體測試方法。

有哪些不同型別的軟體測試技術?

軟體測試技術是一套有助於提高任何軟體開發專案整體質量和有效性的實踐。它有助於開發更好的測試用例,測試用例是一組條件或變數的集合,測試人員使用這些條件或變數來評估被測系統是否滿足要求或正常執行。為了提高測試效率,許多測試方法被用作測試過程的一部分。

建立黑盒測試的技術

黑盒測試設計是一種測試方法,它檢查被測應用程式 (AUT) 的功能,而無需檢視底層程式碼結構、實現細節或軟體內部路徑的知識。這種型別的測試完全基於軟體規範和需求。在黑盒測試中,我們只測試軟體系統的輸入和輸出,而不關心程式的內部工作原理。透過採用這種方法,我們可以節省大量的測試時間並擁有強大的測試用例覆蓋率。

通常使用五種型別的測試技術:

  • 邊界值分析 (BVA)

  • 等價類劃分

  • 決策表測試

  • 狀態轉換

  • 錯誤猜測

本文僅深入介紹邊界值分析和等價類劃分。最後三種策略將在以後的文章中討論。

BVA(邊界值分析)

BVA 是另一種黑盒測試設計技術,用於檢測輸入域邊界的缺陷(測試程式在輸入邊界處的行為),而不是中間部分。邊界值測試背後的主要思想是選擇輸入變數值,這些值是:

最小值、略高於最小值、略低於最小值、標稱值、略低於最大值、最大值和略高於最大值。也就是說,每個範圍有兩個邊界:下邊界(範圍的開始)和上邊界(範圍的結束),邊界表示每個有效劃分的開始和結束。我們應該建立測試用例,在程式的極限處測試程式的功能,使用略高於和低於極限的值。壓力測試和負面測試都包括邊界值分析。

在本指南中,我們將學習以下內容:

  • 什麼是邊界測試以及它是如何工作的?

  • 什麼是等價類劃分,它是如何工作的?

  • 示例 1 - 邊界值和等價類

  • 示例 2 - 邊界值和等價類

  • 等價類和邊界分析測試的好處是什麼?

什麼是邊界測試以及它是如何工作的?

測試輸入資料劃分之間極端端點或邊界的技術稱為邊界測試。

  • 這些極端端點,例如開始-結束、下限-上限、最大值-最小值、剛好內部-剛好外部值,被稱為邊界值,邊界測試用於測試它們。

  • 在正常的邊界值測試中,主要思想是選擇輸入變數值,這些值是:

    • 最小值

    • 略高於最小值

    • 最小值

    • 略低於最大值

    • 最大值

  • 等價類劃分在邊界測試中很有用。

  • 等價類劃分之後是邊界測試。

等價類劃分

等價劃分,也稱為等價類劃分,是一種黑盒測試方法,可用於軟體開發的所有階段,包括單元測試、整合測試和系統測試。由於測試用例數量最少,這種方法將輸入資料單元劃分為可用於生成測試用例的相似劃分,從而減少了測試所需的時間。

  • 它將程式輸入資料劃分為幾個等價的資料型別。

  • 當輸入欄位存在範圍時,可以使用此方法。

示例 1 - 邊界值和等價類

考慮“訂購比薩文字框”的行為。比薩值範圍從 1 到 10 被認為是有效的。顯示訊息“成功”。

而值 11 到 99 被認為是無效的訂單,將顯示一條錯誤訊息“最多隻能訂購 10 個比薩”。

測試場景如下:

  • 在“訂購比薩”表單中提交的任何大於 10 的數字(例如 11)都被認為是無效的。

  • 任何小於 1 併為 0 或以下的數字都被認為是無效的。

  • 數字 1 到 10 被接受為有效。

  • 任何三位數,例如 -100,都是無效的。

我們不能測試所有可能的值,因為這將導致超過 100 個測試用例。為了解決這個問題,我們使用等價劃分假設,該假設將票證的可能值劃分為組或集合,如下所示,其中系統的行為是相似的。

等價分割槽或等價類是分割的集合。然後,為了測試,我們從每個分割中只選擇一個值。這種方法基於這樣的思想:如果分割槽中的一個條件/值透過,則其他所有條件/值也將透過。同樣,如果分割槽中的一個條件失敗,則分割槽中的其他條件也將失敗。

**邊界值分析 (BVA)** 是一種確定等價分割槽之間邊界的技術。

在之前的等價劃分示例中,您不會為每個分割槽測試一個值,而是會檢查分割槽處的值,例如 0、1、10、11 等。您可以看到,您測試有效和無效限制處的值。邊界值分析也稱為範圍檢查。

邊界值分析 (BVA) 和等價劃分密切相關,可以在所有測試級別一起使用。

示例 2:邊界值和等價類

下面的密碼框允許最小 6 個字元,最大 10 個字元。

因此,分割槽 0-5、6-10、11-14 的結果應該相似。

測試場景 #測試場景描述預期結果
1在密碼欄位中輸入 0 到 5 個字元系統應該拒絕
2在密碼欄位中輸入 6 到 10 個字元系統應該接受
3在密碼欄位中輸入 11 到 14 個字元系統應該拒絕

示例 3:輸入框中應接受數字 1 到 10。

此處可以找到邊界值測試用例。

邊界值 = 0 - 系統應該拒絕

邊界值 = 1 - 系統應該接受

邊界值 = 2 - 系統應該接受

邊界值 = 9 - 系統應該接受

邊界值 = 10 - 系統應該接受

邊界值 = 11 - 系統應該拒絕

使用邊界值分析的優勢是什麼?

考慮以下場景:開發人員編寫了一個金額文字欄位的程式碼,該欄位只接受和傳輸100到5000之間的數字。測試工程師透過在金額文字框中輸入99並按下傳輸按鈕來仔細檢查它。由於邊界值已設定為100和5000,它將顯示一條錯誤提示,指出99是錯誤的測試用例。由於99小於100,因此文字表單不會傳輸金額。

下面是一些有效和無效測試場景的集合。

有效的測試用例

  • 輸入100,這是最小值。

  • 輸入值101,這是最小值加一。

  • 輸入數字4999,這是最大可能值。

  • 輸入值5000,這是最大可能值。

不可靠的測試用例

  • 輸入99,這是最小值。

  • 輸入金額5001,這是最大值加一。

等價類和邊界分析測試的好處是什麼?

  • 這種測試方法用於將大量的測試用例分解成更小、更易於管理的部分。

  • 選擇測試場景的非常明確的標準,不會危及測試有效性。

  • 適用於需要大量計算並且有很多變數/輸入的應用程式。

等價劃分法分為兩部分

1. Pressman規則 − 如果輸入是一個數字範圍,則為一個有效值和兩個無效值建立測試用例。

如果輸入是一組值,則為所有合法值集以及兩個無效值提供測試用例。

考慮以下場景 −

考慮任何線上購物網站,其中每個產品都應由唯一的ID和名稱標識。使用者可以使用產品名稱或產品ID搜尋產品。您可以檢視包含產品ID的產品列表,並檢視其中是否有任何是筆記型電腦(有效值)。

如果輸入是布林值,則為真值和假值建立測試用例。考慮以下示例網頁,它具有名字、姓氏和電子郵件地址的文字欄位,以及使用布林輸入的性別單選按鈕。

如果使用者單擊任何單選按鈕,則應將相關值設定為輸入。如果使用者選擇不同的選項,則輸入值必須更改以反映新的選擇(並且先前選擇的選項應取消選擇)。

當選擇單選按鈕選項時,它被視為TRUE,而當未選擇任何選項時,則被視為FALSE。此外,不應該同時選擇兩個單選按鈕;如果這樣做,則認為這是一個問題。

2. 實踐方法 − 將所有有效值的數值範圍劃分為可比較的部分,同時確保測試兩個無效值。

結論

當幾乎不可能單獨評估大量的測試用例時,就會執行邊界值分析測試。使用的方法包括邊界值分析和等價劃分測試。

首先,您將一組測試條件分成可以在等價劃分中檢查的多個分割槽。

接下來,使用邊界值分析測試等價劃分之間的邊界。

適用於需要大量計算並且包含反映物理量的變數的應用程式。

更新於:2021年11月29日

5K+ 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.