提到接口測試,用例其實就是圍繞一堆測試數據來的,這樣測試數據的設計就顯得尤為重要,這也是考驗測試工程師設計測試數據的能力,你是如何來規划你的測試數據?有沒有進行建模后再執行?你的跑的那么多數據是否有意義?是否是接口測試真正需要的?是不是有依據?這些都是做好接口測試的關鍵所在。
1、入參
1.1 正常系
1) 必填入參典型值、邊界值內的邊界值
所有入參的邊界值可以形成一個測試用例來執行,不需要太多,看起來繁瑣
2) 可選項缺省及部分缺省
3) 重要入參的各種合法的有效值
4) 正常默認值
注意點:
1) 入參支持多個值時,多值輸入,接口會不會報錯
2) 每條用例數據如非必要,數據要多樣化
3) 如果有頁數,跟需要注意邊界值測試
1.2 異常系
主要測試容錯性(暫時不考慮安全性)
1) 必填入參缺省、空值,null值,邊界外的值
2) 可選項參數邊界值外的值
3) 重要入參的各種錯誤類型
4) 如果有默認值,默認值異常
注意點:
1)如果有頁數,輸入一個超過頁碼值,檢查接口返回值
2)關於是否要測試異常系情況,要看實際開發是如何控制的
分一下兩種情況
(1)由接口進行控制。輸入異常值,接口來判斷,返回錯誤信息,前端只需接收信息並顯示
(2)由前端進行控制,前端控制用戶必須輸入正常系的值,而接口可以不做控制
針對第一種情況就必須測試異常系的情況,第二種就可以略去異常系測試,那如何知道是哪一方來控制?這時候可以看看接口文檔有沒有標出來,如果沒寫問問開發,就明白了
2、出參(斷言)
1) status code狀態判斷
2) 響應信息數據結構
3) 重要出參是否存在,鍵值、類型
4) 是否寫入數據庫,及預期,部分重要用例,參數需要連接數據庫取數據進行判斷
5) 負面測試用例,錯誤信息是否與實際是否相符
注意點:
1) 如果是列表形式的返回數據需要驗證排序值,不同頁數據是否重復
2) 輸出參數有聯動性時,需要校驗返回兩參數的實際結果是否都符合需求
3) 接口返回存在鏈接,需要驗證鏈接是否可以打開
4) 接口返回存在圖片鏈接,要驗證圖片尺寸,是否失真等
5) 所有功能都要考慮兼容舊版本