傳統(tǒng)的自動化測試工具,都是先編寫測試用例、編寫測試腳本,然后做參數(shù)化、檢查點(diǎn),通過批量執(zhí)行來發(fā)現(xiàn)問題。
傳統(tǒng)方式的問題在于:
1,對測試工程師要求比較高。大多數(shù)的測試工程師并不會編寫測試腳本,從而導(dǎo)致自動化測試開展比較困難;
2,測試的投入很大。我們需要搭建自動化測試平臺,一次執(zhí)行海量的自動化測試用例,才會比較有效果。但是這樣做會導(dǎo)致投入很大。
3,測試用例的覆蓋率不足。由于編寫測試用例的代價(jià)比較高,因此導(dǎo)致自動化測試的用例相對比較少,造成覆蓋率不足。從實(shí)踐的情況來看,往往只能夠覆蓋到主要的、正確的流程,對于比較少的分支,比較難以覆蓋。
有沒有其他的方法,來提升自動化測試的范圍?
我們知道,自動化測試的優(yōu)勢在于:1)執(zhí)行的代價(jià)小,執(zhí)行速度快;2)適合海量執(zhí)行用例,比較能夠覆蓋到各個(gè)分支。但是,由于測試用例設(shè)計(jì)的問題,以及執(zhí)行方式的問題,從而導(dǎo)致自動化測試使用的效果不佳。
因此,我們是否可以參照appscan等測試用具的做法,來解決以上的問題?大概的想法是:
1,測試腳本仍然需要,因?yàn)闆]有測試腳本,就無法進(jìn)行自動化執(zhí)行;
2,參數(shù)化,以及在參數(shù)化之后,對各個(gè)輸入字段的輸入范圍進(jìn)行描述和約束;
3,允許用戶定義各種規(guī)則,用來生成海量的測試用例;
4,海量執(zhí)行。生成的測試用例,可能達(dá)到幾萬到幾十萬條。如果使用接口測試,可能需要執(zhí)行幾個(gè)小時(shí),甚至十幾個(gè)小時(shí),執(zhí)行所有的自動生成的測試用例;
5,能夠自動判定是否執(zhí)行失敗。這就需要預(yù)先定義規(guī)則,對執(zhí)行的結(jié)果,使用規(guī)則進(jìn)行判定,來決定測試用例是否執(zhí)行失敗。
6,人工復(fù)核。人工來篩選和查看測試用例,看是否存在漏測、誤報(bào)的情況。
我們希望通過這樣的方法,來單個(gè)的執(zhí)行,生成海量的自動化測試用例,并且同步進(jìn)行執(zhí)行。當(dāng)執(zhí)行完成,我們也可以從中篩選出有效的、典型的測試用例,加入到常用的測試用例庫中,用來執(zhí)行回歸測試。
推薦閱讀:
本文內(nèi)容不用于商業(yè)目的,如涉及知識產(chǎn)權(quán)問題,請權(quán)利人聯(lián)系SPASVO小編(021-60725088-8054),我們將立即處理,馬上刪除。