介面測試----入門篇
介面測試理念
什麼是介面測試
介面是指系統模組與模組或系統與系統間進行互動,一般我們用 的多的是HTTP協議的介面、WebService協議的介面,還有RPC(Remote Procedure Call Protocol)——遠端過程呼叫協議的介面。
不管是哪種介面,其本質就是傳送一個request,然後伺服器響應 後返回一個response,然後我們對response進行分析,這即是介面 測試。
為什麼要做介面測試
隨著系統越來越多,以及複雜性越來越高,為了保證系統的獨立 性,也為了使業務更加的獨立,系統間的互動,越來越多的使用 介面,這時候,為了保證資料的傳輸的準確性,介面測試也應運 而生了,資料的錯誤,有可能引起系統的重大BUG,所以,為了 持續性的檢查介面資料的準確性,介面測試的重要性也就不言而 喻了。
介面測試的適用範圍
前面說了,介面是系統與系統間的互動,任何資料都是有其意義 的,如果在傳輸過程中丟失了或者說資料錯誤,可能引起系統的BUG,也有可能為此BUG付出很大的代價,所以我認為,任何介面都是要經過測試的,即有互動的地方,我們就要進行介面測試。
介面測試主要測試介面覆蓋率
介面測試的目的及方式
•核心:保證系統的穩定
•方式:持續整合
•目的:提高測試效率,保證資料的準確性
•文件:介面的資料型別是需要事先定義好的,所以,要形成文件 的習慣,以方便查閱,儘量減少團隊與團隊間的溝通成本,同理, 我們在介面測試中,也需要根據文件,整理出我們的介面測試數 據,整理出我們的斷言欄位,也方便其它人去稽核我們介面測試 的成果。
介面測試工具的原理
常見的介面測試工具
•典型商業工具:loadrunner,soapui
•典型開源工具: jmeter jsoup httpclient python中的urllib2,urllib庫
•擴充套件外掛:Poster、POSTMAN
介面測試抓包
•協議原理
•協議捕獲(Firebug、fiddler、Httpwatch)
•協議變更 (Poster、PostMan、HttpRequest、Temper Data)
•http抓包:HTTP Analyzer
•通用資料抓包:MiniSniffer
•程序級抓包:WSExplorer
實現原理
•模擬客戶端對伺服器進行多連線
•偽造報文欺騙伺服器認證機制
•瞭解伺服器認證機制
•瞭解客戶<->伺服器之間的交流報文結構
•合理的技術構造報文結構
工具原理
•LoadRunner
•原理
•HTTP請求及斷言方式
•WebService請求及斷言方式
•資料驅動
•Jmeter
•執行緒組
•HTTP預設請求
•HTTP請求
•斷言
•檢視結果樹
•jsoup
•原理
•HTTP請求
•WebService請求
•引數化
•斷言及斷言擴充套件