自動化測試消亡的原因及應對措施 自動化測試工具
“自動回歸測試所面臨的最大問題就是退化和過早消亡”,當自動化測試在如火如荼的進行過程中,一個突如其來的軟動件變更、重構、開發平臺變更、開發工具變更、關鍵人員離職可能會導致整個自化測試流程的夭折。聽起來有些聳人聽聞,但當現實擺在面前的時候,我們不得不思考這樣一個問題,如何防止這類現象的發生,當這種現象即將到來時,我們又應該怎樣做呢?
什么原因會導致自動化測試的退化和過早消亡?
1、未提前通知的軟件變更:當我們已經積累了大量的自動化腳本,而且腳本中存在大量的被引用測試包,當發生的變更隱藏在某個或某些個被引用測試包的時候,測試人員并沒有得到應得的提前通知,而是在發現自動化測試失效的時候才發現問題的嚴重性,隨之帶來的失效診斷、問題修復、腳本維護上的時間打斷了我們目前的測試進程,為了不過多影響軟件發布,項目組不得不采取手動替代的方案讓大家繼續測試,自動化測試被迫擱置一邊;
2、軟件重構:當產品進入市場,由于性能或其他問題并不被客戶看好的時候,我們會考慮到軟件的大規模重構,由此帶來的未知的界面和業務變更會使得我們前期積累的大批量自動化測試腳本無法復用,除了一些文檔、方法、策略,其他都成了明日黃花,同時,開發語言、開發工具、平臺的變更同樣會導致這類問題;
3、關鍵自動化測試人員的離職:當一些測試策略、文檔、規范一直存放于一個或些個自動化測試人員的腦海、未被公布的測試機的某個路徑下的時候,關鍵自動化測試人員的離職也會導致自動化測試的停滯不前、日益退化;
如何應對與避免?
1、軟件架構與設計階段就應當考慮到自動化測試:軟件測試并不僅僅是軟件測試工程師自己的事情,需要架構師、需求人員、系統工程師、開發人員的協助,比如,在軟件被開發出來之前就可以在軟件原型上進行自動化測試設計、腳本編制等,這就要求原型開發人員、需求人員的大力支持,需求文檔盡量精確詳細,盡量避免變更,軟件開發過程中,及時對原型進行維護等;
2、時刻考慮到維護:安排專門的自動化腳本維護工程師在特定的時間對腳本進行及時維護,而不是在發現測試大量失效的情況下再亡羊補牢;
3、不要集權:自動化測試策略、自動化測試文檔、資料等不要集中在一個人手中,要有特定的機器存放,自動化測試進行過程中積累的各種經驗和教訓要及時付諸文檔,或者及時溝通與培訓; 軟件測試
4、規范:有嚴格的自動化腳本編寫規范、每個里程碑的自動化測試目標明確、每個里程碑的測試策略明確、腳本編制人、編制日期、測試功能點、期望結果等要清晰可辨,這些都是為了腳本的易維護性而考慮的;
5、擺脫被動:自動化測試不要做軟件開發的附屬物,而是要驅動和指引軟件開發,當發現問題時決不手軟,比如軟件性能問題,不要到軟件開發后期再考慮到性能測試,時刻積累數據,發現問題及時通知,而不是到了一定程度,忍無可忍時再去通知,當軟件不得不進行重構時,發愁的不僅是開發,還有測試。
總之,制定嚴格的自動化測試流程、提前考慮到各種風險、保持順暢的溝通、考慮到維護、八方支援、層層把關,才能真正發揮自動化測試的功用,而不至于讓大家失望。
文章來源于領測軟件測試網 http://www.kjueaiud.com/