任憲臻
摘要:自動化測試是指軟件測試的自動化。隨著軟件測試地位的提高和測試的不斷深入,應(yīng)用自動化測試工具的企業(yè)也越來越多。在軟件測試中正確選擇和使用自動化測試工具的,既可以提高測試的效率和質(zhì)量,又可以降低測試成本。本文主要從自動化測試的概念、自動測試工具的分類,以及自動化測試工具在軟件測試中應(yīng)用優(yōu)勢與不足等方面給出闡述。
關(guān)鍵詞:自動化測試;白盒測試工具;黑盒測試工具
中圖分類號:TP31 文獻標識碼:A 文章編號:1007-9416(2017)03-0251-01
1 引言
在軟件測試中傳統(tǒng)的手工測試占絕對優(yōu)勢,大約占到了測試總數(shù)的89% 。手工測試是指測試人員手工編寫測試用例,其優(yōu)點是可以發(fā)現(xiàn)比較多的缺陷,但缺點是重復(fù)工作多、測試工作量大,進行回歸測試時比較容易出錯,而且代價較高。而且有一些測試,如壓力測試、性能測試是手工測試實現(xiàn)困難,或者不可能進行的測試,在這種情況下,需要借助于自動化測試。
自動化測試是指使用一種自動化測試工具,驗證各種軟件測試的需求,包括測試活動的管理與實施。通過使用自動化測試工具,控制軟件測試的執(zhí)行(如對比預(yù)期輸出和實際輸出結(jié)果)。自動化測試可以節(jié)約測試成本,提高測試質(zhì)量,完成一些手工測試不可能實現(xiàn)的測試,它是手工測試的一種補充,但是卻不可能完全替代手工測試。本文主要闡述了自動化測試的概念、分類,以及自動化測試工具的優(yōu)缺點,并給出了選擇合適的自動化測試工具的建議。
2 自動化測試工具的分類
根據(jù)測試方法的不同,自動化測試工具可以劃分為黑盒測試工具、白盒測試工具、測試管理工具、性能測試工具。
在黑盒測試場合,通常使用黑盒測試工具。通過使用黑盒測試工具,可以使黑盒測試的工作量大幅度地減輕。應(yīng)用黑盒測試工具時,主要使用的手段是腳本的錄制和回放,模擬用戶操作,記錄實際輸出結(jié)果,并將其與預(yù)定的標準結(jié)果進行比較。TeamTest和QACenter是黑盒測試工具的代表。
白盒測試工具主要是針對代碼進行測試,根據(jù)測試原理的不同,它又分為動態(tài)測試和靜態(tài)測試工具。靜態(tài)測試工具的代表主要有Logiscope軟件和PRQA軟件,其主要功能是在不執(zhí)行程序的前提下,掃描代碼語法、分析軟件特性、查找代碼中不合規(guī)范的地方。與靜態(tài)測試工具相反,動態(tài)測試工具則要求運行實際被測試的系統(tǒng)來進行測試。Purify系列和DevPartner是動態(tài)測試工具的代表。
對測試計劃、測試用例、測試實施、缺陷的跟蹤進行管理時,需要用到測試管理工具,TestDirector和Test Manager是測試管理工具的代表。
軟件性能測試的難點在于仿真的過程,比如如何模擬成千上萬的實際用戶來對服務(wù)器造成負載的過程,以及如何從千差萬別的測試數(shù)據(jù)中分析并獲取有效的測試結(jié)果,在這種情況下,從性能優(yōu)化方面考慮,可以借助于性能測試工具提高測試的效率,提升測試結(jié)果的準確性。目前市面上有多款性能測試工具,其中LoadRunner是應(yīng)用比較廣泛、受到好評比較多的一款軟件。LoadRunner是一種預(yù)測系統(tǒng)行為和性能的工業(yè)標準級負載測試工具,可以通過模擬上千萬用戶實施并發(fā)負載及實時性能監(jiān)測的方式來確認和查找問題。
3 自動化測試工具的優(yōu)缺點
自動化測試突破了手工測試的局限性,很多通過手工測試無法做到都可以通過自動化測試工具來完成。例如,為了測試某網(wǎng)站服務(wù)器負載的壓力和并發(fā)測試,應(yīng)用自動化測試工具,就可以很簡單地實現(xiàn)同時模擬幾萬人,甚至是數(shù)十萬人,同時登錄訪問,測試網(wǎng)站服務(wù)器的承載能力,而這些都很難通過測試員的手工測試來完成。此外,驗證系統(tǒng)是否能夠穩(wěn)定運行的可靠性測試,也無法通過手工測試完成,也需要自動化測試工具的幫助。
在測試中引入自動化測試工具,既可以實現(xiàn)查找缺陷的廣泛性,又可以提高查找缺陷的速度,同時可以完成許多重復(fù)性的測試,因為自動化測試每次運行相同的腳本,所以不再需要大量的軟件測試人員手動執(zhí)行測試用例,而且自動化測試工具可以在非常短的時間內(nèi)執(zhí)行大量的測試用例,這樣測試的效率就得到了極大提高。
自動化測試工具雖然擁有上述眾多優(yōu)勢,但是它本身也有其不可避免的缺點,如在某些情況下,自動化測試并沒有想象中那么完美,并不能幫助解決目前遇到的所有問題,甚至也沒有發(fā)現(xiàn)幾個問題;其次,如果測試人員缺乏對自動化測試工具的充分培訓(xùn),可能無法更深層次地使用工具,從而導(dǎo)致工具的使用效率低下;此外,自動化測試中維護測試腳本的工作量比較大,在腳本開發(fā)過程中,如果更多依賴的是測試人員的經(jīng)驗, 這樣就無法保證腳本的質(zhì)量,從而直接影響測試結(jié)果的正確性。
4 結(jié)語
在軟件測試項目中,可以根據(jù)項目需求的穩(wěn)定性、項目開發(fā)周期的長短、自動化測試腳本的可重復(fù)使用性的來衡量該項目是否適合引入自動化測試工具進行測試。如果在整個開發(fā)過程中,軟件需求變化頻繁,或者項目開發(fā)周期比較短,那么該項目就不適合使用自動化測試工具。
在為項目選擇自動化測試工具時,因為不同的測試工具有其自身的特點和適用范圍,所以一定要根據(jù)實際問題和需要,認真分析該工具是否適合當前應(yīng)用,然后選擇一款性價比較高的自動化測試工具。
參考文獻
[1]朱少民.全程軟件測試(第2版)[M].電子工業(yè)出版社,2014.
[2]浦云明,陳黎震.基于劃分的等價類測試[J].計算機工程與設(shè)計,2009.