天天看點

為什麼要做接口自動化,怎樣做

一、為什麼要做接口自動化

  1. UI能模拟使用者的真實行為,但是受外部的原因,如電腦卡頓,浏覽器卡頓,網速,需求變動等,進而容易造成腳本執行失敗,維護成本較高,投入較高等問題
  2. 接口測試直接驗證子產品邏輯的正确性,去除UI幹擾
  3. 接口測試難度低于UI測試,執行效率高于UI,可測試的代碼覆寫率高,維護成本低,屬于低成本,高收益
  4. 有些項目産品資料清單的内容比較多,不好定位,難以開展UI自動化測試
  5. 接口自動化能夠解放人力,提升工作效率

二、了解一波接口

什麼是接口

接口一般來講分為兩種:

  1. 程式内部的接口:方法與方法、子產品與子產品之間的互動,程式内部抛出的接口,如登入發帖,發帖就必須要登入,如果不登入不能發帖,發帖和登入這兩個子產品之間就要有互動,就會抛出一個接口,進行内部系統調用。
  2. 系統對外的接口:從别人的網站或伺服器上擷取資源或資訊,對方不會提供資料庫共享,隻能提供一個寫好的方法來擷取資料,如購物網站和第三方支付之間,購物網站支付時可選擇第三方支付方法,但第三方不會提供自己的資料庫給購物網站,隻會提供一個接口,供購物網站進行調用。

常用接口

  1. http接口走http協定,通過路徑來區分調用方法,請求封包一般是key-value形式的,傳回封包一般是json串,常用的是get和post方法來請求。
  2. webservice接口走的soap協定,通過http傳輸,請求封包和傳回封包都是xml格式的。

http登入接口文檔範例

為什麼要做接口自動化,怎樣做

擷取接口關鍵資訊

  1. 開發提供接口文檔/接口規範(正規流程),如上接口文檔範例;

說明:如果沒有接口規範/文檔(不正規流程),需要使用抓包工具,如Fiddler、wireshark、httpwatch或直接在谷歌或火狐浏覽器F12等擷取接口關鍵資訊;

  1. 接口關鍵資訊:
  • 協定類型:http/htts
  • 請求URL/IP:如:網址:https://www.baidu.com/;ip:127.0.0.1
  • 端口:http預設端口:80,https預設端口:443或自定義端口
  • 請求方式:如post/get/put/delete
  • 表頭資訊:如内容類型Content-Type:application/json
  • 請求參數:注意參數的傳參類型如json;參數的屬性如名稱、類型、是否必填,參數的個數;
  • 響應結果:注意輸出内容的類型如json
為什麼要做接口自動化,怎樣做

三、什麼項目适合做接口自動化測試

  1. 任務需求明确,不會頻繁變動
  2. 項目周期較長,回歸測試頻繁(>=5次),開展自動化确實能提升測試效率及品質
  3. 産出的效益高于投入
  4. 測試預留的時間比較充裕

四、接口自動化關鍵點

  1. 開發測試腳本需充分考慮腳本的複用性
  2. 業務與資料分離

五 什麼時候可以做接口自動化

  1. 需求評審完畢,接口需求明确穩定
  2. 版本更新項目釋出之前的全流程回歸測試

    六、與開發同步進行接口用例腳本開發

    軟體開發未完成,接口還無法調試,測試如果需要同步開發接口,需根據接口文檔規範,利用MOCK SERVER等接口模拟工具模拟接口,進而進行接口自動化用例調試開發

七、接口自動化測試的流程

業務流程

  1. 評估投入與收益比,是否需要進行接口自動化
  2. 根據項目組成員的能力及項目屬性,選取适當的自動化工具或開發語言
  3. 分析業務,在功能測試用例提取主業務場景
  4. 先開發一個主業務場景腳本,根據需要補充其他業務場景

開發流程

  1. 提取腳本可重複項,封裝簡化腳本,利用公共類或公共函數等方法,提高腳本的使用率、可讀性及可維護性
  2. 提取腳本中可變的參數,修改成變量
  3. 利用csv、Excel、ini、資料庫、yaml等參數化資料資訊,使業務與資料分離,實作資料驅動測試
  4. 引入日志,出現問題能迅速定位
  5. 添加斷言并生成可視化報告
  6. 利用Jenkins持續內建工具,實作自動打包,按時釋出并執行,生成結果郵件發送給項目相關人

原文連結:https://blog.csdn.net/yiwenrong/article/details/101675497

優秀不夠,你是否無可替代

軟體測試交流QQ群:721256703,期待你的加入!!

歡迎關注我的微信公衆号:軟體測試君

為什麼要做接口自動化,怎樣做