什麼是接口?
從狹義的角度來說,接口就是指系統架構設計中所設計好的接口,通常是有接口文檔對接口做詳細的描述的。這樣的接口是用來實作系統解耦、子產品互相通信的。
從廣義的角度來說,輸入和輸出的資料的集合就叫接口。
輸入和輸出的對應關系是由功能和接口設計來決定的。
主流的接口實作架構:
SOA:
SOA是指面向服務的體系架構,是用來實作大型系統的異構需求的。
異構:就是一個系統使用多種不同的開發語言進行開發。
**典型實作:**webservice接口。
微服務:
微服務是相對于SOA來說的,強調的是服務的解耦、快速的釋出和疊代。
特點就是:一個服務就實作一個功能or幾個小的功能、服務和服務之間互相不影響、獨立存在、工作和變更。
**典型實作:**RestFul風格的接口。
webservice接口:
http://192.168.2.236:8080/ws/services/HelloServices?wsdl
webservice接口一般來說分為三層:
·webservice call:通過XML來進行服務的描述和管理。
·SOAP request: SOAP叫簡單對象共享協定。
SOAP主要是實作接口自身業務資料的封裝。
·HTTP request:底層的通信協定。
這就意味着,針對webservice接口的測試可以考慮分别從三層來實作。
·RestFul風格:
https://ke.qq.com/course/315793?taid=4010275389100433&tuin=15945f87
·接口文檔:
·協定:https
·path(URLorURI):/course/{cid}
·method:get
·parameters:
參數名 類型 說明
cid String 課程編号
參數名 類型 說明
taid int xxx
tuin String xxx
什麼是接口測試?
接口測試又稱為API測試,是測試系統元件間接口的一種測試,屬于灰盒測試範疇。
接口測試是測試系統元件間接口的一種測試。接口測試主要用于檢測外部系統與系統之間以及内部各個子系統之間的互動點。
測試的重點是要檢查資料的交換,傳遞和控制管理過程, 以及系統間的互相邏輯依賴關系等。
接口測試:
·從廣義的接口定義來說,接口測試是一種有别于UI層面的測試的測試方式。
·從狹義的接口定義來說,接口測試就是針對系統接口所進行的測試。
接口測試分類:
子產品之間的接口:如果訂單支付時,需要去使用者資金子產品查詢餘額等。
系統對外部系統提供的接口
内部子系統的服務之間的接口
接口測試的場景:
web網站的API接口:如微信接口、新浪微網誌接口等。
公司内部系統API:訂單接口需要調用使用者資金接口查詢餘額。
APP,用戶端軟體等。
常見的接口測試工具:
postman、jmeter、soupUI、java+httpclient、robotframework+httplibrary等。
接口測試與自動化測試的差別?
自動化測試如app自動化測試、web自動化測試:
都是模拟人類的行為去測試,底層都是通過接口去和伺服器進行互動
接口測試可以在底層模拟人類的行為去進行測試。
接口測試與性能測試?
自動化測試的模拟行為,測試效率較慢,
接口測試可以直接和伺服器進行快速互動,對接口進行性能、壓力測試。
接口測試的價值?
提升測試效率:
底層的一個bug能夠引發上層的8個左右bug,而且底層的bug很容易引起全網的當機,接口測試能夠提供系統複雜度上升情況下的低成本高效率的解決方案。
能快速定位bug
安全缺陷
性能缺陷
接口測試流程:
類似于功能測試流程,一個完整的接口測試流程如下:
- 分析接口文檔和需求文檔
- 編寫接口測試計劃
- 編寫接口測試用例并評審
- 接口測試執行
- 輸出接口測試報告
一般接口用例設計依據的就是開發提供的接口文檔和産品提供的需求文檔。
更多軟體測試資料,關注公衆号:軟體測試圈 擷取