介面自動化測試需要驗證資料庫嗎?

2022-08-26 20:51:14 字數 1114 閱讀 9982

如題。

最近有些同學一直在問我一些概念和設計自動化的一些問題。

比如,需不需要驗證資料庫是否正確?

這裡我覺得還是跟你公司,跟你所在團隊,跟你所在的測試方法或策略有關的。

為什麼這麼說?

因為在我之前的那家公司,因為上市公司,很厲害的。所以測試根本沒有資料庫許可權,你別說想看資料了,可能你要連線資料庫的那個許可權都需要領導層層申請。

所以當時設計的自動化測試框架比較簡單,只是自動校驗json格式是否正確。

所以,你看到了,團隊不允許,你就不能資料庫驗證。

那麼如果有條件,或者測試可以有測試環境的許可權的話:我強烈建議驗證資料庫!

下邊說一下我的觀點:

1. 一般前後臺資料互動都是通過json資料進行,那麼json資料是從資料庫中得來的。這裡就涉及到json資料的校驗。

那麼格式校驗是格式校驗,字段值是否正確是字段值正確校驗。

那麼對字段值的校驗最合適的方式就是查詢資料庫。

2. 在特殊情況下,我呼叫了乙個刪除資料的介面,有沒有真的刪除一條資料,我可以呼叫查詢資料的介面啊!查不出來剛才刪除的資料,不就證明剛才的刪除介面操作是ok的了。另一種方式就是查詢資料庫中是否存在我的資料,如果沒有就是刪除了。

關鍵是什麼?關鍵是有些刪除操作之後,還會有連帶的關聯資料進行刪除(如果大家對業務不了解,或者表結構不了解,需要問一下開發)。那麼是不是把關聯資料刪除掉了?那麼是不是要驗證資料庫?

3. 對於測試來說,請求乙個介面之後,需要知道這個介面在背後做了哪些事情(其實無非就是對資料庫的增刪改查操作),了解邏輯,對於多介面的測試,它背後更加複雜的邏輯更需要詳細清楚。表結構,關聯方式,字段引數變化,含義等。不光開發清楚,測試也要爛熟於胸。

我覺得或許做到以上幾點才能算得上是"基於業務功能的介面測試,不是耍流氓"。

那麼要做到以上幾點需要:

1. 介面流程需要爛熟於胸,介面功能,每個字段含義需要清楚,需要知道引數的變化。響應資料的變化,比如我們公司有開發同學定義的yapi介面定義文件(各公司介面文件可能平台不一,但大體相同)。需要測試同學耐心一點,仔細看看~~

2. 需要了解資料庫字段、資料庫關係、表之間的關係等等,你要清楚比如字段代表的含義,如何修改?邏輯對應介面中哪些字段?可能有時還需要到redis中去獲取快取資料,那可能就有點稍微複雜了。

介面測試 介面自動化測試

1 介面自動化到底關注哪些點?a.關注函式 類 方法 所提供的介面的可靠性 b.關注介面之間銜接的可靠性 c.關注介面引數的校驗 2 介面有哪幾種型別?a.http協議中 get post put delete input方法 b.目前自動化工具提供的有get和post兩種方法 3 用介面實現自動化...

介面測試自動化

前端介面向後端傳送api介面 api 可以理解為資料傳輸的通道 後端把 http請求的響應返回給前端 介面測試的工作流程 準備階段 拿到開發的介面文件 了解每個介面的引數及含義 了解被測試系統的業務流程 編寫介面測試用例 執行階段 測試用例 測試場景執行 測試資料 系統資料收集 分析階段 資料彙總 ...

python介面自動化資料庫連線

ps.資料庫連線引數可以配置在conf檔案中,資料庫連線需要做異常防護 另分析連線資料庫之後是否需要清除表資料 pymysql.connect 函式引數說明 安裝pymysql pip install pymysql 實現步驟 1.建立資料庫連線 db pymysql.connect 2.建立游標 ...