為了解決這個問題,人們就設想是否可以用一組有限的數據去代表近似無限的數據,這就是等價類劃分法的基本思想。等價類劃分法選擇適當的數據子集來代表整個數據集,通過降低測試的數目實現“合理的”覆蓋,覆蓋了更多的可能數據,以發現更多的軟件缺陷。
等價類劃分基于對輸入或輸出情況的評估,然后劃分到兩個或更多子集來進行測試,即將所有可能的輸入數據(有效的或無效的)劃分成若干個等價類,從每個等價類中選擇一定的代表值進行測試。其中有一個假定:等價類中的所有數據對于暴露程序中的錯誤是等效的,即如果用這個等價類中的代表值作為測試用例未發現程序錯誤,那么該類中其他的測試用例也不會發現程序的錯誤。有時,在確定輸入數據的等價類時常要分析輸出數據的等價類,以便根據輸出數據的等價類導出對應的輸入數據等價類。這樣就將慢無邊際的隨機測試變為具有針對性的有效測試,極大地提高了測試效率。
等價類劃分法優點是基于相對較少的測試案例,就能夠進行完整覆蓋,很大程度上減少了重復性;缺點是缺乏特殊案例的考慮,同時需要深入的系統知識,才能做到有效地處理。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/