接口測試發現的典型問題
- 傳入參數處理不當,引起程序錯誤
- 類型溢出,導致數據讀取和寫入不一致
- 對象權限校驗出錯,可獲取其他角色信息
- 狀態出錯,導致邏輯處理出現問題
- 邏輯校驗不完善
- 定時任務執行出錯
接口測試用例設計
接口測試用例設計主要針對輸入、處理、輸出進行考慮
針對輸入進行設計
對於接口來說,輸入就是入參,一般的參數類型
- 數值型
- 邊界內、邊界值、邊界外三個方面去考慮
- 特殊值處理不當程序異常、類型邊界溢出、錯誤信息返回不正確
- 字符串
- 主要考慮字符串長度和字符串的內容
- 空、特殊字符、數字、表情符號
- 數組鏈表
- 多個重復值、空、最大范圍值
- 結構體:json、字典
- 字段錯誤,字段類型錯誤、未包含字段、缺失字段
針對邏輯設計
-
限制條件
- 數值類型限制,比如購買次數、登錄次數、優惠券最大面額、訂單取消次數等
- 狀態限制:比如是否登錄、是否有訂單等
- 關系限制:比如好友關系、關注關系,只能查看好友或者關注人的朋友圈
- 權限限制:比如銷售只能查看和自己綁定客戶數據,而管理員可有查看所有客戶數據
- 時間限制:比如未支付過20分鍾訂單自動取消
-
狀態轉換分析
比如一個出租車訂單,從乘客下單、司機搶單、到達起點、接上乘客、到達目的地,發起支付,支付,評價這是一個完整的訂單狀態轉換流程,必須按照這個次序,才能正確流轉,一旦打亂其中任何一個狀態,就會出現邏輯問題。
接口用例可以這樣設計:
- 正常狀態遷移: 乘客下單,司機搶單,
- 異常狀態遷移:乘客剛下的那,司機發起支付,出現異常
針對輸出設計
- 針對輸出結果
一般情況下,接口正常處理的結果可能只有一個,但是異常的處理結果,可能會返回多種錯誤,那就可以針對不同的錯誤進行設計
- 接口超時
- 舊版本接口
- 廢棄接口
- 接口設計是否合理,比如字段冗余、接口冗余、返回錯誤信息是否清晰明了、調用是否方便
- 冪等性
歡迎大家去 我的博客 瞅瞅,里面有更多關於測試實戰的內容哦!!