蟲師的接口自動化學習筆記(蟲師原創----http://fnng.cnblogs.com)
web應用接口測試分為:
1、模塊接口測試:主要測試模塊之間的調用與返回
2、web接口:
a、服務器接口:測試瀏覽器與服務器的接口
b、外部接口:指調用的接口由第三方系統提供
接口測試的意義:
1、保證系統的穩定性
2、將bug控制在項目前期
3、檢查服務器的異常處理能力
我們通常把前端的驗證稱為弱驗證,因為它很容易被繞過,這個時間如果只站在功能的層面時行測試,就很難發現一些安全的問題。不以前功能為入口的接口測試就會發揮出它的作用。
舉例,某接口默認需要傳三個參數,因為前端頁面控制三個參數都不能為空。但是直接調用該接口時只傳了一個參數,而接口並沒有對只傳一個參數的情況進行處理,結果將直接拋出了系統錯誤信息。對於這個錯誤而言,只從功能測試層面進行測試是無法測到的。
接口測試要點
1、檢查接口返回的數據是否與預期的結果一致。
2、檢查接口的容錯性,假如傳遞數據的類型錯誤時是否可以處理。例如上面的例子是支持整數,傳遞的是小數或字符串呢?
3、接口參數的邊界值。例如,傳遞的參數足夠大或為負數時,接口是否可以正常處理。
4、接口的性能,接口處理數據的時間也是測試的一個方面。牽扯到內部就是算法與代碼的優化。
5、接口的安全性,如果是外部接口的話,這點尤為重要。
web接口測試要點:
1、請求是否正確,默認請求成功是200,如果請求錯誤也能返回404、500 等。
2、檢查返回數據的正確性與格式;json 是一種非常創建的格式。
3、接口的安全性,一般web 都不會暴露在網上任意被調用,需要做一些限制,比如鑒權或認證。
4、接口的性能,web 接口同樣注重性能,這直接影響用戶的使用體驗。如果我搜索一個關鍵字半天結果都沒返回,果斷棄用。
接口自動化測試過程:
1、接口測試項目先向測試數據庫中插入測試數據
2、調用被測系統接口
3、系統的接口根據入參向測試數據庫中進行查詢並得到信息。
4、系統的接口得到查詢結果,並將結果返回。
5、通過單元測試框架斷言接口返回的數據