一、什么是接口測試
以下是百度百科所定義的接口測試內容:
接口測試是測試系統組件間接口的一種測試。接口測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關系等。
接口測試一般包括:接口的功能測試,接口的性能測試,接口的安全測試。
一些大公司會專門設置功能測試組,自動化測試組,性能測試組;
而平時我們所說的接口測試指接口的功能測試具體就包括一些業務功能測試,邊界值測試,參數組合測試,異常情況測試等;
二、什么是接口,接口都有哪些分類
接口:
做接口測試,首先要了解什么是接口,接口是一種抽象性的概念,編程接口(API)通俗的解釋應該是:一個組件(或程序庫)提供給開發者進行編程使用的,通過代碼可以與之溝通的入口,用於連接連個功能模塊或代碼模塊;接口定義了一種能力,有定義者和實現者,接口定義一般是抽象的,不包括具體實現。
接口一般分為兩種,一種是程序內部的接口,一種是系統對外的接口;
程序內部的接口是用於一個系統內程序之間方法與方法,模塊與模塊之間的交互;
系統對外的接口主要用於共享一些信息,通過一個方法來獲取數據。
常用的接口類型:webservice接口、HTTP接口
webservice接口
Web Service是構建互聯網分布式系統的基本部件,它是一個應用程序,它向外界暴露出一個能夠通過Web進行調用的API。這就是說,別人能夠用編程的方法通過Web來調用這個應用程序。
它通過標准通信協議,在互聯網上以服務的方式發布有用的程序模塊,目前大部分是用SOAP作為通信協議。
它提供一份詳細的接口說明書,來幫助用戶構建應用程序,這個接口說明書叫WSDL(Web服務描述語言,Web Service Description Language)。
請求報文和返回報文都是XML格式的,XML(Extensible Markup Language)即可擴展標記語言,它與HTML一樣,都是SGML(Standard Generalized MarkupLanguage,標准通用標記語言)。
HTTP 接口
HTTP是hypertext transfer protocol(超文本傳輸協議)的簡寫,它是TCP/IP協議的一個應用層協議,用於定義WEB瀏覽器與WEB服務器之間交換數據的過程。客戶端連上 web服務器后,若想獲得web服務器中的某個web資源,需遵守一定的通訊格式,HTTP協議用於定義客戶端與web服務器通迅的格式;http接口最主要的作用是能夠較好地解決不同系統(可能是功能不同、開發語言不同、服務商不同,等等,但都是基於http服務的)之間的交互的需求;
請求方式有:POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT,常用的有: GET、 POST
返回的內容為json串形式
json 和xml 的比較,例如:
用XML表示《中國》部分省市數據如下:
<?xml version="1.0" encoding="utf-8"?>
<country><name>中國</name>
<province><name>黑龍江</name><cities><city>哈爾濱</city><city>大慶</city></cities></province>
<province><name>廣東</name><cities><city>廣州</city><city>深圳</city><city>珠海</city></cities></province>
用JSON表示如下:
{name:"廣東",cities:{city:["廣州","深圳","珠海"]}}]}
JSON VS XML
·可讀性 JSON和XML的可讀性可謂不相上下,一邊是建議的語法,一邊是規范的標簽形式,很難分出勝負。
·可擴展性 XML天生有很好的擴展性,JSON當然也有,沒有什么是XML能擴展,JSON不能的。
·編碼難度 XML有豐富的編碼工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的編碼明顯比XML容易許多,即使不借助工具也能寫出JSON的代碼,可是要寫好XML就不太容易了。
·解碼難度 XML的解析得考慮子節點父節點,讓人頭昏眼花,而JSON的解析難度幾乎為0。這一點XML輸的真是沒話說。
·流行度 XML已經被業界廣泛的使用,而JSON才剛剛開始,但是在Ajax這個特定的領域,未來的發展一定是XML讓位於JSON。
三、接口測試目的及測試用例設計
1、為什么要做接口測試2、抓包: Charles 、fiddler、wireshark
4、http測試工具:Postman、HttpRequest、火狐JsonHandle
6、性能測試工具:LoadRunner、Apache JMeter
后續會具體講解一些常用工具的用法。