測試用例:測什么、怎么測 指導測試工作進行的依據
軟件測試用例設計之等價類划分法
一、定義
用戶所有可能輸入的數據划分為若干份(也稱為子集),然后從每個子集中選取少數具有代表性的數據作為測試用例。這些數據在測試中的作用等價於其所屬部分的其他值
是一種重要的、常用的黑盒測試方法,考慮的是程序輸入的規格
二、相關術語
等價類:輸入域的各個子集,該子集中所有的數據在測試中的作用都是等效的
等價類分為:
- 有效等價類:符合《需求規格說明書》,輸入合理的數據集合
- 無效等價類:不符合《需求規格說明書》,輸入不合理的數據集合
三、等價類思考步驟
- 先確定有效和無效等價類
- 有效等價類就是題目條件
- 無效等價類先划分與條件相反的情況,再找到特殊情況(中文、英文、特殊符號、空格、空等)
四、等價類划分原則
1、確定了輸入條件取值范圍或值的個數,可以划分出1個有效等價類和2個無效等價類
2、輸入條件規定了輸入值的集合,例如條件中規定了“必須如何”的絕對條件,可以確定1個有效等價類和1個對立無效等價類
3、輸入條件的數據類型為布爾類型,可以確定1個有效等價類和1個無效等價類,有效等價類為true,無效等價類為false
4、規定了輸入數據的一組值,假定n個,程序要對這n組值分別處理,可以划分出n個有效等價類和1個無效等價類
5、在規定了輸入數據必須遵守規則的情況下,可划分出1個遵守規則的有效等價類和若干個從不同角度違反規則的無效等價類
6、若已划分出的等價類中各元素在程序中的處理方式不同,則應再將該等價類進一步划分為更小的等價類
五、實例演示
1、測試QQ賬號,賬號要求是6-10位正整數
有效等價類:
1:長度在6-10位之間的正整數
無效等價類:
1:長度小於6位
2:長度大於10位
3:負數
4:小數
5:中文
6:英文
7:空格
8:特殊字符
2、某城市電話號碼由三部分組成,分別是
地區碼:空白或是3位數字
前綴:非‘0’且非‘1’開頭的三位數字
后綴:4位數字
例如:1232341234