自動化測試
1.什麼是自動化測試?
顧名思義,就是整個測試過程不需要每一步都進行人爲測試干預,而是通過人爲設定一些測試行爲(代碼)來使得計算機自動執行測試代碼的過程。簡言之,就是將人爲驅動的測試行爲轉換爲計算機執行的過程。
2.常見的自動化測試工具
-
selenium:web測試
-
專注於web端的自動化測試工具
-
免費
-
小巧
-
支持多平臺:windows,linux,mac
-
支持多瀏覽器:chrome,ie,ff
-
支持分佈式測試用例的執行
-
-
appium:app功能測試
-
soapui:接口自動化測試
3.自動化測試方法
測試對象:UI、接口、代碼
測試過程:單元測試、集成測試、系統測試
執行者:測試人員、開發人員
-
自動化測試可以在整個測試過程中的任何一個階段實施,前提是功能相對穩定
-
測試人員一般在系統測試時進行自動化測試
-
集成測試階段多進行自動構建、部署、以及冒煙測試的自動化
-
單元測試對代碼級別進行測試,執行單元測試用例,典型框架如junit,該部分多由開發人員實施
4.自動化測試的優勢
任何一種新興技術的提出是爲了更好的解決現有問題。正如自動化測試的提出可以在一定條件下節省人力物力財力。
比如在大型系統項目開發過程中,因爲項目本身巨大,在程序功能修改頻繁的情況下,測試人員手動測試的壓力非常大,此時使用自動化測試無疑是更好的選擇。雖然在自動化測試時前期需要人力投入較大,但是後期進入維護階段,可以節省大量資源。
-
減少重複測試時間,實現快速回歸測試
-
減少人爲測試出現的失誤
-
可以進行更繁瑣的測試
-
可以執行手工測試到達不了的測試
-
提高資源利用率
-
提高測試腳本的重用性
5.實施自動化測試
5.1自動化測試適應的對象
實施自動化測試的三個前提:需求變化不頻繁、項目週期長、交互性較弱
-
需求變動頻繁;測試腳本的重用性低,維護成本大,性價比低
-
項目週期短;自動化測試腳本使用次數少,性價比低
-
交互性強;需要人工過多幹預,自動化測試實施困難
5.2自動化測試實施的過程
-
分析:分析系統核心體系結構
-
設計:設計測試用例
-
實現:實現自動化測試腳本
-
執行:執行腳本
-
總結:測試結果分析總結
-
維護:自動化腳本維護
-
分析:分析自動化測試用例的覆蓋風險和腳本維護成本
5.3自動化測試實施失敗的因素
-
期望值過高;100%的測試自動化是不現實的。
-
收益成本認識不清;成本 = 實現成本+運行維護成本,自動化測試的收益是由自動測試腳本的利用率決定的。