本篇文章,來分享大家比較熟悉的測試用例設計方法—— 等價類劃分法 。
首先,我們可以使用上一篇文章介紹的場景法來梳理業務流程。
其次,根據流程中的每個節點的需求說明,使用等價來劃分來設計用例。
定義
等價類劃分:
依據需求,将輸入域劃分為若幹部分,再從每個部分中選取少數代表性資料當做測試用例,每一類的代表性資料在測試中的作用等價于這一類中的其他值。
在同一個等價類中的資料,如果該測試用例通過,則代表該等價類的所有資料都通過測試,否則,都不通過測試。

圖檔中的輸入框,是一個公司的使用者 ID 輸入框,限制輸入3位數的整數。
由此可以分為3個等價類:
- 100-999
- 少于100
- 大于999
第一個等價類 100-999,輸入資料:202 通過測試,則代表其他100-999中的其他資料也通過測試。
适用場景
對于等價類劃分法,一般适用于有無限多種輸入,但又不可能完全窮盡測試,此方法可以使得我們用較少的測試用例,盡可能多地将功能覆寫掉。
分類
在等價類劃分法中,可以将資料分為有效等價類和無效等價類。
* *有效等價類:
有意義的輸入構成的集合,對于需求規格說明書是合法的
前面的例子中,100-999 屬于有效等價類。
無效等價類:
不滿足需求的集合,對于需求規格說明書是不合法的
前面的例子中,後面兩項分類,都屬于無效的等價類。
設計步驟
- 明确測試對象,非測試對象保證正确
- 為每一個等價類規定一個唯一的編号
基于等價類劃分的用例設計:
- 設計一個新的測試用例,使其盡可能多地覆寫尚未覆寫的有效等價類,重複這一步,最後使得所有有效等價類均被測試用例所覆寫
- 設計一個新的測試用例,使其隻覆寫一個無效等價類。重複這一步,使所有無效等價類均被覆寫
等價類的特點
- 測試相同的内容
- 如果等價類中的一個測試能夠捕獲一個缺陷,那麼選擇該等價類中的其他測試也能捕獲該缺陷
- 如果等價類中的一個測試不能捕獲缺陷,那麼選擇該等價類中的其他測試也不會捕獲缺陷
- 如果正确的劃分等價類,可以大大降低測試用例的數量,測試會準确有效
- 如果錯誤地将兩個不同的等價類當做一個等價類,那就會遺漏一種測試情況
- 相反,把同一個等價類看作兩個不同的等價類,那麼測試就會是備援的
注意事項:
- 不但要考慮有效等價類,也要考慮無效等價類
- 仔細劃分,審查劃分
- 過于粗略可能會遺漏掉軟體缺陷
- 組織評審
以上就是本篇文章所要分享的内容,歡迎各位大牛指正。你的指正,能讓我在測試之路上快速成長。
Leo Never Stop Fighting!
文章标題:軟體測試用例設計方法-等價類劃分法