接口管理與測試平台-小幺雞


轉載:https://baijiahao.baidu.com/s?id=1575717194591812&wfr=spider&for=pc

一. 簡介

為什么需要接口管理與測試平台

隨着系統業務增長,模塊間的交互復雜化,我們在測試接口時總會碰到各種各樣問題,比如:

因為接口文檔更新不及時導致的接口歧義

測試時總會有思維發散的測試用例,在測試用例文檔中維護起來很麻煩

市面上的測試工具各有特色,測試人員找不到合適自己測試的工具,或者說在不同的工具間切換不方便

因為接口的加密或者驗證功能,給測試帶來麻煩,而工具又很難進行擴展

自動化測試需要大量編碼維護工作

為了改善這些問題,讓接口測試更加流暢。我們在開源系統上進行二次開發,綜合了常用的接口測試工具的功能,開發了新浪接口管理與測試平台,功能更加全面,且易於擴展。

接口管理與測試平台的主要特點

功能全面

平台實現了項目接口編輯,文檔導出,接口測試,用例記錄,自動化測試,團隊管理等功能,涵蓋文檔編輯,在線測試,自動化等各種場景,實現一站式測試。

簡單易用

在傳統的接口開發過程中,我們會用到wiki,postman,soapUI等工具來輔助開發和測試,該平台集以上功能於一體,使整個項目的接口開發和測試工作更方便快捷

解決了什么問題

消除接口文檔歧義

接口即文檔,可用於團隊內外分享接口文檔,開發在更新接口的同時,對外發布的文檔也同時更新,再加上分享和在線測試功能,不會引起接口歧義

一站式測試

集在線測試,用例維護,自動化測試於同一平台,而且可以對參數進行常用的加密等處理,並支持擴展,再也不用在各種測試工具之間切換

測試用例共享

測試用例和測試數據都可以隨時保存,且與團隊成員分享

簡化自動化測試

保存的用例可直接用於自動化,不用專門維護

二. 系統功能模塊

【圖1 功能模塊圖】

1. 項目管理

包括可視化接口編輯/預覽,文檔分享/導出等功能,還通過webSocket機制實時通知團隊中成員的操作,與傳統的wiki管理項目和接口的方式相比,有很多優勢:

以項目->模塊->分類->接口的層級關系,讓接口自然分類,一目了然。省去了wiki中復雜的層級結構規划工作

支持markdown編輯器

編輯頁面更人性化,接口的所有屬性清晰明了,參數類型,描述都有嚴格定義,減少接口文檔帶來的歧義

瀏覽模式自動生成格式化文檔,省去了wiki復雜的格式排版工作

測試模式可以進行在線模擬測試,未上線之前可以進行環境切換,在接口聯調時可以減少溝通成本

可直接導出PDF,方便接口文檔傳閱

2. 用戶管理

包括用戶信息,團隊成員的管理。無需注冊,用LDAP域帳號直接登錄,可以維護自己團隊的成員來實現項目的權限控制。

3. 接口測試

可進行在線測試,並設置校驗規則,測試過的用例可以保存下來在團隊中共享。與普通的接口測試工具(如postman,soapUI)相比,也有很多優勢:

支持多種接口協議,如http、webSocket測試(postman不支持webSocket)

支持多種請求類型如form-data,x-www-form-urlencoded ,raw,binary ,根據不同響應類型可對返回結果進行格式化,如json,xml,txt,jsonp等格式(postman做的比較全面,其他工具就比較少)

支持變量,測試環境和請求參數都可以用變量形式,且無限擴展(其他工具或者不支持擴展,或者只有少量的既定變量)

支持團隊中分享項目,接口和測試用例。無需注冊,用LDAP域賬號登錄后,即可加入團隊,查看接口(postman需要借助google賬號實現分享,且收費項目)

支持將單個項目或者接口分享給其他人進行瀏覽(postman只能導出)

支持測試用例管理(soapUI有測試用例管理,但操作比較復雜)

支持對返回值進行校驗,校驗規則可以擴展(其他工具只能使用既定的校驗規則)

4. 自動化測試

從數據庫讀取自動化用例進行回放並校驗返回結果。支持設置執行計划,單次執行或預約執行。為了解耦,分為三個模塊:

Server:提供接口供前端調用,傳入執行計划

Task Runner:后台輪詢檢測數據庫,獲取未執行的任務,執行並置狀態

Email Sender:讀取數據庫,發送郵件給執行者

流程圖如下:

【圖2 自動化運行流程圖】

三. 系統架構

前端靜態頁面基於nodejs,webpack gulp,vuejs,jqueryjs開發;

后端API 使用java開發,運行在tomcat8以上版本;

自動化運行程序使用python開發,輪詢獲取數據庫中需要自動化運行的case,運行並回寫結果;

系統架構圖如下:

【圖3 系統架構圖】

四. 功能亮點展示

新浪接口測試平台實現了大部分日常接口開發和測試流程中所用到的功能,我們通過二次開發,也對許多功能進行了優化,並支持在使用過程中隨時進行擴展。界面設計和操作步驟都非常簡易,下面主要介紹一下功能亮點:

可視化編輯與分享,讓接口撰寫變簡單

可視化編輯器,可隨時修改並且瀏覽接口基本信息及參數,讓開發在設計接口和撰寫接口文檔時更加方便。

完善的分享機制,通過權限控制,可以將某個項目或者接口分享給團隊內外的人員,在線測試和mock功能可以增強團隊合作的緊密程度。

多功能導出,支持導出PDF或JSON格式,PDF即為格式化的接口文檔

【圖4 接口可視化編輯界面】

在線接口測試,消除接口文檔歧義

支持在線測試,接口文檔撰寫好后即可在線測試,方便前后端開發聯調,降低錯誤率

支持參數變量化,簡化接口因加密帶來的測試工作量,方便測試

支持多種協議,目前有http,webSocket協議,可擴展

支持返回結果校驗,方便回歸測試

【圖5 在線接口測試演示】

測試用例管理,使測試過程有跡可循

支持測試用例保存和查看,團隊成員可互相審閱測試用例,減少項目交接帶來的工作量

支持多種格式校驗,測試用例可以對返回結果設置校驗,包括http返回碼,json值校驗等,方便回歸測試以及自動化測試

【圖6 測試用例管理界面】

在線編寫自動化測試,讓大家都能夠參與測試

自動化用例編輯可視化,使自動化過程更加簡單明了

完善的自動化運行機制,支持接口參數和環境變量化,實現不同環境下運行同樣的測試用例

豐富的結果展示,方便問題查詢

【圖7 自動化測試界面】

五. 參考文檔

小幺雞項目源碼地址:

https://git.oschina.net/zhoujingjie/apiManager.git,我們在小幺雞的基礎上開發和封裝了接口管理與測試平台


免責聲明!

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



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