一、介面自動化測試用例設計方法
1.1 介面引數覆蓋
介面測試通過輸入使用引數組合,獲得伺服器返回值,並根據預先設定的規則判斷是否符合預期值。在介面測試中,根據介面的功能不同,需要側重檢測的方面也不同。主要從以下幾個方面考慮用例設計:
1) 引數型別(數值型、字元型、布林型、列舉型、組合型別)
a.特定介面欄位對入參的引數型別有要求
2)異常值:null、空字元
a.必要引數不允許為空
例:登入賬號/密碼
3)邊界值
a.有限定取值範圍的字段(取值範圍內的最大、最小、最大+1、最小-1,範圍內取值)
4) 預設值
a.非必選引數,未傳值時採用預設值
5) 非法值
a.型別不匹配
b.超出型別範圍
c. 超出作業系統限制
d.系統關鍵字
6) 引數組合
7)全對偶組合
保證每個引數和其他引數都有組合出現,即採用盡可能少的組合覆蓋盡可能對的引數,覆蓋價效比很
8)單點失效
單個引數使用非法或異常值,其他值保持正常取值。
9) 多點失效
多個引數使用非法或異常值,其他採用正常取值
1.2 場景覆蓋
a. 從使用者角度進行設計的測試覆蓋。主要是模擬使用者的業務操作,達到對使用者行為的覆蓋。
b. 場景測試優先覆蓋正常路徑,其次是分支路徑以及異常路徑。
c. 測試場景保持獨立性和原子性,每個測試場景完成獨立的功能,不受其他操作的影響。
二、測試斷言設計
自動化測試中的測試通過條件,斷言用於判斷測試用例執行結果是否符合預期。
設計原則:
a. 盡量保持斷言形式統一。
b. 選擇具有明確的 message 引數的斷言方法,使斷言結果的可讀性更強。
c.選擇斷言的物件需準確,有代表性。
d.不使用介面響應資料作為唯一斷言,需結合資料庫相應資料變化做斷言。
三、自動化用例編寫規範
a.乙個指令碼是乙個完成的用例。
b.用例中正向邏輯用例為主,逆向邏輯用例為輔。
逆向邏輯的情況較多(例如手機號輸錯有很多種情況),逆向邏輯按等價類劃分法選取具有代表性的用例編寫。
c. 用例之間不要產生關聯性,即編寫的每乙個用例都是獨立的,不依賴或影響其他用例指令碼。
d.整個指令碼中只對驗證點進行驗證,不需對整個指令碼每一步都做驗證。
e. 測試用例的上下文有一定的順序性,能夠互相連線,並且前置條件清晰。
f. 盡量把重複任務放入乙個方法中,這樣它可以被多個測試用例呼叫。
g.測試用例只要不匹配預設的驗證點,丟擲合適的異常並提供詳細的失敗資訊。
h.前置條件的準備盡量調取功能介面完成,非必要情況不使用直接修改資料庫字段值的形式(必要情況下也要保證所修改欄位不影響其它資料或系統功能) 。
i.統一命名方式,測試用例模組名、方法名以 test_api 名稱命名。
介面自動化測試(用例優化)
之前文章實現了乙個簡單的介面自動化測試用例,下面的文章將講解如何將測試用例進行優化,並用excel 進行資料驅動,將測試結果輸出到excel。首先我們先說一下資料驅動,資料驅動即通過讀取檔案內容,將所需要的資料通過檔案讀寫的方式進行輸入輸出。這裡我推薦使用excel來進行資料驅動。1.資料驅動 這裡...
php介面自動化測試用例編寫
最近用php寫完了一版專案的介面,有點多,意味著bug也會很多,人工測試起來有點麻煩,於是準備用php編寫乙個測試bug的程式。以前是沒有這種意識的。這篇文章主要是提醒我未來程式寫完後,能養成編寫介面自動化測試用例的習慣。其實編寫介面自動化測試用例很簡單,比如測試乙個登陸的介面 public fun...
頭條專案介面自動化測試 二 之測試用例設計
1 用例設計 模版 id 模組 介面名稱 請求url 用例名稱 請求方法 請求引數型別 請求引數 預期結果 實際結果 備註。注意 單介面顆粒度放的比較小 以測試資料為顆粒度 2 實踐 請求登陸介面 響應 設計用例 1 用例設計 模版 id 模組 介面名稱 請求url 用例名稱 請求方法 請求引數型別...