單接口測試(場景測試)
1. json格式測試: 通常我們的接口一般設計的都是傳遞json串,那么就需要去測試 如果傳遞非json的情況,這時候程序會不會正確的處理,返回相應的 error code 2. 默認值測試: 很多情況一些非必填的參數會有默認值,比如說一個查詢的接口,參數count為返回查詢的結果數量, 默認為10,那么就應該有一條case來測試,當然前置條件是數據庫里面必須要存在這樣的數據超過10條。 3. 異常類型測試: 比如上面的count參數,這個參數的類型一定是可以轉換為int類型的,這時候我們需要測試如果傳的一些不可以 轉換為int類型值來測試代碼是否加入判斷 4. 必傳項測試: 如果接口的參數有必傳項,那么需要測試在不傳這個參數的時候接口返回情況,測試是否會提示 相應的error code 5. 非必傳項測試: 如果接口有非必填項,當我不傳遞這些參數的時候會不會正常的返回相應的結果 6.非空測試: 無論是必傳的和非必傳的參數,傳遞的key是正確的,但是value=null,這時候返回結果是否正確 7.業務邏輯測試: 傳遞正確的參數,接口對數據庫進行查詢的操作,需要去驗證數據庫查詢是否正確,接口對數據庫進行 增刪改的操作,也需要看數據庫是否同步進行了這些操作 8.兼容性測試: 比如說今天接口進行了調整,但是前端沒有進行變更,這時候需要驗證新的接口是否滿足舊的調用方式 9.錯誤碼測試: 通用的錯誤碼與業務錯誤碼是否能夠清晰的說明調用問題,錯誤碼是否能夠盡可能的全的覆蓋所有的情況 10.數據異常測試: 假如數據庫設計為32位varchar類型,那么如果傳33位會是什么情況,會不會拋出相應的錯誤碼,而不會拋出數據庫異常 11.返回值測試: 返回值除了內容需要是正確的,還需要類型也是正確的,保證調用方拿到這些參數能夠正確的解析 12.加密測試:
組合接口測試(場景測試)
單個的接口測試通過后,需要將單個的接口組成連續的場景,比如說投資接口需要用到一個類似token的 參數,而這個參數是登陸接口獲取到的,所以就需要先調用登陸接口,然后再去調用投資接口。還有就是 像數據權限與操作權限這些,都會依賴一些其他的接口,那么把這些依賴的接口組成一個場景來測試數據的 正確性。還有一部分接口是內部調用的,比如說注冊接口,在注冊的時候通常需要獲取一個驗證碼,然后輸入 驗證碼再進行提交注冊的操作,在這過程中,驗證驗證碼的操作是在注冊的內部完成的,那么其實在組合場景 的時候就不需要再去中間加入驗證驗證碼的接口。
總結:
1. 接口測試簡述: 1、檢查接口返回的數據是否與預期結果一致。 2、檢查接口的容錯性,假如傳遞數據的類型錯誤時是否可以處理。例如上面的例子是支持整數,傳遞的是小數或字符串呢? 3、接口參數的邊界值。例如,傳遞的參數足夠大或為負數時,接口是否可以正常處理。 4、接口的性能,接口處理數據的時間也是測試的一個方法。牽扯到內部就是算法與代碼的優化。 5、接口的安全性,如果是外部接口的話,這點尤為重要。 2. 單接口與組合接口 (1)單接口 單接口入參,出參 入參:參數邊界值、類型、非必傳、必傳 出參:數據類型、結果與MySQL表數據比較、響應碼(正確碼、錯誤碼)、數據的准確性(比如四舍五入的情況、浮點被強制成整型等) 權限(重要):token失效(有效) (2)組合接口 結合測試場景(要結合業務),編寫相應的測試用例; 場景:比如新建一個客群,驗證將其轉化為系統客群 是否成功; 接口間的參數傳遞;