等價類劃分法是黑盒測試用例設計中一種重要常用的設計方法,它的基本思想是用一組有限的資料去代表近似無限的資料,達到能覆蓋所有情況的目的。
定義:
等價類是指某個輸入域的乙個特定的子集合,在該子集合中各個輸入資料對於揭露程式中的錯誤都是等效的,也就是說,如果用這個等價類中的代表值作為測試用例未發現程式錯誤,那麼該類中其他資料(測試用例)也不會發現程式中的錯誤[1]。
有效等價類:輸入滿足程式輸入的要求(來自規格說明書),通俗的說就是正確的輸入。
無效等價類:輸入不滿足程式輸入的要求,即異常輸入,需要系統對此有一定的容錯性。
示例:
問題:針對國內18位身份證號碼驗證,通過等價類劃分法設計測試用例。
先了解一下18位身份證,拿370686199211204618來說:
37——所在省
06——所在地級市
86——所在縣級市
19921120——出生年月日
461——順序碼,表示你在該地區與你同年同月同日生的人群中的序號,奇數表示男,偶數表示女
8——對前17進行加權求和並mod11,如果結果為10,用『x』表示
等價類劃分方法:
1)規定了輸入要滿足的條件,可劃分乙個滿足條件的有效等價類和若干不滿足其中任何乙個條件的無效等價類,如上面的例子。
2)輸入為列舉型別,如輸入a要求取值,這時可劃分3個有效等價類和乙個a不是的無效等價類。
3)對於輸入條件為滿足小於10大於5的整數a,有效等價類為5=10和a<=5。
4)輸入要求a=10,則有效等價類為a=10,無效等價類為a不等於10。
總結:
其實等價類劃分法經常出現在我們的程式調bug中,如我們做乙個使用者登入,就要充分考慮可能的輸入情況,並根據這些情況設計異常處理。可是要覆蓋所有的情況並不是一件容易的事,我們往往還要借助於大量的特殊用例測試。等價類的劃分並非只有乙個答案,每個人的理解不同,只要能覆蓋測試物件即可。
參考文獻:
[1] 朱少民. 軟體測試方法和技術[m]. 第二版. 北京:清華大學出版社,2010:39
黑盒測試 等價類劃分法
按測試技術分類 白盒測試與黑盒測試 從完全不同的角度出發,2種測試思路適用於不同的測試階段 這 2種技術,是各有所長,相互補充的關係。可以發現不同型別的錯誤!黑盒測試的概念 如何理解 黑盒子 1 關注程式外部結構,不考慮內部邏輯結構,不知道程式如何工作。2 注重軟體的功能性需求,主要針對軟體介面和軟...
黑盒測試技術之等價類劃分法
在描述等價類法之前,先來解釋等價測試原理。正是基於這個原理,才有了等價類劃分測試的充分性和完備性的保證。等價類的有效與無效 劃分等價類需首先從功能規格說明書中找出所有輸入條件,然後為每個輸入條件劃分兩個或多個等價類,形成若干互不相交的子集,這些子集稱之為等價類。而所有等價類的並集就是整個測試用例的輸...
黑盒測試之等價類劃分
某城市 號碼由三部分組成。它們的名稱和內容分別是 假定被測程式能接受一切符合上述規定的 號碼,拒絕所有不符合規定的 號碼。根據該程式的規格說明,做等價類的劃分,並設計測試用例。按照上課例子列 等價類的劃分似乎沒有統一的標準?比如我這裡的無效等價類劃分得挺簡單的,可以劃分得更細一些。輸入資料 有效等價...