一、認識接口
做接口測試基礎:客戶端和服務端,了解http協議,抓包工具(開發語言)、熟悉測試工具,熟悉業務庫表結構和數據類型。
mock:
1.什么是接口
接口定義:
接口分為:內部接口和外部接口
接口測試實際就是黑盒測試。黑盒測試:基本的測試思路是通過輸入和輸出的判斷被測系統和對象的邏輯。
二、為什么要做接口測試?
提前介入測試,測接口其實就是測邏輯。
三、接口測試怎么測?
接口測試方式:一、用工具做接口測試;二、用代碼實現跑腳本。
四、接口測試維度考量:
分為單個接口和多接口的測試(基於業務場景的測試)
1.接口的請求參數它的數據類型后台是否做了校驗
2.接口的請求參數必填項的參數后台是否做了處理
3.接口的請求參數長度是否做了處理
4.提供的接口是否實現了對應的業務場景和業務功能
5.
單個接口的測試
多個接口的測試
五、接口測試用例設計
接口測試用例的設計和功能的測試用例設計其實一樣,采用等價類划分、邊界值、場景法、錯誤推測法等
接口的功能性,安全性、性能、容錯性
接口:輸入和輸出
接口測試:系統/UI,接口/代碼實現;測試手段
接口bug舉例:
1.某個接口入參5位非int字符時會crash
2.某數據存儲接口long型最大值和讀出䄦寫入不一致
3.某接口的items為空調用,出現crash
4.同時創建100個文件出現寫入失敗
5.數據儲存是db字段字段錯誤,
輸入-入參
參數類型 :數值型int,long,float,double等、字符串型string、數組型
數值型:
等價類 ,取值范圍之內,取值范圍之外,比如金額:負數 和正數
邊界值,取值范圍邊界,邊界最小,最大,邊界最小-1,最大+1等
特殊值,0 負數
遍歷法,取值范圍的所有數值遍歷
字符串型:
字符串長度,等價類 取值范圍內,取值范圍外,邊界值 規定范圍邊界,類型邊界 特殊值,0 即空字符
字符串內容,特定類型,英文、中文、大小寫等;特殊字符,。<>$%^&##@,敏感字符,“反人性”
數組:
等價類,取值范圍內,取值范圍外,邊界值,規定范圍邊界,個數邊界值,特殊值
等價類,合法和非法,,重復法
輸出-出參
輸出結果成功和失敗,接口處理時間
問題和風險判斷:
1.錯誤前端處理不足,導致異常,前端入參未做校驗
2錯誤提示處理不當,導致用戶看到后台返回的錯誤碼,前端未做兜底頁面處理
3.錯誤提示不當,導致用戶不知道哪里出現問題, 如何解決。根據后台返回錯誤碼前端頁面提示不友好
接口處理時間:返回和未及時返回(后台數據太多加載數據過長,需要性能優化)
問題和風險判斷:
1.未進行超時處理,導致整個業務流程阻塞,注意區分同步接口和異步接口調用,微服務
2.超時后又收到接口返回,導致邏輯出現錯亂。
接口處理邏輯:單元測試-代碼邏輯(開發自測或測試介入測試)必須了解一門開發語言
1.約束條件分析 (數值限制、狀態限制、關系限制、權限限制)
2.操作對象分析(測試點,合法和不合法操作,權限,敏感信息)
3.狀態轉行分析(測試點,通過狀態不同調用不同的及接口,不可返回)
4.時序分析(按順序執行,打亂順序執行)
已廢棄的接口不可用,需求變更。
接口設計的合理性
1.接口字段是否冗余
2.接口是否冗余
3.接口是否返回了調用方期望得到的信息
4.接口定義是否滿足了所有調用的需求
5.接口定義調用是否方便
總結:
接口用例設計整體思路:
(1)第一層:針對接口文檔規范展開測試,包含必填、枚舉值校驗、臨界值校驗、長度校驗、以及容錯校驗;
(2)第二層:業務邏輯測試:接口中各個參數之間的關系,比如:數學關系:依賴關系、常識;
例如:你的接口中包含還款總金額、還款本金、還款利息,那么還款總金額是否等於本金加利息之和,這即是數學關系。
在比如你的接口中傳了身份證信息和性別,是否匹配,這個就屬於依賴關系。
在比如需要傳地區,那么目前為止如果您 的公司業務只在國內的話,那么對國外特殊地區是不予支持的,這個即屬於常識。
(3)第三層:異常流測試,包括重復申請、是否有密等邏輯。
(4)第四層:要關注最終的數據存儲,既要檢查存儲接口數據的各個表;
(5)第五層:接口測試的斷言方式,通過比對數據庫表的字段去驗證結果;
PS課外常識了解:
同步接口和異步接口
接口的冪等性
接口的性能
接口的安全性