更新時間:2022-06-21 來源:黑馬程序員 瀏覽量:
軟件測試培訓中經(jīng)常提到自動化測試,自動化測試是指把以人為驅(qū)動的測試行為轉(zhuǎn)化為機器執(zhí)行的過程。實際上自動化測試往往通過一些測試工具或者框架,編寫自動化測試腳本,來模擬手工測試的過程。比方講,在項目迭代過程中,持續(xù)的回歸測試是一項非常枯燥且重復的任務(wù),并且測試人員每天從事重復性勞動,絲毫得不到成長,工作效率很低。此時,如果開展自動化測試就能幫助測試人員從重復、枯燥的手工測試中解放出來,提高測試效率,縮短回歸測試時間。
實施自動化測試之前,需要對軟件開發(fā)過程進行分析,以觀察其是否適合使用自動化測試。通常情況下,引入自動化測試需要滿足以下條件。
(1)項目需求變動不頻繁
測試腳本的穩(wěn)定性決定了自動化測試的維護成本。如果軟件需求變動過于頻繁,測試人員需要根據(jù)變動的需求來更新測試用例以及相關(guān)的測試腳本,而腳本的維護本身就是一個代碼開發(fā)的過程,需要修改、調(diào)試,必要的時候還要修改自動化測試框架,如果所花費的成本不低于利用其節(jié)省的測試成本,那么自動化測試便是失敗的。
(2)項目周期足夠長
自動化測試需求的確定、自動化測試框架的設(shè)計、測試腳本的編寫與調(diào)試均需要相當長的時間來完成,這樣的過程本身就是一個測試軟件測開發(fā)過程,需要較長的時間來完成。如果項目的周期比較短,沒有足夠的時間去支持這樣一個過程,那么自動化測試便無意義。
(3)自動化測試腳本可重復使用
如果費盡心思開發(fā)了一套近乎完美的自動化測試腳本,但是腳本的重復使用率很低,致使期間所耗費的成本大于所創(chuàng)造的經(jīng)濟價值,自動化測試便成為了測試人員的練手之作,而并非是真正可產(chǎn)生效益的測試手段了。
另外,在手工測試無法完成,需要投入大量時間與人力時也需要考慮引入自動化測試。比如性能測試、配置測試、大數(shù)據(jù)量輸入測試等。一般來說,自動化測試通常都會跟持續(xù)集成系統(tǒng)(比如Jenkuns)配合使用,關(guān)于持續(xù)集成的相關(guān)內(nèi)容我們將在后面的小節(jié)講解。