一、接口自動化測試用例設計方法
1.1接口參數覆蓋
接口測試通過輸入使用參數組合,獲得服務器返回值,並根據預先設定的規則判斷是否符合預期值。在接口測試中,根據接口的功能不同,需要側重檢測的方面也不同。主要從以下幾個方面考慮用例設計:
1) 前提條件
有些接口需要滿足前提條件,才可以成功獲取數據。
例:常見的需要登錄 token
2) 參數類型(數值型、字符型、布爾型、枚舉型、組合類型)
a. 特定接口字段對入參的參數類型有要求
例:商品的價格
3) 異常值:null、空字符
a. 必要參數不允許為空
例:登錄賬號/密碼
4) 邊界值
a. 有限定取值范圍的字段(取值范圍內的最大、最小、最大+1、最小-1,范圍內取值)
例:用戶可用積分
5) 默認值
a. 非必選參數,未傳值時采用默認值
6) 非法值
a. 類型不匹配
b. 超出類型范圍
c. 超出操作系統限制
d. 系統關鍵字
7) 參數組合
采用笛卡爾積的全組合策略。
例:3個參數,每個參數有5種取值,組合起來就有5x5x5=125個測試用例,優點是覆蓋全面,缺點是組合數量巨大,工作量大。
8) 全對偶組合
保證每個參數和其他參數都有組合出現,即采用盡可能少的組合覆蓋盡可能對的參數,覆蓋性價比很高。
例:3個參數,每個參數有5種取值,大約只需25個用例即可覆蓋。
9) 單點失效
單個參數使用非法或異常值,其他值保持正常取值。
10) 多點失效
多個參數使用非法或異常值,其他采用正常取值。
11)業務規則、功能需求
根據時間情況,結合接口參數說明,可能需要設計n條正向用例和逆向用例。
1.2場景覆蓋
a. 從用戶角度進行設計的測試覆蓋。主要是模擬用戶的業務操作,達到對用戶行為的覆蓋。
b. 場景測試優先覆蓋正常路徑,其次是分支路徑以及異常路徑。
c. 測試場景保持獨立性和原子性,每個測試場景完成獨立的功能,不受其他操作的影響。
二、測試斷言設計
自動化測試中的測試通過條件,斷言用於判斷測試用例執行結果是否符合預期。
設計原則:
a. 盡量保持斷言形式統一。
b. 選擇具有明確的message參數的斷言方法,使斷言結果的可讀性更強。
c. 選擇斷言的對象需准確,有代表性。
d. 不使用接口響應數據作為唯一斷言,需結合數據庫相應數據變化做斷言。
三、自動化用例編寫規范
a. 一個腳本是一個完整的用例。
b. 用例中正向邏輯用例為主,逆向邏輯用例為輔。
逆向邏輯的情況較多(例如手機號輸錯有很多種情況),逆向邏輯按等價類划分法選取具有代表性的用例編寫。
c. 用例之間不要產生關聯性,即編寫的每一個用例都是獨立的,不依賴或影響其他用例腳本。
d. 整個腳本中只對驗證點進行驗證,不需對整個腳本每一步都做驗證。
e. 測試用例的上下文有一定的順序性,能夠互相連接,並且前置條件清晰。
f. 盡量把重復任務放入一個方法中,這樣它可以被多個測試用例調用。
g. 測試用例只要不匹配預設的驗證點,拋出合適的異常並提供詳細的失敗信息。
h. 前置條件的准備盡量調取功能接口完成,非必要情況不使用直接修改數據庫字段值的形式(必要情況下也要保證所修改字段不影響其它數據或系統功能) 。
i. 統一命名方式,測試用例模塊名、方法名以test_api名稱命名。
做一棵小草,誰也撼動不了………
如果您覺得本篇文章還不錯,歡迎點贊,轉發分享,感謝(*^_^*)