什么樣的測試用例是好的用例?被奉為經典的標準是:發現錯誤可能性大的用例就是好用例,發現至今未被發現的錯誤的用例就是成功的用例。
對此,有網友評論說:這個標準就像傻子吃燒餅,連吃五個不飽,吃完第六個終于飽了,于是說:早知道吃了第六個就會飽,何必吃前面五個?沒錯,設計用例時你怎么知道哪個用例發現錯誤的可能性大?要是代碼中根本就沒錯誤呢?
好用例應該是一個集合,就像傻子吃的六個燒餅是一個整體,一起吃下去才會飽,而不是找出一個“好”燒餅,吃一個就飽。例如我們測試一個函數,如果用例集覆蓋了該函數的所有等價類,那么,測試就是完整的,就是好用例和成功用例,衡量用例質量的標準跟是否發現錯誤無關。
舉個例子,如果把程序視為一個池塘,錯誤視為塘中的魚,那么,我們建立用例就相當于織網,這個網要能覆蓋整個池塘,如果做到了這一點,那么一網下去,只要池塘里有魚,就一定能撈上來,如果沒有撈上魚,可以認為塘中沒有魚。塘中是否有魚,并不是評價網的質量的標準。
新聞熱點
疑難解答