作者:陳市明 摘自:http://www.aygfsteel.com/JPeanut
測試過程可以分成測試用例設(shè)計,測試用例執(zhí)行,測試結(jié)果分析。測試用例設(shè)計在其中是最重要的一塊,往往會決定整個測試的有效性,一般都是由經(jīng)驗豐富的測試設(shè)計人員負(fù)責(zé)。但是,怎么設(shè)計出一套好的測試用例的確不是一件易事。
看過 關(guān)河 大哥的《測試用例設(shè)計的誤區(qū)》文章 和 周毅 的《使用用例場景 設(shè)計測試用例》挺有啟發(fā)的。
什么樣的測試用例才是好的測試用例
在這個的問題上,挺同意 關(guān)河大哥 的想法的,我們的測試不是為了找出系統(tǒng)中所有的 bug 而設(shè)計的,測試用例作用應(yīng)該盡可能的覆蓋系統(tǒng)的功能。在周毅的文章中,原話:一個好的測試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤。在這個觀點上,我并不怎么同意,由于公司的測試狀況不同,周毅的想法無法完全在我們公司進(jìn)行開展工作。現(xiàn)在很多小型的公司這個軟件開發(fā)流程還不夠成熟,測試的工作往往會被忽率,不是測試資源配備出問題,就是測試太過匆忙,很難完全執(zhí)行完整的測試流程。
在這樣的情形下,測試的重點不在于找出 bug ,而是為了對設(shè)計用例覆蓋的功能保證其準(zhǔn)確性,讓客戶在執(zhí)行操作中不發(fā)生錯誤。換句話說,測試的目的是為了讓客戶不發(fā)現(xiàn) bug ,而不是因為尋找 bug 才進(jìn)行測試。
這樣,測試設(shè)計人員就可以站在客戶的角度上,根據(jù)客戶的正常操作和誤操作作為設(shè)計的依據(jù)來設(shè)計用例;這個比站在純粹為了尋找系統(tǒng) bug 的角度來設(shè)計用例,會工作更加輕松,效果也更好。
所以,對用例覆蓋功能點就顯得非常重要。當(dāng)然,測試用例能夠發(fā)現(xiàn)更多的未發(fā)現(xiàn)的錯誤的確是一件非常好的事情,但是,鑒于目前中小公司的測試狀況和開發(fā)流程的成熟度,很難做到。在我們公司,我把“ 一個好的測試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤”作為測試小組今后目標(biāo)。