1. 自動化測試html
爲什麼要開展自動化測試?手工測試與自動化測試相比孰優孰劣呢?本節針對該問題展開討論與講解。ide
測試工做中,每每須要面對不少問題。常常能夠聽到測試工程師的抱怨,其抱怨內容大致以下:工具
重複、頻繁的工做太多;測試
一樣的工做,人工重複作的次數越多,抵觸情緒較大;優化
測試工做任務重,測試周期短,工做壓力大;spa
創新性的工做太少,沒法體現本身的能力與本身的人生價值;視頻
測試結果有時須要精確到秒,手工測試來作太難了。htm
那如何將測試工程師從繁雜的測試工做中解脫出來?如何體現測試工程師的價值,發揮測試工程師的特長?又如何將測試結果精確到秒呢?blog
上述問題都可以經過自動化測試來解決,這樣一方面提升了測試的工做效率,另外一方面能夠經過自動化測試提高測試工程師的價值,改變大部分人對測試工做的觀點。圖片
1. 1. 自動化測試定義
既然自動化測試能夠彌補手工測試的一些不足,並能體現測試工程師的價值,那何爲自動化測試?它又具有哪些特性?
自動化測試即藉助於測試工具、依照測試規範,從局部或所有代替人工進行測試以及提升測試效率的過程。其具有以下主要特徵:
自動測試過程是經過模擬人工操做,完成對被測試系統的輸入,而且對輸出進行檢驗的過程。
自動測試是由軟件代替人工操做,對被測試系統的GUI發出指令,模擬操做,完成自動測試過程。
相對於手工測試,自動化測試可歸納爲以下幾點:
優化成本:下降勞動量,下降測試成本;
可靠:提升測試的全面性,提升測試精確度;
快速:加快測試速度;
規範化:提供規範化的測試流程;
可重用:提升測試的重用性。
何時適合開展自動化測試呢?
測試工做中,被測軟件(或系統)須要多個版本的迭代。根據公司(或項目)的不一樣,版本發佈的時間也存在差別。
開展自動化測試以前,首先需依照測試用例,對被測功能模塊展開手動測試。當手動測試執行經過後,使用自動化測試工具,將手動測試的操做過程錄製下來,並將正確的結果進行保存(被稱爲指望結果)。因爲自動化測試工具記錄的爲關鍵性功能模塊,被測軟件(系統)的下一版本發佈後,該模塊仍應進行測試。
在軟件新版本的測試中,啓動自動化測試工具,運行前面錄製好的自動化測試腳本。對比實際運行後的結果與預期結果,如不一致,則肯定爲缺陷;如一致,則認爲該功能模塊在新的版本中測試經過。
到此,能夠得出一條結論:自動化測試,適合在被測軟件(或系統)版本相對穩定後開展。如軟件版本相對不太穩定,則會形成使用自動化測試工具錄製的腳本在新的版本中回放失敗,這樣既浪費人力,又浪費時間。