1 接口定義
1.接口是前后端溝通的橋梁,是數據傳輸通道,包括外部接口、內部接口,內部接口又包括:上層服務與下層服務接口、同級接口;
2.接口的本質及其工作原理是什么?
接口你可以簡單的理解他就是URL,工作原理就是URL通過get或者post請求像服務器發送一些東西,然后得到一些相應的返回值。 本質就是數據的傳輸與接收。
輸入數據————》接口(待測軟件)————》返回結果
3.什么是接口測試?
接口測試是測試系統組件間接口的一種測試。接口測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點 是要檢查數據的交換、傳遞和控制管理的過程,以及系統間相互邏輯依賴關系等。
簡單的說就是通過URL向服務器或者其他模塊等,傳輸我們想傳輸的數據,然后看看他們返回的是不是我們預期想要的。
4.為什么要做接口測試
1)越底層發現bug,它的修復成本是越低的。
2)前端隨便變,接口測好了,后端不用變。前后端是兩撥人開發的。
3)檢查系統的安全性、穩定性,前端傳參不可信,比如京東購物,前端價格是不可能傳入-1元,但是通過接口可以傳入-1元。
4)如今的系統復雜度不斷上升,傳統的測試方法成本急劇增加且測試效率大幅下降,接口測試可以提供這種情況下的解決方案。
5)接口測試相對容易實現自動化持續集成,且相對UI自動化也比較穩定,可以減少人工回歸測試人力成本與時間,縮短測試周期,支持 后端快速發版需求。接口持續集成是為什么能低成本高收益的根源。
2 接口的分類
目前在企業的測試當中,基本上所說的接口都是網絡接口。
3 常見的接口類型
基於tcp私有協議接口
不采用常見的公用的應用層協議,而是采用自己公司內部的私有協議來組織和解析應用層數據。
優點:
- 安全性更高
- 效率更高
主要的應用場景:
- IM
- 游戲服務器端
- 物聯網
webservice
簡單的說WebService是一個SOA(面向服務的編程)的架構,它是不依賴於語言,不依賴於平台,可以實現不同的語言(通過 xml 描述)間的相互調用,通過Internet進行基於Http協議的網絡應用間的交互。
dubbo
Dubbo是一款高性能、輕量級的開源Java RPC框架,它提供了三大核心能力:面向接口的遠程方法調用,智能容錯和負載均衡,以及服務自動注冊和發現。
restful
RESTFull接口,簡稱REST,描述了一個架構式的網絡系統;
RESTful架構是對MVC架構改進后所形成的一種架構,通過使用事先定義好的接口與不同的服務聯系起來。在RESTful架構中,瀏覽器使用POST,DELETE,PUT和GET四種請求方式分別對指定的URL資源進行增刪改查操作。因此,RESTful是通過URI實現對資源的管理及訪問,具有擴展性強、結構清晰的特點。
RPC
- RPC(Remote Procedure Call)遠程過程調用,簡單的理解是一個節點請求另一個節點提供的服務
- 本地過程調用:如果需要將本地student對象的age+1,可以實現一個addAge()方法,將student對象傳入,對年齡進行更新之后返回即可,本地方法調用的函數體通過函數指針來指定。
- 遠程過程調用:上述操作的過程中,如果addAge()這個方法在服務端,我們還能像調用本地方法一樣去調用這個addAge()方法,就是RPC
上面說的webservice和dubbo都是RPC的實現,RPC和協議無關,例如:webservice走的是http協議,dubbo可以走tcp協議.
4 網絡協議
4.1 OSI的來源
OSI(Open System Interconnect),即開放式系統互聯。一般叫OSI參考模型,是ISO(國際標准化組織)組織在1985年研究的網絡互連模型。其含義就是推薦所有公司使用這個規范來控制網絡。這樣所有公司都有相同的規范,就能互聯了。
4.2 OSI七層和TCP/IP四層的對應關系
TCP/IP協議族是對OSI七層標准模型的一個實現。
4.3 TCP/IP的四層的作用分別是什么
數據鏈路層(網絡接口層)
負責在相鄰的設備間通過物理線路(網線,光纖等)進行數據傳輸。
網絡層
負責數據的包裝、尋址和路由。網路層負責在原機器和目標機器之間建立它們所使用的路由。也就是負責數據傳輸的路線。就是通常說的IP層。這一層就是我們經常說的IP協議層。IP協議是Internet的基礎。
傳輸層
傳輸層建立了主機端到端的鏈接,傳輸層的作用是為上層協議提供端到端的可靠和透明的數據傳輸服務,包括處理差錯控制和流量控制等問題。該層向高層屏蔽了下層數據通信的細節,使高層用戶看到的只是在兩個傳輸實體間的一條主機到主機的、可由用戶控制和設定的、可靠的數據通路。其中TCP協議(Transmission Control Protocol)提供可靠的數據流運輸服務。UDP協議(Use Datagram Protocol)提供不可靠的用戶數據報服務。
應用層
OSI參考模型中最靠近用戶的一層,是為計算機用戶提供應用接口,也為用戶直接提供各種網絡服務。我們常見應用層的網絡服務協議有:HTTP,HTTPS,FTP,POP3、SMTP等。