天天看點

社群分享|緻遠互聯基于MeterSphere建構靈活測試平台與DevOps

作者:FIT2CLOUD飛緻雲

編者注:2022年10月,MeterSphere開源社群在成都訪談了緻遠互聯測試經理張之棟。作為MeterSphere開源持續測試平台的資深使用者,張之棟先生分享了緻遠互聯測試平台選型的過程,以及靈活測試平台與DevOps體系的建設過程。以下内容根據本次訪談整理而成。

北京緻遠互聯軟體股份有限公司(以下簡稱為“緻遠互聯”)成立于2002年,總部設立在北京,是一家集産品的設計、研發、銷售及服務為一體的高新技術企業,為客戶提供專業的協同管理軟體産品、平台、解決方案及雲服務,是中國協同管理軟體領域的開創者和持續引領者。

緻遠互聯主要為政企客戶提供産品及解決方案,并不斷向大協同市場領域拓展。公司堅持平台化産品的發展路線,基于自主研發的V5協同管理平台,開發了面向中小企業組織的A6産品,面向中大型企業和集團型企業組織的A8産品,以及面向政府組織及事業機關的G6産品。

社群分享|緻遠互聯基于MeterSphere建構靈活測試平台與DevOps

一、緻遠互聯的業務背景

緻遠互聯旗下的軟體産品采用微服務架構設計,産品業務複雜度較高,整體由20個微服務構成。主打産品協同營運平台(即Collaborative Operation Platform,簡稱為COP)是面向數字化組織的企業級服務新品類,能夠覆寫企業辦公常見業務終端,統一接入企業業務流程建設體系。

社群分享|緻遠互聯基于MeterSphere建構靈活測試平台與DevOps

由于業務複雜度高,且産品的業務生态體系龐大,緻遠互聯的測試團隊不斷探索,希望能夠搭建具有控制産品品質、測試流程、考核名額、持續內建等能力的一體化測試平台。

二、使用MeterSphere平台契機

緻遠互聯的測試團隊規模為50人,分不同測試小組進行業務、接口、性能、UI、安全等測試工作。出于大規模團隊測試協作的要求,且從自身産品理念——“協同辦公”出發,在搭建測試平台過程中,測試團隊經理找到了MeterSphere一站式開源持續測試平台。希望能夠基于MeterSphere建構起協同研發體系工作的測試平台,并且打通産研DevOps流程,滿足團隊管理與降本增效的需求。

選擇MeterSphere開源持續測試平台的理由如下:

■ 具備團隊協作能力:MeterSphere與緻遠互聯自身的協同辦公、數字化組織建設産品理念不謀而合;測試過程的資料、測試腳本、測試報告可按照業務組整合,友善對團隊考核做資料支撐;

■ 使用體驗佳:MeterSphere的界面簡潔易用,具備接口管理、接口用例管理、自動化測試的編排能力,支援自動輸出測試報告的能力;測試同學上手度高,大幅縮短了自動化測試時長;

■ Devops內建能力:團隊對代碼品質要求高,代碼建構需要提前做P0場景冒煙測試及自動建構日常自動化測試任務。MeterSphere平台具有建構完整的流水線任務的能力。

通過對MeterSphere的調研、落地使用,并且對DevOps流水線內建系統做了适當改動之後,緻遠互聯建構了自己的“靈活測試平台與DevOps建設系統”。

三、靈活測試平台與DevOps體系的建設方法

基于緻遠互聯自研的DevOps平台與MeterSphere內建的設計思路如下:

1. 基于MeterSphere的OpenAPI接口,通過測試平台微服務統一觸發冒煙測試和接口功能測試自動化任務。通過流水線建構Dev環境,觸發對應微服務接口場景執行,異步傳回執行結果到流水線服務。如果通過,則控制推送鏡像至Test環境,并且通過配置檔案控制執行并發數、執行環境,最終将內建執行過程資料收集,并生成測試報告和觸發消息;

2. 測試平台端建立初始化、冒煙、功能測試、還原等目錄,分别在對應目錄下實作對應接口場景:流水線建構Dev環境,觸發對應微服務接口場景執行(可配置執行目錄),異步傳回執行結果到流水線服務。如果通過則控制推送鏡像至Test環境;CI建構時,測試同學隻需在對應目錄下新增或移出場景,即可同步CI建構時的執行場景。

社群分享|緻遠互聯基于MeterSphere建構靈活測試平台與DevOps

統一排程CI/CD流水線內建過程如下:

① 開發代碼送出到阿裡雲上做代碼內建編譯并生成對應的鏡像後,通過MeterSphere平台拉起接口測試環境,觸發任務調用MeterSphere冒煙接口自動化任務搭建,快速完成P0場景冒煙測試。

■ 若P0冒煙測試通過,則标記鏡像成功并建構提測到測試環境,通知測試人員進行最新的功能測試;

■ 若P0冒煙測試未通過,則建構任務復原,由開發人員重新修改自測再提測。保證測試環境功能穩定及代碼提測品質。

② 在測試團隊端劃分多個測試小組,當産品給出需求文檔後,測試人員将統一完成基于具體功能的接口測試場景。在MeterSphere平台按測試目錄實作腳本編寫,再由測試平台自動配置每晚跑相關功能的自動化測試任務。最後,測試報告會通過内部聊天工具“緻信”機器人生成對應消息通知到指定人。

社群分享|緻遠互聯基于MeterSphere建構靈活測試平台與DevOps

③ 所有執行過程資料由測試平台統計生成測試報告。每個微服務工程下自動化用例執行數量、通過率由統一收口展示,這樣可以直覺看到每個測試小組所負責子產品的自動化覆寫情況,為後續産品釋出及項目總結做資料支撐。同時,測試報告可以穿透到MeterSphere平台檢查未通過的接口用例,進而再對測試腳本做進一步的調試修改。

社群分享|緻遠互聯基于MeterSphere建構靈活測試平台與DevOps

④ 利用平台優勢,通過對研發代碼建構復原次數、測試腳本數量、測試執行過程通過率、接口覆寫率的統計,項目管理團隊可以對研發品質和測試品質進行整體評估。對團隊産出效能、投入産出的評比及後續崗位晉升都可以提供更有說服力和支撐力的資料支撐。

四、總結

緻遠互聯基于MeterSphere建構的靈活測試平台實作了以下成果:

■ 測試平台通過排程OpenAPI接口将場景執行方式由目錄控制,使業務組使用更加靈活;

■ 過程資料收集的顆粒度更高,能夠收集到更多關于測試管理過程的資料;

■ 任務排程更靈活。測試平台可以配置Java線程,通過調整接口自動化的執行線程,滿足統一場景對于不同并發線程的需求,同時也便于內建多種流水線環境;

■ 由測試平台統一排程自動化任務,減少了人為幹預造成的資源撞車,降低溝通成本,較以往的自動化建構效率明顯提升;

■ 目前,緻遠互聯已經在MeterSphere平台完成項目管理數17個。接口場景數量超過2600個,接入使用者數量50人。

五、後續測試平台完善計劃

■ 測試平台與精準測試的內建

目前,緻遠互聯的測試團隊正在初步推動并搭建精準測試平台相關建設内容,後續和測試平台做資料打通與內建,實作測試建構後精準推送受影響的功能測試用例到相關測試人員處,并自動拉起建構接口自動化任務,快速完成測試任務;

■ 契約測試探索

緻遠互聯産品微服務架構體系龐大,為了確定微服務之間足夠相容及通信協定排程正常,後續将引入契約測試,實作問題的快速定位和測試前移。

繼續閱讀