1.什么是接口?
接口測試主要用于外部系統與系統之間以及內部各個子系統之間的交互點,定義特定的交互點,然后通過這些交互點來,通過一些特殊的規則也就是協議,來進行數據之間的交互。
2.接口都有哪些類型?
接口一般分為兩種:1.程序內部的接口 2.系統對外的接口
系統對外的接口:比如你要從別的網站或服務器上獲取資源或信息,別人肯定不會把 數據庫共享給你,他只能給你提供一個他們寫好的方法來獲取數據,你引用他提供的接口就能使用他寫好的方法,從而達到數據共享的目的。
程序內部的接口:方法與方法之間,模塊與模塊之間的交互,程序內部拋出的接口,比如bbs系統,有登錄模塊、發帖模塊等等,那你要發帖就必須先登錄,那么這兩個模塊就得有交互,它就會拋出一個接口,供內部系統進行調用。
接口的分類:1.webservice接口 2.http api接口
webService接口是走soap協議通過http傳輸,請求報文和返回報文都是xml格式的,我們在測試的時候都用通過工具才能進行調用,測試。
http api接口是走http協議,通過路徑來區分調用的方法,請求報文都是key-value形式的,返回報文一般都是json串,有get和post等方法,這也是最常用的兩種請求方式。
json是一種通用的數據類型,所有的語言都認識它。(json的本質是字符串,他與其他語言無關,只是可以經過稍稍加工可以轉換成其他語言的數據類型,比如可以轉換成 Python中的字典,key-value的形式,可以轉換成JavaScript中的原生對象,可以轉換成 java中的類對象等。)
3.前后端和測試對應的接口使用
由于現在一款程序的開發實現的前后端分離,前端和后端直接的數據傳輸和交互都是通過接口來進行操作的。
前端:通過后端人員給的接口文檔,來進行Ajax的設計,通過接口向服務發送請求,獲取響應的數據,然后通過返回的數據進行下一步的頁面跳轉和顯示。
后端:通過編寫接口,為前端提供與服務器和數據請求交互的通道。編寫對應的接口,需要傳遞的參數,參數類型等等。然后生成接口文檔,分享給前端,讓其按照接口文檔編寫對應的Ajax。
測試:可以通過接口文檔,進行接口驗證,查看后端開發的接口和前端所寫的Ajax是否對應,有沒有出錯的接口,還可通過接口流程測試,知道整個系統之間的接口是否是相對應的,有沒有接口是不對的,或者沒有正常運行。
4.接口測試和接口文檔生成的工具
接口測試工具:jmeter、apipost、postman
jmeter:針對于接口測試和性能測試。它的功能主要是性能測試方面強大。
apipost和postman:針對于接口測試,功能都差不多,唯一不用的是apipost是中文版的還可以生成各種類型的接口文檔。postman英語版的接口文檔生成也是英文的。
接口文檔生成工具:swagger、apipost
swagger是一款通過接口注釋生成接口文檔的工具,不過生成的接口文檔也全是英文的。
apipost是通過對開發好的接口進行測試生成的接口文檔,文檔可以生成在線的html、markdown和word格式的。
工具下載地址:
ApiPost - 可直接生成文檔的API調試、管理工具?www.apipost.cn
