測試設計之等價類和邊界值

 

1  引言 

    一般來說,軟件測試設計方法分爲5類:傳統的黑盒測試方法、基於質量的測試方法、基於風險的測試方法、基於經驗的測試方法以及白盒測試方法。下面分篇介紹下傳統的黑盒測試和白盒測試方法。

  5種黑盒測試方法如下:

  ·等價類

      ·邊界值

  ·判定表

  ·狀態轉換圖

  ·決策樹

  ·正交法

  7種白盒測試方法如下:

  ·語句覆蓋

  ·分支覆蓋

  ·條件覆蓋

  ·判定覆蓋

      ·條件覆蓋

  ·路徑覆蓋

  ·控制流測試

 

2  等價類&邊界值測試設計

  2.1  運用等價類/邊界值設計測試用例

  通過等價類/邊界值法設計軟件測試用例是測試用例設計的最基本的方法。這兩種方法密不可分。下面先介紹"等價類分析法"。

  2.1.1  等價類

  等價類是指軟件測試對象的某個參數輸入域的子集合。在該子集合中,各個輸入數據對於識別軟件測試對象中的缺陷是等價的。只要測試等價類的某一個代表值,就可以認爲覆蓋了該等價類所有其他值的軟件測試。

  等價類的劃分

  是把軟件測試對象的輸入域劃分成若干部分,然後從每一部分中選取少數具有代表性的數據,作爲測試用例輸入數據的測試用例設計技術

  等價類的兩個假設

  (1)軟件測試對象等價類中任意一個代表值沒有發現缺陷,則認爲等價類內其他值也不能發現缺陷。比如等價類爲【0~5】,如果測試數據4沒有發現缺陷,那麼測試數據1也不可能發現缺陷。

  (2)軟件測試對象等價類中任意一個代表值可以發現缺陷,則認爲等價類內其他值也都可以發現缺陷。比如等價類爲【0~5】,如果測試數據4發現缺陷,那麼測試數據1也肯定能發現缺陷。

  有效等價類與無效等價類

  (1)有效等價類:對於軟件測試對象而言,有效等價類指的是合理的、有意義的數據構成的集合。

  (2)無效等價類:對於軟件測試對象而言,無效等價類指的是不合理的、沒有意義的數據構成的集合。

  案例2-1:等價類的分類。

  通過表2-1來看各種類型的數據是如何通過等價類進行分類的。

  表2-1等價類的設計法

  下面再介紹一下"邊界值分析法"。

  2.1.2  邊界值

  邊界值分析是對輸入或輸出的邊界值進行軟件測試的一種測試方法。通常,邊界值分析法作爲對等價類劃分法技術的補充。這種情況下,其測試用例來自等價類的邊界。由於程序員在開發時在邊界區域比較容易犯錯誤(如原本應該爲a<100,卻寫成a≤100),所以邊界值測試法就顯得非常重要。由於邊界值是隨着等價類出現的,所以邊界值可以分爲有效等價類的邊界值和無效等價類的邊界值。

  邊界值分析的步驟如下:

  (1)識別軟件測試對象中的參數等價類;

  (2)識別每個等價類的邊界值;

  (3)創建邊界值的相關測試用例;

  (4)定義邊界值分析技術的覆蓋率。

  案例2-2:邊界值的設計法。

  基於表2-1,來看各種情況的邊界值如何劃定,見表2-2。

  表2-2邊界值的設計法

  2.1.3  基於輸出的等價類/邊界值劃分

  等價類/邊界值除了可以以輸入進行分類,也可以以輸出進行分類,如案例2-3所示。

  案例2-3:公園門票規定:

  身高1.2m以下的兒童免票;

  身高1.2~1.4m的兒童半票(含1.2m);

  年齡在60~69歲之間的老人半票(含60歲);

  年齡在70歲以上的老人免票(含70歲);

  在校學生半票(不含在職學生、電大學生);

  革命烈士家屬、現役軍人免票。

  我們可以劃分等價類爲全票、半票和免票,見表2-3。

  表2-3公園門票等價類/邊界值

 

發佈了51 篇原創文章 · 獲贊 98 · 訪問量 151萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章