MeterSphere 案例分享丨易盛資訊 MeterSphere 介面測試使用經驗
鄭州易盛資訊科技有限公司(以下簡稱為易盛資訊)是鄭州商品交易所的全資技術子公司。其主要的發展戰略為“兩個面向”,即面向鄭州商品交易所和麵向全球金融期貨市場。
目前,易盛資訊一個普通交易日6小時處理的交易額遠遠超過了天貓雙十一全天的交易額,核心系統處理時延精確至納秒級,部分系統資料精度要到小數點後三十多位。系統的穩定性至關重要,如果交易系統發生故障導致中斷會影響世界範圍內相關產品定價。總而言之一句話,我們要千方百計地確保系統“不能出事”。
系統測試階段面臨的問題
在系統測試階段,針對介面測試我們主要面臨兩類問題。
- 第一類是私有協議問題,期貨交易採用基於TCP和UDP的期貨報文交換協議,市面上沒有針對性的測試工具。如果需要自動化,就需要編寫C++程式碼來進行測試,這無疑對測試人員提出了很高的要求;
- 第二類問題則是我們的辦理申報類業務,對HTTP介面測試的需求具有鮮明的特點。此類採用非私有協議的系統,大部分採用Java開發,通過HTTP介面進行互動。
而在這一環節中,我們需要和資料庫進行比較。業務中有大量的表單填寫和各種計算,需要對介面處理後的資料進行一定規則的校驗。傳統介面測試工具均無法支援資料庫相關操作。
在這方面,我們也進行了一些嘗試,今年疫情期間,我們開發了一版以HttpRunner為核心引擎的介面測試工具原型,結合自有Python操作Oracle封裝的庫,實現了和資料庫結果的比較,但由於指令碼編寫內容多、UI不夠便捷、文件不夠清晰等一系列原因最終擱置了這一自研工具;
介面測試的另一個特點是具有複雜且長的流程性介面。對於很多審批、申報類業務,需要按照順序和邏輯條件請求十幾個介面,中間由不同的使用者登入並操作,過程之繁瑣遠超微服務的無狀態呼叫,對於很多長流程組成的場景,無論是手工測試還是編寫自動化測試指令碼都很複雜。
MeterSphere給我們帶來的幫助
任何技術都有著自己的生命週期,從誕生到衰落也符合事物發展的客觀規律。傳統金融行業的網際網路轉型是漫長的,為了求穩,對於業內的眾多新興技術,並不會立刻採納,但我們仍然持續關注相關理論、技術、工具及平臺,爭取成為早期技術紅利的受益者。
2020年8月,在朱少民老師的公眾號“軟體質量報導”上第一次瞭解到了MeterSphere這個開源專案,並在9月的QECon大會上第一次見面。真的是“相見恨晚”呀!
經過一段時間的使用,我們逐步將MeterSphere開源持續測試平臺引入到我們的業務場景測試之中,也收穫了一些使用心得和體會。在這裡和大家分享一下。
1.平臺即服務
在使用MeterSphere之前,我們主要用Postman進行介面測試。與工具型的Postman相比,MeterSphere是一個持續測試的平臺。MeterSphere的主要優勢包含以下幾點:
搭建方便
MeterSphere基於Docker提供服務,並提供完備的私有化部署能力,支援一鍵安裝和升級,整個過程非常流暢,體驗良好。容器化的部署方式避免了測試人員安裝工具的成本,搭建好平臺後即可直接使用。
▲圖1 MeterSphere支援一鍵安裝和升級
管理規範
MeterSphere能夠實現組織、工作空間、專案、測試、場景等多級管理,角色許可權分離,井井有條。它還可以與內部LDAP對接,使用起來非常方便。
▲圖2 MeterSphere可與LDAP進行對接
▲圖3 MeterSphere支援使用者、組織和工作空間管理
2. 與MeterSphere的“一見鍾情”
初次試用MeterSphere,就發現了它非同一般的易用性,提供介面測試解決方案上也恰好直擊我們的痛點。我們選擇了具體的業務組進行了試用推廣,真的很香,主要的原因來自以下幾個方面:
除錯功能
測試過程中常常需要除錯,MeterSphere貼心地提供了除錯按鈕,可以立刻看到當前介面的執行情況,方便使用者及時調整,這方面體驗和Postman完全一樣。
▲圖4 MeterSphere介面測試提供了與Postman類似的體驗
支援Python的前後置指令碼
Postman支援使用JavaScript編寫指令碼,但我的同事們更熟悉Python,而MeterSphere支援Python的前後置指令碼就給介面測試增加了更多的靈活性。在這方面,MeterSphere更具優勢。
▲圖5 MeterSphere支援Python的前後置指令碼
支援SQL語句
這應該是支援我的團隊開始使用MeterSphere最關鍵的原因了。支援SQL就滿足了我們在介面測試中50%的需求,結合自定義變數和資料庫源配置及除錯功能,可以非常便捷地編寫用例。即使測試人員不會寫程式碼只會寫SQL,也可以通過簡單的培訓快速上手,相較於原有需要測試人員手動編寫Python測試程式碼要便捷許多。
▲ 圖6 MeterSphere在介面測試中支援SQL語句
▲圖7 SQL請求返回結果
3. 支援測試跟蹤和效能測試
除了我們主要關注的介面測試,MeterSphere也支援測試跟蹤和效能測試。官方有意和我們目前正在使用的禪道平臺打通,進行缺陷管理,這樣工具就可以聯動起來。對於效能測試的功能,我們也正在探索中,將介面測試用例一鍵轉為效能測試用例,並輔以視覺化施壓曲線,非常直觀,點個贊!
4. 與技術棧契合
基於Vue.js和SpringBoot的前後端分離程式是當前主流的技術實現方式,MeterSphere沒有藏著掖著,核心功能程式碼全部開源,使用Swagger作為介面文件清晰易讀,大大降低了二次開發和定製化的門檻。
5. 支援持續整合
MeterSphere提供了Jenkins外掛用來打通持續整合,能夠和內部的CI/CD流水線配合工作,提高自動化率。同時,基於前後端分離的設計,MeterSphere還能夠便捷地通過自定義指令碼觸發介面批量執行。
使用情況
我們目前對MeterSphere的使用方法是在諸多測試團隊中選擇了一個典型團隊進行試點推廣,文中截圖均來源於此團隊的測試實踐。具體專案由專職測試團隊進行系統測試,充分設計場景和用例,開始逐漸將原有零散的用例向MeterSphere平臺遷移,充分利用其管理能力和複用能力。當用例積累到一定規模後,可以便捷地展開冒煙和迴歸測試。
感受與評價
MeterSphere開源持續測試平臺是一款經過細心雕琢的產品,易用性相較於之前接觸過的開源工具有極大的提升。
社群的活躍度是評價一個開源專案的關鍵指標。沒有社群哪來的生命力?MeterSphere團隊的同學非常熱情,積極協助我們解決使用中的各種問題,同時我們將發現的問題和意見建議提交Issue,官方再有選擇地採納,這就形成了一個良性的互補和迴圈,互相促進各自的產品質量持續提升,共同受益。
期待與建議
截至目前,MeterSphere每一個新版本都能解決多個切實關心的實際問題,並且積極採納使用者合理的意見和建議,永葆活力。希望MeterSphere開源專案不忘初心,在開源社群持續不斷地茁壯成長,成為測試工程師們不可或缺的工具。
注:本文作者為鄭州易盛資訊科技有限公司測試中心效能組狄雨晨。
相關文章
- 使用 MeterSphere 進行 Dubbo 介面測試
- MeterSphere 案例分享丨恆大智慧科技基於 JMeter 的效能測試方案演進之路JMeter
- 開源測試平臺--MeterSphere
- 求助 jenkins 中使用 metersphere 外掛,MeterSphere 帳號驗證失敗!Jenkins
- metersphere 介面自動化中sql場景使用SQL
- 京東卡拿不停!開源測試平臺 MeterSphere 眾測啦!
- MeterSphere開發者手冊
- Linux上搭建meterSphereLinux
- MeterSphere 介面自動化測試應用實踐 - 定時任務構建機器人機器人
- 在 MeterSphere 中使用預執行指令碼功能生成介面認證簽名指令碼
- [測試經驗] 依賴方介面呼叫測試
- 經驗分享篇丨測試小白如何做好功能測試,看這幾點就夠了
- 經驗分享丨功能測試漲薪路線,記一次簡單的效能測試實踐!
- 我們為什麼要從 HTTPRunner 轉向 MeterSphereHTTP
- 詳解MeterSphere 配置外部Mysql5.7的全過程MySql
- 一份經過時間檢驗的 Laravel PHPUnit 測試經驗分享LaravelPHP
- 案例研究|茶百道透過 “MeterSphere+ 阿里云云效” 實現高質量產品交付阿里
- 測試案例分享:淘寶網使用者體驗測試出現的8個問題及測試方法公開
- 軟體測試新人,教你如何成功入行?經驗分享
- 持續測試的興起:寫在 MeterSphere 開源專案 GitHub Star 數量突破 1000 之際Github
- 滲透測試公司 入職後的個人經驗分享
- 測試管理新增檢視與高階搜尋功能,測試計劃支援一鍵生成缺陷詳情,MeterSphere 開源持續測試工具 v3.3 版本釋出
- 為什麼要做介面測試?可做介面測試的軟體測試公司分享
- 介面測試框架接入效能測試實踐分享框架
- 測試實戰分享:關於詞根字典使用者測試的案例研究
- 介面測試-引數校驗
- 軟體測試工程師如何從功能測試轉成自動化測試?經驗分享篇工程師
- Polymer使用經驗分享
- 軟體測試外包專案經驗分享:歷經7個月的OA系統專案驗收測試情況
- Java Agent場景效能測試分析最佳化經驗分享Java
- 軟體測試之功能測試、效能測試經驗談
- 測試經驗總結:測試員的角色
- 朋友圈測試遊戲易洩露資訊遊戲
- 專案測試經驗交流
- 微軟測試工作經驗談微軟
- .NET8.0 AOT 經驗分享 - 專項測試各大 ORM 是否支援ORM
- 十年測試經驗悟出的測試心得
- 介面測試工具和使用