等價類劃分是把所有可能的輸入資料,即程式的輸入域劃分成若干部分(子集),然後從每乙個子集中選取少數具有代表性的資料作為測試用例。該方法是一種重要的,常用的黑盒測試用例設計方法。
等價類是指某個輸入域的子集合。在該子集合中,各個輸入資料對於揭露程式中的錯誤都是等效的,並合理地假定:測試某等價類的代表值就等效於對這一類中其它值的測試。因此,可以把全部輸入資料合理劃分為若干等價類,在每乙個等價類中取乙個資料作為測試的輸入條件,就可以用少量代表性的測試資料取得較好的測試結果。等價類通常包括有效等價類和無效等價類:
設計測試用例時,要同時考慮這兩種等價類。因為軟體不僅要能接收合理的資料,也要能經受意外的考驗。這樣的測試才能確保軟體具有更高的可靠性。
1.劃分等價類的方法
下面給出六條確定等價類的原則:
在確知已劃分的等價類中各元素在程式處理中的方式不同的情況下,則應再將該等價類進一步的劃分為更小的等價類。
2.設計測試用例
在確立了等價類後,可建立等價類表,列出所有劃分出的等價類。初始的**如表4.2.1-1所示。
表4.2.1-1 等價類初始**
例如:為了覆蓋所有的有效等價類和無效等價類,可以從劃分出的等價類中按以下三個原則設計測試用例:
①為每乙個等價類規定乙個唯一的編號。
②設計乙個新的測試用例,使其盡可能多地覆蓋尚未被覆蓋地有效等價類,重複這一步。直到所有的有效等價類都被覆蓋為止.。
③設計乙個新的測試用例,使其僅覆蓋乙個尚未被覆蓋的無效等價類,重複這一步。直到所有的無效等價類都被覆蓋為止。
3.等價類案例
某商店為購買不同數量商品的顧客報出不同的**,其**規則如表4.2.1-2所示。
表4.2.1-2 等價類案例描述
如買8件需要支付5*20+3*18=154元,買20件需要支付5*20+5*18+5*15+5*12=325元。現在該商家開發乙個軟體,輸入為商品數c(1≤c≤50),輸出為應付價錢p。採用等價類劃分法為該軟體設計測試用例(不考慮c為非整數的情況)。
表4.2.1-3 利用等價類獲得的輸入資料
等價類劃分法是把程式的輸入域按規則劃分為若干子集,然後從每個子集中選取一具有代表性的資料作為測試用例。上例規定了c的取值範圍(1 ≤c≤50),按規則可以劃分為乙個有效等價類和兩個無效等價類、。表中對c取不同值有不同的處理,因此上述有效等價類還可以進一步細分為4個等價類、、、。這樣一共得到6個等價類,包括4個有效等價類、、、和兩個無效等價類、。設計用例時從這6個等價類中任選乙個代表資料即可。
等價類劃分法
等價類劃分法 何為等價類,某個輸入域的集合,在這個集合中每個輸入條件都是等效的,如果其中乙個的輸入不能導致問題發生,那麼集合中其它輸入條件進行測試也不可能發現錯誤。等價類分為有效等價類和無效等價類,有效等價類就是由那些對程式的規格說明有意義的 合理的輸入資料所構成的集合 無效等價類就是那些對程式的規...
等價類劃分法例項
基本概念 等價類 對應用程式的規格 介面 的輸入資料構成的集合 有效等價類 對應用程式的規格說明來說是合理的有意義的輸入資料 無效等價類 六條確定等價類的原則 1 在輸入條件規定了取值範圍或值的個數的情況下,則可以確立乙個有效等價類 在範圍之內的等價類 和兩個無效等價類 有效範圍的兩側 2 在輸入條...
等價類劃分法例項
基本概念 等價類 對應用程式的規格 介面 的輸入資料構成的集合 有效等價類 對應用程式的規格說明來說是合理的有意義的輸入資料 無效等價類 六條確定等價類的原則1 在輸入條件規定了取值範圍或值的個數的情況下,則可以確立乙個有效等價類 在範圍之內的等價類 和兩個無效等價類 有效範圍的兩側 2 在輸入條件...