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