接口測試中,應不應該用數據庫

這個問題提的真好,我想很多人都沒有考慮過這個問題。我拋磚引玉,嘗試回答一下。

首先,接口自動化測試是分層測試的一種,那就意味着它只能測到一部分範圍,就是接口的請求和響應是否正常,其他的地方它是測不到,這時候只有引入其他的測試手段才能把測試範圍覆蓋完全,比如 ui 測試和數據庫測試,還有其他的中間件測試。

這麼說來,接口自動化測試只管輸入和輸出,根本沒必要用數據庫。

但是,現實沒有這麼美好。 在研發中,我們想通過 單元測試、接口測試、ui 測試、端對端測試等各種測試類型來保障產品質量,但是其實很多測試類型都是缺失的,其中缺失最嚴重的是單元測試。

由於各種各樣的原因,幾乎沒有幾個團隊重視單元測試,這也意味着,產品中調用的基本函數和類沒有經過測試就直接教到測試手上了,當然,數據庫是否落庫,消息隊列是否正常運轉,緩存有沒有命中,都沒有經過基本的測試,就直接進入了接口測試階段。

此時,你的接口自動化測試就要承擔更多的責任,把單元測試沒有完成的工作交接過來。就好像我們爲了趕時間把新設計的電動車造出來,單獨去測輪胎,單獨去測引擎,單獨去測方向盤這些都不搞了,而是直接拉出來跑。 那測試人員在車上除了關注車整體的運轉情況下,一定還要多留一個心眼,對每個單獨的部件也多一份關心。

接口自動化測試理論上不需要數據庫干預,但是如果數據庫沒有單獨測試,那在接口測試中就要加入這部分的工作。

數據庫操作分爲查庫操作和寫庫操作。寫庫操作一定要重點關注,查庫操作在有精力的情況下也可以適當校驗。

上面都是需要用到數據的第一種場景:校驗數據庫。 第二種在接口自動化測試中可能會用到數據庫的場景是獲取數據:有一些接口測試需要的數據需要你通過數據庫得到,或者通過造數方式寫入到數據庫中(運行完以後可以清除)。

比如你在測試註冊接口的時候,會由後端發一個手機驗證碼,這個驗證碼你很有可能會通過查數據庫的方式去獲取,否則你就很難進行下一步操作。

兩種使用數據庫的場景:校驗數據庫和管理接口依賴數據,不知道這個回答對你有沒有啓發。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章