一、什么是接口?
接口測試主要用於外部系統與系統之間以及內部各個子系統之間的交互點,定義特定的交互點,然后通過這些交互點來,通過一些特殊的規則也就是協議,來進行數據之間的交互。
二、 常用接口采用方式:
1、webService接口:是走soap協議通過http傳輸,請求報文和返回報文都是xml格式的,我們在測試的時候都用通過工具才能進行調用,測試。可以使用的工具有apipost、jmeter、loadrunner等;
2、http api接口:是走http協議,通過路徑來區分調用的方法,請求報文都是key-value形式的,返回報文一般都是json串,有get和
post等方法,這也是最常用的兩種請求方式。可以使用的工具有apipost、jmeter、loadrunner等;
三、前端和后端
前端:網站前端是對網頁靜態頁面的設計,通俗的來說,就是我們肉眼能看的到的東西,當我們瀏覽網站的時候所看到的頁面上的內容幾乎都是屬於前端,前端的工作就是網站頁面,靜態的頁面是沒有后端成分的,前端主要包括html和css外加js等一些樣式和布局。
后端: 網站的后端就是動態網站的技術,比如網站上的一些注冊登錄和一些彈窗,這些都是后端的邏輯,常用的后端語言有php,jsp等,后端的數據庫也包含myspl等,都是對后端進行存儲數據。
四、 接口測試概念
接口測試是測試系統組件間接口的一種測試。接口測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關系等(通俗來說就是,檢查業務邏輯是否滿足業務需求,校驗字段是否正常你實際結果是否滿足預期)
五、 接口的組成:
a、接口說明
b、調用url
c、請求方法(get\post\put等)
d、請求參數、參數類型、請求參數說明
e、返回參數說明
六、為什么要做接口測試,接口測試的目標
接口其實app和前端交互用的,所以好多人問,為啥做功能測試還要測接口,目標是啥不是多此一舉嗎?首先我告訴大家,這種想法是錯誤的
那么舉一個例子:
例如一個登陸接口,例如產品上規定用戶名6-10個字符數字下划線,但后端沒做判斷。但我們業務人員測試肯定驗證,但只是前端做了校驗,后端壓根就忘了這個小需求.那么后果來了如果一個懂的直接抓包去篡改你的接口,然后繞過校驗,通過sql注入直接隨意登錄。如果你這是一個下單業務,是不是給公司造成了很大損失
所以此時此刻接口測試目標來了:
1.可能發現客戶端沒有發現的bug(那么也叫隱藏bug)
2.及早爆出風險(保證質量正常上線)
3.接口穩定了,前端隨便改
4.最重要檢查系統安全性,穩定性
七、如何進行接口測試
1.使用接口測試工具進行測試,接口測試和接口文檔生成工具apipost,接口測試和性能測試工具jmeter
2.接口狀態碼表示含義
例如:200(成功)/300(重定向別的地方)/400(請求語法錯誤)/500(服務器異常)
測試點:
A. 用例設計(根據業務邏輯來設計用例,登錄5次,需要2分鍾后再登錄 刪除關注的車,列表少一條數據)
B. 參數組合(傳入不同值)
C. 接口安全(繞過驗證/繞過身份驗證/參數是否加密等)
D. 異常驗證(輸入異常參數邊界值)
工具下載地址:
apipost: https://www.apipost.cn
jmeter: https://jmeter.apache.org/