等價類測試


(1)划分

使用等價類作為功能性測試的基礎有兩個動機:我們希望進行完備的測試,同時又希望避免冗余,而邊界值測試不能實現這兩種希望中的任意一個,存在大量冗余,且有嚴重漏洞。

划分”的含義是將一個整體分為小塊,使得所有事物都在某個小塊中,不會遺漏。由於一個划分是一組子集,因此我們常常把單個子集看作是划分的元素。

這個定義的兩部分對於測試人員很重要。第一部分保證集合 U 的所有元素都在某個子集中,第二部分保證集合 U 中沒有元素同時在兩個子集中。

且划分能保證:完備性無冗余性。當研究功能性測試,經常會出現漏洞和冗余性:有些內容沒有被測試,而另外一些內容被測試多次。功能性測試的主要困難之一,就是找出合適的划分。


 

(2)等價類
在划分中,由於子集是由 等價關系決定的,因此,子集的元素都有一些共同點。所以,等價類測試的思想是通過每個等價類中的 一個元素標識測試用例。如果廣泛選擇等價類,則這樣可以大大降低測試用例之間的冗余。

等價類的特點:

1)如果一個等價類中的某個測試可以發現缺陷,那么這個等價類的其他測試也能發現該缺陷。

2)如果一個等價類中的一個測試沒有發現缺陷,這個等價類的其他測試也不能發現缺陷。

等價類測試的關鍵,就是選擇確定類的等價關系。但必須區分弱和強等價類。


 

(3)等價類的區分

弱一般等價類測試通過使用一個測試用例中的每個等價類(區間)的一個變量實現。

[a,b]、[b,c]、[c,d] 與 [e,f]、[f,g],從這五個區間來看,用三個用例把每個區間都測試到了。

 

強一般等價類測試基於多缺陷假設,因此,需要等價類笛卡爾積的每個元素對應的測試用例。

 

弱健壯等價類測試也稱為“傳統等價類測試”。對於有效輸入,使用每個有效類的一個值。對於無效輸入,測試用例將擁有一個無效值,並保持其余的值都是有效的。

注意四個角外的位置沒有測試用例即可理解。

 

強健壯等價類測試從所有等價類笛卡爾積的每個元素中獲得測試用例。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM