如何做好接口測試

 

 

1.    首先,什麼是接口?

   接口無非有兩種,一種是內部接口,一種調用對外包裝的接口

   內部接口:方法與方法之間,模塊與模塊之間的交互,程序內部拋出的接口,例如下訂單,首先你需要登錄,然後調用下訂單接口,兩個模塊有交互那麼相互之間的調用,就屬於內部接口

   對外包裝的接口:例如A部門做一個買車服務,它賣兩種車一是二手,二是新車,那麼它要賣二手車,是不是直接可以調用二手車部門共享的數據進行包裝,從而是不是達到數據的共享等等,就不一一舉例子.

2.       常用接口採用方式:

1、webService接口:是走soap協議通過http傳輸,請求報文和返回報文都是xml格式的,我們在測試的時候都用通過工具才能進行調用,測試。可以使用的工具有SoapUI、jmeter、loadrunner等;

     2、http api接口:是走http協議,通過路徑來區分調用的方法,請求報文都是key-value形式的,返回報文一般都是json串,有get和

post等方法,這也是最常用的兩種請求方式。可以使用的工具有postman、RESTClient、jmeter、loadrunner等;

3.       https並非是應用層的一種新協議,只是http通信接口部分用SSL(Secure socket Layer)和TLS(Transport Layer Security)協議代替而已

     那麼上述1,2,3

     webService:返回的格式xml還需要解析麻煩,而且速度可能有降低(目前開發平臺等都使用的http(get/post實現的)    

http協議時超文本傳輸協議(不安全)

https是安全的超文本傳輸協議,是安全版的http協議,使用安全套接字層(SSL)進行信息交換。

https協議主要針對解決http協議以下不足:

1.通信使用明文(不加密),內容可能會被竊聽

2.不驗證通信方身份,應此可能遭遇僞裝

3.無法證明報文的完整性(即準確性),所以可能已遭篡改

綜上所述:目前我們看到的接口測試.,相信大家用的https、http多一些

4.       前端和後端

前端:app,網頁統稱前端(展示-負責貌美如花)

後端: 後臺提供數據,校驗,下訂單等等處理(負責掙錢養家)

5.       接口測試概念

接口測試是測試系統組件間接口的一種測試。接口測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關係等(通俗來說就是,檢查業務邏輯是否滿足業務需求,校驗字段是否正常你實際結果是否滿足預期)

6.      接口的組成:

    a、接口說明

b、調用url

c、請求方法(get\post)

d、請求參數、參數類型、請求參數說明

e、返回參數說明

 

7.       爲什麼要做接口測試,接口測試的目標

接口其實app和前端交互用的,所以好多人問,爲啥做功能測試還要測接口,目標是啥不是多此一舉嗎?首先我告訴大家,這種想法是錯誤的

那麼舉一個例子:

例如一個登陸接口,例如產品上規定用戶名6-10個字符數字下劃線,但後端沒做判斷。但我們業務人員測試肯定驗證,但只是前端做了校驗,後端壓根就忘了這個小需求.那麼後果來了如果一個懂的直接抓包去篡改你的接口,然後繞過校驗,通過sql注入直接隨意登錄。如果你這是一個下單業務,是不是給公司造成了很大損失

  所以此時此刻接口測試目標來了:

1.可能發現客戶端沒有發現的bug(那麼也叫隱藏bug)

2.及早爆出風險(保證質量正常上線)

3.接口穩定了,前端隨便改

4.最重要檢查系統安全性,穩定性

8.常常有人問我怎麼測

  1.無非就兩種get/post工具postman/httprequest等

  2.狀態嗎你至少了解

   例如:200(成功)/300(重定向別的地方)/400(請求語法錯誤)/500(服務器異常)

  怎麼測:

A.      用例設計(根據業務邏輯來設計用例,登錄5次,需要2分鐘後再登錄)

B.      參數組合(傳入不同值)

C.      接口安全(繞過驗證/繞過身份驗證/參數是否加密等)

D.      異常驗證(輸入異常參數邊界值)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章