等價類劃分法
數據測試是功能測試的主要內容,或者說功能測試最主要的手段之一就是借助數據的輸入/輸出來判斷功能能否正常運行。在進行數據輸入測試時,如果需要證明數據輸入不會引起功能上的錯誤,或者其輸出結果在各種輸入條件下都是正確的,就需要將可輸入數據域內的值完全嘗試一遍(即窮舉法),這實際是不現實的。
為了解決這個問題,人們就設想是否可以用一組有限的數據去代表近似無線的數據,這就是等價類劃分法的基本思想。等價類劃分法選擇適當的數據子集來代表整個數據集,通過降低測試的數目實現"合理的"覆蓋,覆蓋了更多的可能數據,以發現更多的軟件缺陷。
等價類劃分法基於對輸入或輸出情況的評估,然後劃分到兩個或更多子集來進行測試,即將所有可能的輸入數據(有效的或無效的)劃分成若干個等價類,從每個等價類中選擇一定的代表值進行測試。其中有一個假定:等價類中的所有數據對於暴露程序中的錯誤是等效的,即如果用這個等價類中的代表值作為測試用例未發現程序錯誤,那麼該類中其他的測試用例也不會發現程序的錯誤。有時在確定輸入數據的等價類時常要分析輸出數據的等價類,以便根據輸出數據的等價類導出對應的輸入數據等價類。這樣就將漫五無遍際的隨機測試變為具有針對性的有效測試,極大地提高了測試效率。
等價類劃分優點是基於相對較少的測試案例,就能夠進行完整覆蓋,很大程度上減少了重複性;缺點是缺乏特殊案例的考慮,同時需要深入的系統知識,才能做到有效地處理。
浙公网安备 33010602011771号