如何實現介面異常場景測試?測試方法探索與測試工具實現

博為峰網校 發表於 2022-06-21

背景:隨著前後端分離、微服務等技術的廣泛應用,介面測試在整個測試過程中扮演的角色越來越重要,如何更加高效地把介面測好、測得更加充分就成了一個亟待解決的難題。 加我VX:atstudy-js 回覆“測試”,進入 自動化測試學習交流群~~

當前在對具體的某一介面進行測試時,普遍採取的方法是測試人員按照介面文件中的欄位取值規則使用介面測試工具(例如Postman等)手工來回修改介面報文中的某一個欄位值來進行測試。

如何實現介面異常場景測試?測試方法探索與測試工具實現

這種方法對於單個或者是簡單介面相對比較友好,然而往往一個系統中會包含有大量的介面、介面邏輯複雜、介面裡邊包含有非常多的欄位,這就給介面測試的開展帶來了很多問題,比如費時費力、工作量大、漏測某些測試場景等。

同時還由於專案工期緊張等原因,在介面測試過程中一般更多的是關注正常場景是否有實現,相較於異常場景的重視程度就不夠,從而極易由此引發相關測試問題。

因此,為了減少此類情況發生,針對這一問題進行了探索和實踐,總結了相關方法,並將其應用到了多個專案,起到了很好的效果。

方法探索

異常場景分析歸納

在對當前介面測試中異常場景測試的相關情形進行分析並總結歸納後,發現可以大致將其分為基本異常場景和特殊異常場景兩大類,其中基本異常場景對具體介面中每個欄位均適用,特殊異常場景只適用於特定的介面欄位。

具體分類和示例如下圖所示:

如何實現介面異常場景測試?測試方法探索與測試工具實現

方法探索

結合上述異常場景的分析歸納以及當前測試介面測試的實際開展情形,對於介面異常場景的測試可以將相關的重複工作通過工具流程固化下來,通過工具自動對其進行測試以減少重複勞動,進一步提升測試效率。

介面異常場景測試工具技術實現

如何實現介面異常場景測試?測試方法探索與測試工具實現

介面異常場景測試工具流程圖

如以上流程圖所示,技術實現整體思路為:首先是將待測介面的介面配置等相關資訊作為輸入,然後對其進行解析並匹配相關異常場景,其次是對匹配到的異常場景生成對應的介面測試用例以及測試指令碼,最後是指令碼執行生成相對應的測試結果。

應用實踐

工具介面

如何實現介面異常場景測試?測試方法探索與測試工具實現

實踐示例

XX資訊查詢介面:

如何實現介面異常場景測試?測試方法探索與測試工具實現

應用實踐情況

目前該方法和工具已推廣應用到多個專案多個介面,累計生成千餘條異常場景測試用例,發現多個測試缺陷,平均將工作量縮短至原來人工測試時的三分之一,測試效率和測試質量提升效果明顯。

總結

雖然目前已經在多個專案得到了應用,也取得了一定的效果,但是在應用實踐過程中,也遇到了諸多問題,例如:目前支援的異常場景相對有限、介面文件的形式不統一(excel、word等)、各系統的介面格式多種多樣,但目前僅支援http-json型別的介面測試等,後續將對這些問題逐一分析解決。

此外,在特殊異常場景方面還需要進行更加深入的探索,可以通過該方式將更多的測試經驗和特殊異常場景固化下來納入到工具流程中,再通過自動化生成和執行對應用例,從而節省時間、精力,減少測試人員在這方面的投入,將更多的精力投入到其他相對更加重要的測試中,進一步提升測試質量和效率。

最後:

可以到我的個人V:atstudy-js,可以免費領取一份10G軟體測試工程師面試寶典文件資料。以及相對應的視訊學習教程免費分享!其中包括了有基礎知識、Linux必備、Mysql資料庫、抓包工具、介面測試工具、測試進階-Python程式設計、Web自動化測試、APP自動化測試、介面自動化測試、測試高階持續整合、測試架構開發測試框架、效能測試等。

這些測試資料,對於做【軟體測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2902005/,如需轉載,請註明出處,否則將追究法律責任。