接口測試基礎與工具
2016-09-12
接口測試是集成測試實現的一種方式,分為:
- 消息接口測試
- 代碼接口測試兩類
本章主要還是針對消息接口為主的。
1 接口測試基礎
1.1 什么是接口測試
接口是指系統模塊與模塊或系統與系統間進行交互,一般現在我們用的多的是基於HTTP協議為基礎的接口(包括WebService協議或者Tuxedo協議),除此之外還有RPC的接口,但不管是哪種接口,其本質就是發送一個Request報文給服務器,然后服務器響應返回一個Response報文。
我們對Response的報文進行分析,判斷是否和我們發給服務器的Request對應的返回相同,從而驗證業務是否正確實現,這即是接口測試。
1.2 為什么要做接口測試
隨着系統越來越多,以及復雜性越來越高,為了保證系統的獨立性,也為了使業務更加的獨立,系統間的交互越來越多的使用接口(高內聚低耦合)。這時候對於傳統測試人員需要等到系統集成后才能進行測試,不但很難確保測試的覆蓋率(接口覆蓋率),效率也非常低下,為了解決這兩個問題,接口測試也應運而生了。
1.3 接口測試的適用范圍及覆蓋率
所以任何接口都是應該經過測試,即有交互的地方,我們就要進行接口測試:
- 首先要達到100%的接口覆蓋率,
- 在有條件的情況下做到進一步的100%需求對接口的映射 及 100%的接口對代碼的邏輯覆蓋率。
1.4 接口測試的用例
接口測試用例和單元或者系統的用例其實區別也不大,主要說明調用的接口傳遞的數據以及應該對應返回的內容即可(其他屬性根據具體情況添加)。
1.5 接口測試的目的及方式
1)核心:保證系統接口的功能正常
2)方式:持續集成
3)目的:提高測試效率,保證數據的准確性
4)文檔:接口測試對接口定義文檔要求很高,所有的接口數據類型及業務分支導致的報文返回結構是需要事先定義好的,所以要形成文檔的習慣,以方便查閱,盡量減少團隊與團隊間的溝通成本。
2 接口測試工具
常用工具介紹
發包工具
- 典型商業工具:loadrunner、soapui
- 典型開源工具: jmeter、jsoup、httpclient、python中的urllib2,urllib庫
抓包工具
- HTTP抓包:HTTP Analyzer 、HTTPwatch、Fiddler、Firebug
- 通用數據抓包:MiniSniffer、Sniffer、Omnipeek
- 進程級抓包:WSExplorer
3 參考
《接口測試最佳實踐》