接口測試基礎


接口測試的基礎流程和用例設計


一、接口測試的基本信息

1、常用的兩種接口:webservice接口和http api接口
  webService接口是走soap協議通過http傳輸,請求報文和返回報文都是xml格式的,可以用soupui、jmeter等工具進行測試。
  http api接口是走http協議,通過路徑來區分調用的方法,請求報文都是key-value形式的,返回報文一般都是json串,有get和post等方法,可以用postman、jmeter等工具進行測試。

2、接口測試的必要性

  可以發現很多頁面上操作發現不了的bug;
  檢查系統的異常處理能力;
  檢查系統的安全性、穩定性

3、接口測試流程

  需求評審,熟悉業務和需求 → 開發提供接口文檔 → 編寫接口測試用例 → 用例評審 → 提測后開始測試 → 提交測試報告

4、接口規范文檔

  接口文檔至少包括:
    (1)接口說明
    (2)調用url
    (3)請求方法(get\post)
    (4)請求參數、參數類型、請求參數說明
    (5)返回參數說明

5、GET和POST請求

  如果是get請求的話,直接在瀏覽器里輸入就行了,只要在瀏覽器里面直接能請求到的,都是get請求,如果是post的請求的話,就不行了,就得借助工具來發送。
  GET請求和POST請求的區別:
    (1)GET使用URL或Cookie傳參。而POST將數據放在BODY中。
    (2)GET的URL會有長度上的限制,則POST的數據則可以非常大。
    (3)POST比GET安全,因為數據在地址欄上不可見。
    (4)一般get請求用來獲取數據,post請求用來發送數據。
其實上面這幾點,只有最后一點說的是比較靠譜的,第一點post請求也可以把數據放到url里面,get請求其實也沒長度限制,post請求看起來參數是隱式的,稍微安全那么一些些,但是那只是對於小白用戶來說的,就算post請求,你通過抓包也是可以抓到參數的。所以上面這些面試的時候你說出來就行了。

    其實沒有什么太大的區別,最大的區別就是get請求只能通過url傳參

6、http狀態碼

  (1)200 2開頭的都表示這個請求發送成功,最常見的就是200,就代表這個請求是ok的,服務器也返回了。
  (2)300 3開頭的代表重定向,最常見的是302,把這個請求重定向到別的地方了。
  (3)400 400代表客戶端發送的請求有語法錯誤,401代表訪問的頁面沒有授權,403表示沒有權限訪問這個頁面,404代表沒有這個頁面。
  (4)500 5開頭的代表服務器有異常,500代表服務器內部異常,504代表服務器端超時,沒返回結果。

二、接口測試用例設計

1、通過性驗證;參數組合;異常驗證(必傳非必傳,參數類型,參數長度);業務邏輯驗證(如:登錄失敗5次,需要等待15分鍾再登錄)

2、接口安全:

  (1)繞過驗證,比如說購買了一個商品,它的價格是300元,那我在提交訂單時候,我把這個商品的價格改成3元,后端有沒有做驗證,更狠點,我把錢改成-3,是不是我的余額還要增加?
  (2)繞過身份授權,比如說修改商品信息接口,那必須得是賣家才能修改,那我傳一個普通用戶,能不能修改成功,我傳一個其他的賣家能不能修改成功
  (3)參數是否加密,比如說我登陸的接口,用戶名和密碼是不是加密,如果不加密的話,別人攔截到你的請求,就能獲取到你的信息了,加密規則是否容易破解。
  (4)密碼安全規則,密碼的復雜程度校驗

3、接口測試模板 

  (1)項目            是哪個項目的

  (2)模塊            這個接口是屬於哪個功能模塊的

  (3)用例id

  (4)接口名稱 

  (5)用例標題      用例是干嘛的

  (6)請求方式      GET/POST

  (7)請求url         url地址

  (8)請求參數

  (9)前置條件       有依賴的時候,比如說要測登錄失敗3次的

  (10)結果驗證     預期結果

  (11)請求報文     

  (12)返回報文  

  (13)測試結果    通過/失敗

  (14)測試人員   

三、測試工具postman和jmeter

1、post請求,json入參

  

              postman的json入參      

  

              jmeter的json入參

2、權限驗證

  

              postman權限驗證

3、header

  

              postman添加header

 

Jmeter選擇選擇HTTP信息頭管理器,添加header信息;

  

 

              選擇HTTP信息頭管理器 

4、cookie

              postman添加cookie

Jmeter添加cookie,“線程組 → 添加 → 配置元件 → HTTP Cookie 管理器” 來添加cookie;

              jmeter添加cookie

5、上傳文件

              postman上傳文件

              jmeter上傳文件

6、jmeter參數化、正則表達式和JDBC

(1)參數化三種方式:選項→函數助手對話框;測試計划中添加用戶變量;通過文件獲取變量值。

  

(2)正則表達式

  

(3)JDBC

添加配置元件“JDBC Connection Configuration”,添加sampler中的JDBC Request;

  

注:JDBC元件和請求里Variable Name參數必須相同。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM