什么是接口測試?
定義:接口測試是測試系統組件間接口的一種測試。接口測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關系等。
范圍:接口測試一般會用於多系統間交互開發,或者擁有多個子系統的應用系統開發的測試。接口測試實施在多系統多平台的構架下,有着極為高效的成本收益比,接口測試天生為高復雜性的平台帶來高效的缺陷監測和質量監督能力。平台越復雜,系統越龐大,接口測試的效果越明顯。
優點:
- 能夠提早發現 bug,符合質量控制前移的理念。
- 接口測試低成本高效益,因為接口測試可以自動化並且是持續集成的。
- 接口測試從用戶的角度對系統接口進行全面檢測。實際項目中,接口測試會覆蓋一定程度的業務邏輯。
接口類型有哪些?
接口測試常用工具?
Postman、JMeter、SoapUI、Poster、RESTClient、WireMock
如何進行接口測試?
根據接口文檔、需求分析書等文檔選用合適的方法設計測試用例,用合適的工具執行測試用例。
設計測試用例的思想:
- 設計接口測試用例的出發點是要驗證接口實現的功能與性能指標與接口設計文檔的一致性,同時測試接口具有良好的容錯機制,能在接收到各種異常輸入數據時做到:返回對錯誤定位具有良好參考意義的錯誤碼,屏蔽底層錯誤信息,同時接口測試用例需要暴露接口代碼更多的代碼缺陷,以這個出發點為導向。
- 接口測試要選擇合適的測試對象。對一個系統做接口測試,識別出合理的測試對象才能保證接口測試達到預期效果,甚至能達到事半功倍的效果。一個系統可能有很多的層次結構,也就有了不同層級的許多接口,如果對每個接口分別進行測試,時間和人力消耗較大,且用例數量大,用例的維護成本很大。分析出系統的關鍵模塊和核心接口,並對其進行完整的測試,能以最小的測試投入,達到最好的測試效果。
- 接口測試用例的內容應該包括:輸入參數組合、預期結果、實際運行結果以及備注的其他相關信息,如:測試功能點說明,測試環境說明等。其中,預期結果包括接口返回值以及接口的輸出參數的內容。輸入參數的組合應遵循等價類法和邊界值法等常用用例設計方法,以最少的用例數量覆蓋所有典型參數組合,做到每條用例覆蓋不同的測試點,且每條用例都不可被取代。
- 接口測試每一條用例都需要有完善的初始化操作和結束操作。(避免測試環境對用例執行的影響)
設計測試用例的方法:
因為接口測試的依據往往是需求規格說明書等軟件設計文檔,測試手段是把接口內的程序邏輯看作一個黑盒,只根據接口定義來編寫測試代碼,相當於把一個接口當作一個函數來進行測試,為了確保測試的覆蓋率,可能會使用到單元測試的用例設計方法。
注意:一個很好的測試用例設計過程應該是建立在前期深入的需求分析和文檔設計的基礎之上。需求分析得越深入全面、文檔描述越詳細清晰,則設計的接口測試用例就會越全面,越能暴露出接口的缺陷,從而提供出高質量的服務接口。並且在后續接口維護過程中,有詳盡的接口設計文檔作為支撐,也可以降低維護成本。
參考:
https://my.oschina.net/hellotest/blog/662347
https://baike.baidu.com/item/%E6%8E%A5%E5%8F%A3%E6%B5%8B%E8%AF%95/1917757?fr=aladdin