介面測試並不只是測試引數和返回值

測試人生路發表於2020-11-18

一般理解的介面測試無非就是,輸入url、引數值,點選請求傳送檢視一下響應值和響應狀態碼是否正常就完事兒了。

但是介面測試真正的關注點不值這些,今天就給大家說說介面測試有那些需要關注的地方。

在實際專案中,後端介面測試通過後,一般前端還需要再測試一遍,讀者可能會提出疑問:後端介面測試一遍,前端也測試一遍,是不是重複測試了?其實這兩者並不重複,區別在於後端介面測試和前端功能測試各自的側重點不一樣,後端介面測試側重點是檢查資料的交換、傳遞和控制管理過程。而前端功能測試更加測試檢測提供給使用者的使用功能是否正確可用。雖然各種測試的重點不一樣,但也存在相同的部分,以功能測試、業務邏輯測試、效能測試和安全測試為例:

一、介面功能關注點

功能測試:由於測試最終的目標都是業務功能是否正確且穩定可用,所以不管是前端給使用者使用的功能策是,還是後端的介面測試,功能保障是基本要求,也是後端測試和前端測試兩種測試重合度最高的一塊。

具體關注點:

1.介面的功能是否正確實現了

2.介面是否按照設計文件中來實現(比如username引數寫為了name,那麼這就不符合,因為介面文件在整個開發中都需要使用,所以介面實際的設計要與介面設計文件中保持一致)

3.相容性測試: 比如說今天介面進行了調整,但是前端沒有進行變更,這時候需要驗證新的介面是否滿足舊的呼叫方式

4.錯誤碼測試: 通用的錯誤碼與業務錯誤碼是否能夠清晰的說明呼叫問題,錯誤碼是否能夠儘可能的全的覆蓋所有的情況

5.返回值測試: 返回值除了內容需要是正確的,還需要型別也是正確的,保證呼叫方拿到這些引數能夠正確的解析

6.預設值測試: 很多情況一些非必填的引數會有預設值,比如說一個查詢的介面,引數count為返回查詢的結果數量, 預設為10,那麼就應該有一條case來測試,當然前置條件是資料庫裡面必須要存在這樣的資料超過10條。

二、介面業務邏輯測試

1.是否有依賴業務,比如檢視訂單,是需要使用者首先登入的,所以肯定要保證登入了或有相應的cookie

2.業務邏輯測試: 傳遞正確的引數,介面對資料庫進行查詢的操作,需要去驗證資料庫查詢是否正確,介面對資料庫進行 增刪改的操作,也需要看資料庫是否同步進行了這些操作

三、介面效能測試

1.介面響應時間

2.介面對應的伺服器的吞吐量

3.介面併發數量

4.伺服器進出口頻寬

四、介面安全測試

1.介面中敏感資訊是否加密

2.必要引數是否後端也進行校驗(現在很多系統前後端架構是分離的,從安全層面來說,只依賴前端進行限制已經完全不能滿足系統的安全要求(繞過前端太容易了), 需要後端同樣進行控制,在這種情況下就需要從介面層面進行驗證)

3.介面是否防惡意請求(SQL隱碼攻擊)

4.cookie:就是將header中的cookie修改或刪除後看是否能返回相應的error code

5.header:就是刪除或修改header中部分引數的值,看是否能返回相應的error code

6.唯一識別碼:刪除修改唯一識別碼測試

五、介面測試工具

apipost可以進行介面的功能測試和業務邏輯測試,除此之外還有強大的介面文件生成功能

jmeter強大的介面效能測試功能

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章