自動化測試是對手工測試的一種補充,自動化測試不可能完全替代手工測試,因為很多數據的正確性、界面是否美觀、業務邏輯的滿足程度等都離不開測試人員的人工判斷。而僅僅依賴手工測試的話,則會讓測試過于低效,尤其是回歸測試的重復工作量對測試人員造成了巨大的壓力。
因此,可以得出一個結論:手工測試與自動化測試與一個都不能少,關鍵是在合適的地方使用合適的測試手段。
1.自動化測試
自動化測試是軟件測試發展的一個必然趨勢。隨著軟件技術的不斷發展,測試工具也得到長足的發展,人們開始利用測試工具來幫助自己做一些重復性的工作。軟件測試的一個顯著特點是重復性,重復讓人產生厭倦的心理,重復使工作量倍增,因此人們想到用工具來解決重復的問題。
很多人一聽到自動化測試就聯想到基于GUI錄制回放的自動化功能測試工具,如QTP、Robot、WinRunner等。實際上自動化測試技術的含義非常廣泛,任何幫助流程的自動流轉、替換手工的動作、解決重復性問題以及大批量產生內容,從而幫助測試人員進行測試工作的相關技術或工具的使用都叫自動化測試技術。例如,一些測試管理工具能幫助測試人員自動地統計測試結果并產生測試報告,編寫一些SQL語句插入大量數據到某個表中,編寫腳本讓版本編譯自動進行,利用多線程技術模擬并發請求,利用工具自動記錄和監視程序的行為以及產生的數據,利用工具自動執行界面上的鼠標單擊和鍵盤輸入等。
注意:自動化測試的目的是幫助測試,它可能部分地替代手工測試,但是不可能完全替代測試。
2.手工測試
手工測試有其不可替代的地方,因為人具有很強的判斷能力,而工具沒有。手工測試不可替代的地方至少包括以下幾點。
測試用例的設計:測試人員的經驗和對錯誤的判斷能力是工具不可替代的。
界面和用戶體驗測試:人類的審美觀和心理體驗是工具不可模擬的。
正確性的檢查:人們對是非的判斷、邏輯推理能力是工具不具備的。
自動化測試有很強的優勢,借助計算機的計算能力,可以重復地、不知疲倦地運行,對于數據能進行精確的、大批量的比較,而且不會出錯。由此看來,手工測試和自動化測試是一個都不能少,而且應該有機地結合,充分利用各自的優勢,為測試人員查找Bug提供各種方法和手段。
注意:自動化測試的應用是一個需要詳細考慮的問題,尤其是自動化測試工具的引入問題。
不要為了應用工具而進行自動化測試,工具是為了自動化測試而產生的,有時候工具可能完全失效,因為工具不可能滿足和適應所有軟件的需求,此時,就需要測試人員自己動手編寫程序或腳本來實現自動化了。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/