接口測試常用測試點
接口測試是測試系統組件間接口的一種測試。接口測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關系等。
測試的策略:
接口測試也是屬於功能測試,所以跟我們以往的功能測試流程並沒有太大區別,測試流程依舊是:
-
測試接口文檔(需求文檔)
-
根據接口文檔編寫測試用例(用例編寫完全可以按照以往規則來編寫,例如等價類劃分,邊界值等設計方法)
-
執行測試,查看不同的參數請求,接口的返回的數據是否達到預期
那麽我們具體來看看接口測試主要有哪些測試點呢?
功能測試:
-
json格式測試: 通常我們的接口一般設計的都是傳遞json串,那麽就需要去測試 如果傳遞非json的情況,這時候程序會不會正確的處理,返回相應的 error code
-
默認值測試: 很多情況一些非必填的參數會有默認值,比如說一個查詢的接口,參數count為返回查詢的結果數量, 默認為10,那麽就應該有一條case來測試,當然前置條件是數據庫裏面必須要存在這樣的數據超過10條。
-
異常類型測試: 比如上面的count參數,這個參數的類型一定是可以轉換為int類型的,這時候我們需要測試如果傳的一些不可以 轉換為int類型值來測試代碼是否加入判斷
-
必傳項測試: 如果接口的參數有必傳項,那麽需要測試在不傳這個參數的時候接口返回情況,測試是否會提示 相應的error code
-
非必傳項測試: 如果接口有非必填項,當我不傳遞這些參數的時候會不會正常的返回相應的結果
-
非空測試: 無論是必傳的和非必傳的參數,傳遞的key是正確的,但是value=null,這時候返回結果是否正確
-
業務邏輯測試: 傳遞正確的參數,接口對數據庫進行查詢的操作,需要去驗證數據庫查詢是否正確,接口對數據庫進行 增刪改的操作,也需要看數據庫是否同步進行了這些操作
-
兼容性測試: 比如說今天接口進行了調整,但是前端沒有進行變更,這時候需要驗證新的接口是否滿足舊的調用方式
-
錯誤碼測試: 通用的錯誤碼與業務錯誤碼是否能夠清晰的說明調用問題,錯誤碼是否能夠盡可能的全的覆蓋所有的情況
-
數據異常測試: 假如數據庫設計為32位varchar類型,那麽如果傳33位會是什麽情況,會不會拋出相應的錯誤碼,而不會拋出數據庫異常
-
返回值測試: 返回值除了內容需要是正確的,還需要類型也是正確的,保證調用方拿到這些參數能夠正確的解析
- 參數邊界值、等價類測試
性能測試:
-
響應時間
-
吞吐量
-
並發用戶數
- 占用內存,CPU等
安全性測試:
-
敏感信息是否加密
-
必要參數是否後端校驗(現在很多系統前後端架構是分離的,從安全層面來說,只依賴前端進行限制已經完全不能滿足系統的安全要求(繞過前端太容易了), 需要後端同樣進行控制,在這種情況下就需要從接口層面進行驗證)
-
接口是否防惡意請求(SQL註入)
接口測試常用測試點