自動化測試:
指功能測試,所做的程序或系統,包括正常情況和異常情況,利用機器來執行的過程
常用的自動化測試工具:
QTP, selenium, Rational Robot ,jmeter, appium, soapui, Loadrunner
selenium基於Web的自動化測試工具
特點:
免費
小巧
支持多平臺
支持分佈式測試用例的執行,可以把測試用例分佈到不同的測試機器執行,相當於分發機的功能。
自動化測試框架包含自動化測試工具
自動化測試框架一般分爲:兩個層次:上層是管理整個自動化測試的開發,執行以及維護,在比較大的項目中,它體現重要的 作用。下層主要是測試腳本的開發,充分的使用相關的測試工具,構建測試驅動,並完成測試業務邏輯
自動化測試的演變:測試工具---數據驅動--關鍵字驅動--測試框架--測試平臺
自動化測試方法:
測試對象:UI,接口,代碼
測試過程:單元測試,集成測試,系統測試
執行人員:測試人員,開發人員
注意:
自動化測試可以在整個測試過程中任何一個階段實施,前提是功能相對穩定
測試人員一般在系統測試時進行自動化測試
集成測試階段多進行自動構建,部署,以及冒煙測試的自動化
Ui自動化:
用例維護量大
頁面相關性強,必須後期介入
UI測試適合與界面變動較小的項目
接口自動化測試:
可在產品前期介入
用例維護量小
頁面相關性小
適合接口變動較小,界面變動頻繁的項目
自動化測試的優勢:
1.減少大型項目的人力投入
2.減少重複測試的時間,減少人爲錯誤
3.可以運行更多更繁瑣的測試
4.可以執行一些手工測試困難或不可能進行的測試
5.更好的利用資源
6.測試具有一致性和重複性
7.測試腳本的重用性
不適合做自動化測試的項目:
- 需求變動頻繁的項目,自動化腳本不能重複使用,維護成本太大,性價比低
- 項目週期短,自動化腳本編制完成後使用次數不多。
- 交互性較強的項目,需要人工干預的項目,自動化無法實施
適合做自動化的項目:
- 產品型項目:功能變動不大
- 機械比較頻繁的測試,週期長
自動化測試的過程:
- 分析:總體把握系統邏輯,分析出系統的核心體系架構。
- 設計:設計測試用例,測試用例要足夠明確和清晰,覆蓋面廣而精
- 實現:實現腳本,有兩個要求一是斷言,二是合理的運用參數化
- 執行:執行腳本遠遠沒有我們想象中的那麼簡單,腳本執行過程中的異常需要我們仔細的分析原因
- 總結:測試結果的分析,和測試過程的總結是自動化測試的關鍵
- 維護:自動化測試腳本的維護是一個難以解決但必須解決的問題
- 分析:在自動化測試過程中深刻的分析自動化用例的覆蓋風險和腳本維護的成本
自動化測試實施失敗的因素:
- 期望值過高
- 對收益和成本認識不清楚
發展方向:
- 自動化腳本的執行,維護和結果分析
- 自動化腳本的編寫
- 自動化測試方案的設計,框架的選型
- 自動化測試框架的編碼實現
- 自動化測試框架的設計
自動化測試需要了解的技能:
- 基本業務
- 業務的技術框架
- 懂得功能測試
- 懂得一種編程語言
- 數據庫,操作系統
- 瞭解測試框架