1. 程式人生 > >介面測試基礎與工具(一)

介面測試基礎與工具(一)

介面測試是整合測試實現的一種方式,分為:

  • 訊息介面測試
  • 程式碼介面測試兩類

本章主要還是針對訊息介面為主的。

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