1.1 自動化測試的意義程序員
什麼是自動化測試?web
簡單講,自動化測試就是經過編寫代碼,運行程序,完成須要手工須要作的軟件測試任務。編程
通常的測試對象是計算機軟件,包括但不限於Windows應用,web應用,server服務等。函數
自動化測試的優點:工具
1. 可重複
一旦編寫好自動化測試腳本或者測試工具,即可以重複使用,使得咱們能夠避免繁瑣重複的手工測試。性能
2. 可靠性單元測試
手工測試在必定條件下存在不肯定性,偶爾會出現漏測或者誤判的狀況,可是自動化的預期輸入和輸出的肯定性,能夠彌補此類缺陷。測試
3. 速度快,時間自由編碼
自動化測試的執行速度比人類快得多;並且不受時間、地點、人員、任務量的限制。spa
好比說測試腳本能夠隨時執行,設置定時任務,腳本就能夠在下班後執行。
4. 可編程
自動化測試能夠完成一些手工不能完成的測試任務,例如性能測試。
自動化測試的劣勢:
1.前期須要投入額外的資源
2.要求測試人員要有編碼能力
3.對項目及系統穩定性要求高
1.2 自動化測試的分類
單元測試自動化
單元測試是用來對一個模塊、一個函數或者一個類來進行正確性檢驗的測試工做,主要由程序員(部分公司會有白盒測試工程師)來完成。
UI測試自動化
基於Web UI或者客戶端應用界面的自動化測試,經過自動化測試腳本,操做UI界面,模擬手工操做進行功能測試。
API接口測試自動化
基於應用程序的接口,使用自動化測試工具,模擬客戶端發送請求,主要關注接口的輸入和輸出。
App移動應用測試自動化
APPUI自動化測試範疇:基於App UI的自動化測試,經過測試工具,模擬手工操做移動應用APP的測試。
性能測試範疇:APP性能測試,主要關注資源消耗,頁面加載速度,崩潰率等。
性能測試
性能測試也是自動化測試的一種。
經過自動化的測試工具模擬多種正常、峯值以及異常負載條件來對系統的各項性能指標進行測試。
1.3 自動化測試的使用範疇
什麼狀況下適合作自動化測試?
自動化測試腳本的編寫和維護成本相對較高,從ROI來說,自動化腳本的使用率越高,自動化測試的價值越大。
在測試用例庫中,執行頻率越高的用例,編寫自動化測試腳本的價值越大。
此外,穩定的產品,較少的需求變動也是作自動化測試的基礎。
哪些業務/類型須要作自動化?
產品的核心流程、關鍵業務
迴歸測試
冒煙測試
數據驅動測試
壓力測試
什麼時候適合開展自動化測試?
在項目中,項目迭代上線後不會有太大變更的功能模塊時;
在項目中,項目上線前含有數據驅動的重複性測試工做時;
自動化測試腳本執行是在執行冒煙測試或者回歸測試時,具體的執行場景,須要根據項目的實際狀況而定。