談到自動(dòng)化測(cè)試,一般就會(huì)提到測(cè)試工具。許多人覺得使用了一、兩個(gè)測(cè)試工具就是實(shí)現(xiàn)了測(cè)試自動(dòng)化,這種理解是不對(duì)的,至少是片面的。的確,測(cè)試工具的使用是自動(dòng)化測(cè)試的一部分工作,但“用測(cè)試工具進(jìn)行測(cè)試”不等于“自動(dòng)化測(cè)試”。那什么是“自動(dòng)化測(cè)試”? 半自動(dòng)化測(cè)試過程,算不算自動(dòng)化測(cè)試?是否可以為“自動(dòng)化測(cè)試”給出如下定義?
以自動(dòng)化的方式完成測(cè)試?
測(cè)試過程的自動(dòng)化?
將手工測(cè)試的過程變成了自動(dòng)化測(cè)試的過程?
擺脫手工測(cè)試的各種途徑和方法?
自動(dòng)化測(cè)試是相對(duì)手工測(cè)試而存在的,所以自動(dòng)化測(cè)試的真正含義可以理解為“一切可以由計(jì)算機(jī)系統(tǒng)自動(dòng)完成的測(cè)試任務(wù)都已經(jīng)由計(jì)算機(jī)系統(tǒng)或軟件工具、程序來承擔(dān)并自動(dòng)執(zhí)行”。它包含了下列3層含義:“一切”,不僅僅指測(cè)試執(zhí)行的工作——對(duì)被測(cè)試的對(duì)象進(jìn)行驗(yàn)證,還包括測(cè)試的其它工作,如缺陷管理、測(cè)試管理、環(huán)境安裝、設(shè)置和維護(hù)等。
“可以”,意味著某些工作無法由系統(tǒng)自動(dòng)完成,如腳本的開發(fā)、測(cè)試用例的設(shè)計(jì),需要?jiǎng)?chuàng)造性,其工作需要手工處理。
即使由系統(tǒng)進(jìn)行自動(dòng)化測(cè)試,還少不了人的干預(yù),包括事先安排自動(dòng)化測(cè)試任務(wù)、測(cè)試結(jié)果分析、調(diào)試測(cè)試腳本等。
軟件測(cè)試嚴(yán)ge意義上,“自動(dòng)化測(cè)試(Automated Testing)”不等于“測(cè)試自動(dòng)化(Test Automation)”。自動(dòng)化測(cè)試,模擬手工測(cè)試步驟,通過執(zhí)行程序語言編制的測(cè)試腳本自動(dòng)地測(cè)試軟件,自動(dòng)地實(shí)施軟件的單元測(cè)試、功能測(cè)試、負(fù)載測(cè)試或性能測(cè)試等。自動(dòng)化測(cè)試集中體現(xiàn)在實(shí)際測(cè)試執(zhí)行(test execution)的過程,也就是由手工逐個(gè)地運(yùn)行測(cè)試用例的操作過程被測(cè)試工具自動(dòng)執(zhí)行的過程所代替。自動(dòng)化測(cè)試,強(qiáng)調(diào)借助工具(不僅僅是工具,有時(shí)包括策略和工件)來完成測(cè)試的執(zhí)行,也就是用工具來幫助或輔助測(cè)試,這個(gè)執(zhí)行過程可能是全自動(dòng)的,也可能是半自動(dòng)的。
測(cè)試自動(dòng)化的要求高得多,側(cè)重說明將測(cè)試用自動(dòng)化設(shè)計(jì)和實(shí)現(xiàn)的過程,即所有的測(cè)試工作都能有計(jì)算機(jī)系統(tǒng)自動(dòng)完成,包括:測(cè)試環(huán)境的搭建和設(shè)置,如上載安裝包到服務(wù)器;腳本自動(dòng)生成,如根據(jù)UML狀態(tài)圖、時(shí)序圖等生成可運(yùn)行的測(cè)試腳本;測(cè)試數(shù)據(jù)的自動(dòng)產(chǎn)生,例如自動(dòng)產(chǎn)生數(shù)據(jù)負(fù)載測(cè)試所需要的大量數(shù)據(jù);測(cè)試操作步驟的自動(dòng)執(zhí)行,包括測(cè)試執(zhí)行過程的控制;測(cè)試結(jié)果分析,實(shí)際輸出和預(yù)期輸出的自動(dòng)對(duì)比分析;測(cè)試流程的自動(dòng)處理,即測(cè)試工作流的自動(dòng)實(shí)現(xiàn),包括測(cè)試計(jì)劃復(fù)審和批準(zhǔn)、測(cè)試任務(wù)安排和執(zhí)行、缺陷生命周期等流程的自動(dòng)化處理。
測(cè)試報(bào)告自動(dòng)生成功能等
這樣,測(cè)試自動(dòng)化意味著測(cè)試全過程的自動(dòng)化和測(cè)試管理工作的完全自動(dòng)化,是測(cè)試工程師所追求的一種理想境界,但是很難實(shí)現(xiàn)的。往往不能完全通過全自動(dòng)化過程來完成一個(gè)完整的測(cè)試任務(wù),自動(dòng)化到不需要人工參與的程度是不現(xiàn)實(shí)的。雖然不能完全實(shí)現(xiàn)那種理想境界,但是我們每時(shí)每刻可以向這個(gè)方向去思考,優(yōu)化每項(xiàng)工作,一切可以由計(jì)算機(jī)系統(tǒng)自動(dòng)完成的測(cè)試任務(wù)都已經(jīng)由計(jì)算機(jī)系統(tǒng)或工具來承擔(dān)并自動(dòng)執(zhí)行。
在一般情況下,人們并不嚴(yán)ge區(qū)分“自動(dòng)化測(cè)試”和“測(cè)試自動(dòng)化”,就是通過工具或程序來對(duì)軟件進(jìn)行測(cè)試,一般不需要大量的手工操作來完成測(cè)試,而只要很少的人工干預(yù)。自動(dòng)化測(cè)試,理應(yīng)從工作效率和產(chǎn)品質(zhì)量的目的出發(fā),而不是為了自動(dòng)化而自動(dòng)化,在某些時(shí)刻,也可能得不償失,即投入過大,產(chǎn)出遠(yuǎn)遠(yuǎn)小于投入。脫離了目的,測(cè)試人員可能會(huì)變成自動(dòng)化測(cè)試的奴隸。奢想做到百分之百地實(shí)現(xiàn)自動(dòng)化測(cè)試,不僅不現(xiàn)實(shí),所引起的代價(jià)可能會(huì)非常大,而且可能引起負(fù)面性,造成質(zhì)量水平的降低。
最后,我們還不得不承認(rèn),自動(dòng)化測(cè)試和手工測(cè)試往往交織在一起,相互補(bǔ)充,工具執(zhí)行過程往往需要人工分析,手工測(cè)試時(shí)也可以借助工具處理某些數(shù)據(jù)、日志或顯示某些信息。也就是說,不是試圖用自動(dòng)化測(cè)試來代替所有的手工測(cè)試,而應(yīng)該在尊重手工測(cè)試的同時(shí),盡量采用自動(dòng)化測(cè)試,根據(jù)各自的特點(diǎn)充分發(fā)揮各自的優(yōu)勢(shì),使手工測(cè)試和自動(dòng)化測(cè)試實(shí)現(xiàn)完美結(jié)合。
新聞熱點(diǎn)
疑難解答