回覆列表
-
1 # 軟體測試那些事兒
-
2 # 軟體測試開發技術棧
具體得視情況而定。
如果介面進行的是讀操作,是不需要校驗資料庫的。
如果介面進行的是寫操作,嚴謹的說是需要的,並且涉及的欄位均需要校驗。
讀操作介面進行讀資料庫操作,如GET方式,即查詢,驗證期望響應內容與實際響應內容,即驗證了資料入庫-資料查詢流程,因此不需要校驗資料庫。當然,每次執行自動化是需要進行環境初始化,每次執行自動化用例前插入自動化測試資料,執行結束後清空自動化資料。
寫操作介面進行寫資料庫操作,如POST或DELETE方式,即寫入/刪除,一般除了驗證期望響應結果與實際響應結果外,還需額外驗證資料庫是否真的進行了相關操作。因為介面返回結果並不能真實反映資料是否被寫入或刪除。
一般使用Sql驗證,欄位較多時,建議封裝個方法,實現根據請求體拼接Sql功能,如下:
Select count(1) from tablename where field1 = value1 and field2 = value 2……然後再封裝資料庫查詢方法,驗證count數量是否等於預期即可。
介面自動化測試,一般設計介面各種場景用例,校驗返回值是否符合預期;介面測試,會去做欄位缺失、為空、長度、欄位型別等校驗測試,介面測試更多關注了入參出參,其實也就間接測試了資料庫表字段。
所以說,介面自動化不需要特意去關注資料庫,Json資料一般來說透過XPath去取值校驗,欄位校驗方式有等於、大於、小於、包含,還有欄位長度型別及響應code等校驗。另外需要和預期介面響應資料做個對比,如果欄位key不同或者數量不同,標記失敗,欄位值不同也標記出來,不一定是失敗