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