如何實現介面異常場景測試?測試方法探索與測試工具實現
背景:隨著前後端分離、微服務等技術的廣泛應用,介面測試在整個測試過程中扮演的角色越來越重要,如何更加高效地把介面測好、測得更加充分就成了一個亟待解決的難題。 加我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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 異常-自定義異常的實現和測試
- 異常測試實踐與梳理
- Jmeter實現 Dubbo介面測試JMeter
- 軟體測試學習教程——LoadRunner實現介面測試
- 『居善地』介面測試 — 7、介面自動化測試框架的設計與實現框架
- Apifox介面測試教程(一)介面測試的原理與工具API
- 試著使用 jmeter 實現介面自動化測試JMeter
- 介面自動化測試實戰之智慧場景如何攻破
- 移動App測試崩潰常見的測試場景APP
- 介面測試工具 Postman 使用實踐Postman
- 使用ABAP實現Mock測試工具MockitoMockito
- 如何使用Jmeter實現WebSocket協議的介面測試JMeterWeb協議
- 介面測試工具
- 異常檢測(Anomaly Detection)方法與Python實現Python
- API測試:瞭解API介面測試與API介面測試指南API
- postman實現介面的自動化測試Postman
- springboot+Vue 實現介面測試平臺Spring BootVue
- 單元測試 - 測試場景記錄
- 如何實現高度自動化測試?
- Tessy—支援複雜場景測試的單元整合測試工具
- 小白測試系列:介面測試與效能測試的區別
- 介面測試框架接入效能測試實踐分享框架
- 介面測試測試流程
- python 程式碼實現查詢功能介面測試Python
- 黑盒測試、白盒測試與灰盒測試方法
- 介面測試工具-PostmanPostman
- 測試—測試方法
- python實戰-基於正交實驗(工具:allpairs)自動生成介面異常測試用例PythonAI
- Jmeter測試工具的實際專案測試案例JMeter
- 介面測試是什麼?如何做好介面測試?
- Hadoop測試常見問題和測試方法Hadoop
- Jmeter介面測試+效能測試JMeter
- 介面測試 - 引數測試
- 【軟體測試】——介面測試
- 如何在Spring Boot中實現整合測試?Spring Boot
- API 測試 | 瞭解 API 介面測試 | API 介面測試指南API
- 測試測試測試測試測試測試
- 介面測試(apipost、jmeter和python指令碼)——測試工具APIJMeterPython指令碼