前言
什么是自動化測試
把人對軟件的測試行為轉化為由機器執行測試行為的一種實踐。
例如GUI自動化測試,模擬人去操作軟件界面,把人從簡單重復的勞動中解放出來,如果不了解可以參考下這個例子:Selenium實現微博自動化運營:關注、點贊、評論
本質是用代碼去測試另一段代碼,屬於一種軟件開發工作,已經開發完成的用例還必須隨着被測試對象的改變而更新,因此,還有額外的維護成本。
自動化測試有哪些分類
按測試目的分類
- 功能自動化測試
- 性能自動化測試
按測試對象分類
- Web應用測試
- APP測試
- 接口測試
- 單元測試
為什么需要自動化測試
- 可以替代大量的手工機械重復性操作,測試工程師可以把更多的時間花在用例設計和新功能的測試上
- 可以大幅度提升回歸測試的效率,非常適合敏捷開發過程
- 可以更好地利用無人值守時間,去更頻繁地執行測試
- 可以高效實現某些手工測試無法完成或代價巨大的測試類型,例如:7*24小時持續運行的系統穩定性測試和高並發場景的壓力測試
- 可以保證每次執行的操作具有一致性和可重復性,不會受人的感情因素影響。
Postman自動化測試演示
postman大家都用得挺多的,使用方法就不介紹了,詳情可以查看:官方文檔
1.新建集合
就是為了給待測試接口統一分類一下用
2.新建接口
下面是我添加的
3.填寫自動化測試腳本
例如,我需要測試幾點
- http狀態碼200
- 返回的json的code碼是0
- 接口返回時間不小於1000毫秒,腳本如下
//查看httpCode碼
tests["接口狀態碼200"] = responseCode.code === 200;
//判斷請求時間
tests["返回時間小於1000毫秒"] = responseTime < 1000;
//返回body轉json
var data = JSON.parse(responseBody);
//檢查json數據
tests['code碼必須為0']= data.code==0
測試結果結果如下
4.錄入所有接口
然后接下我要對所有的接口進行這樣的測試,把這些接口都錄入,如下
5.執行自動化測試
點擊集合的Run按鈕
彈出如下界面,可以填寫相應的參數,這里我用默認的
點擊Run,執行結果如下
可以看到,我們測試了32個接口,其中25個通過,7個失敗,有的是時間不滿足要求,有的是狀態碼不對。
針對這個結果,我們可以自己去優化接口,就是這么簡單,light weight baby!
此外,Postman還推出了命令行版本Newman,可以配合Jenkins做接口自動化測試和持續集成,具體可以參考Newman+Jenkins實現接口自動化測試