一、實現接口自動化測試


@

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

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

  1. UI能模擬用戶的真實行為,但是受外部的原因,如電腦卡頓,瀏覽器卡頓,網速,需求變動等,從而容易造成腳本執行失敗,維護成本較高,投入較高等問題
  2. 接口測試直接驗證模塊邏輯的正確性,去除UI干擾
  3. 接口測試難度低於UI測試,執行效率高於UI,可測試的代碼覆蓋率高,維護成本低,屬於低成本,高收益
  4. 有些項目產品數據列表的內容比較多,不好定位,難以開展UI自動化測試
  5. 接口自動化能夠解放人力,提升工作效率

二、了解一波接口

2.1 什么是接口

接口一般來講分為兩種:

  1. 程序內部的接口:方法與方法、模塊與模塊之間的交互,程序內部拋出的接口,如登錄發帖,發帖就必須要登錄,如果不登錄不能發帖,發帖和登錄這兩個模塊之間就要有交互,就會拋出一個接口,進行內部系統調用。
  2. 系統對外的接口:從別人的網站或服務器上獲取資源或信息,對方不會提供數據庫共享,只能提供一個寫好的方法來獲取數據,如購物網站和第三方支付之間,購物網站支付時可選擇第三方支付方法,但第三方不會提供自己的數據庫給購物網站,只會提供一個接口,供購物網站進行調用。

2.2 常用接口

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

2.3 http登錄接口文檔范例

2.4 獲取接口關鍵信息

  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
返回狀態 描述
1xx 請求已被成功接收、理解、接受
2XX 成功,操作被成功接收並完成響應
3xx 重定向--要完成請求必須進行更進一步的操作
4xx 客戶端錯誤--請求有語法錯誤或請求無法實現
5xx 服務器端錯誤--服務器未能實現合法的請求

三、什么項目適合做接口自動化測試

  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持續集成工具,實現自動打包,按時發布並執行,生成結果郵件發送給項目相關人


免責聲明!

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



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