等價類
概念
等價類划分就是把被測對象的輸入域划分為若干個集合,對於某個集合中的某個元素和該集合中的任一元素的表征一致,
然后從每個划分的集合中取出少數的數據作為測試用例;對於某個被測對象的輸入域而言,如果某個個體被系統接受,則這個
個體所在的集合中的其他所有個體也應該被接受,反之亦然。
等價類划分
a.有效等價類
針對被測對象而言,合理的,有意義的,被系統接受的輸入,如用戶名長度在6-18
b.無效等價類
針對被測對象而言,不合理,無意義的,不被系統接受的輸入,如用戶名0<=長度<6或長度>18
等價類划分原則
序號 | 輸入域條件 | 等價類划分 |
1 | 規定取值范圍 或取值個數 |
一個有效等價類和 兩個無效等價類 |
2 | 規定取值是真假值 | 一個有效等價類和 一個無效等價類 |
3 | 規定輸入數據的一組值(n個) 並且程序要對每個值分別處理 |
n個有效等價類和 一個無效等價類 |
4 | 輸入數據必須遵守某個規則 | 一個有效等價類和 若干個無效等價類 |
5 | 規定輸入數據的集合或 ‘必須如何’的條件 |
一個有效等價類和 一個無效等價類 |
6 | 在確知已划分的等價類中各元素在程序處理中的方式不同的情況下, 則應再將該等價類進一步的划分為更小的等價類 |
等價類划分不確定 |
用例設計原則
a.根據需求,划分有效及無效等價類,有效等價類統一編號,無效等價類統一編號
b.設計一個新的測試用例時,使其盡可能覆蓋所有尚未覆蓋的有效等價類,直到所有的有效等價類都被覆蓋
c.設計一個新的測試用例時,使其僅覆蓋一個無效等價類,直到所有的無效等價類都被覆蓋
等價類划分的本質
等價類划分的本質在於對被測對象輸入域的識別和對等價類的划分
案例
栗子1,某個網站的用戶名注冊有如下要求,
1)用戶名由數字,字母,下划線組成
2)用戶名字符長度在6~18
3)用戶名以字母開頭。
這是一個簡化版的注冊,只有一個輸入框(用來填寫用戶名)和一個注冊按鈕,暫時不考慮密碼。
用等價類划分設計測試用例