案例研究|MeterSphere助力萬物云構建高效自動化測試平臺

萬物云空間科技服務股份有限公司(以下簡稱為“萬物云”),前身為萬科物業發展股份有限公司,是國內領先的物管龍頭上市公司。作為一家科技引領的全域空間服務商,萬物云致力于打造產業級共享服務平臺,基于空間物聯技術及應用,構建產業互聯生態。截至2023年12月31日,萬物云在全國范圍內的在管住宅物業服務項目達到3810個,商企物業服務項目2241個,智慧城市服務項目98個。
在這里插入圖片描述

一、萬物云的測試業務現狀及自動化建設目標

萬物云的測試范圍包含軟件和硬件兩個層面。軟件層面,萬物云統一管理著旗下萬科物業、萬科云城等七家公司的研發團隊,這些公司的業務領域包括居住消費、住宅物業、二手房租售、新房置業、房屋裝修、商企物業、安防機電、智慧城市、智慧社區等,業務系統眾多,使用的IT信息系統超過60個,每個系統在更新后都需要進行測試;

硬件層面,由于萬物云的業務包括提供IoT(Internet of Things,物聯網)解決方案,其中涉及到許多硬件,這些硬件也需要進行測試。因此,對于萬物云的測試團隊來說,面向繁雜應用場景和維度的測試無疑是一個巨大的挑戰。

除了廣泛的測試范圍以外,測試管理的不便和測試效率低下也是困擾萬物云測試團隊的兩個難題。一方面,萬物云信息系統的測試工作由許多測試小組獨立負責,這些小組一般由3到5人組成。各小組的測試工具和測試資產比較零散,管理人員難以實時統計和管理測試數據、測試進度及測試成果;

另一方面,隨著業務的快速增長,萬物云各個項目的迭代周期從以往的2到3個月縮短為1個月甚至更短,迭代周期的縮短,對測試團隊的測試效率提出了更高的要求。

萬物云的測試團隊希望從建設自動化測試平臺入手,進一步優化測試流程,提高測試效率,解決測試范圍廣、測試管理難、測試效率低三個關鍵問題,并實現以下三個目標:

■ 全生命周期的測試管理

萬物云的測試團隊希望新構建的自動化測試平臺可以覆蓋測試活動的完整生命周期,涉及測試計劃的制定、用例設計、自動化腳本編寫、測試執行、結果分析和報告整理等環節。

在測試計劃階段,測試團隊的管理人員可以通過測試平臺確定測試目標、測試范圍、測試資源、測試進度等,確保測試活動能夠有序進行;

在測試設計階段,測試平臺需要提供設計測試用例的工具和方法,幫助測試人員設計測試用例和測試場景,從而確保測試的全面性和有效性;

在測試執行階段,測試平臺要具備可以自動化執行測試用例的能力,減少人工測試量,提高測試效率,同時也要能夠實時同步測試進度和測試結果,保證測試人員可以及時發現和處理測試中遇到的問題;

在結果分析和報告整理階段,測試平臺需要能夠對測試結果進行統計和分析,生成詳細的測試報告,幫助測試團隊了解測試的質量和效果,同時為未來改進測試工作提供參考。

■ 提升持續測試能力

項目迭代周期的縮短,意味著測試團隊需要快速高效地完成冒煙測試和回歸測試。這就要求在應用發布時,測試平臺要能夠自動運行冒煙測試和回歸測試用例,并將測試結果及時反饋給開發團隊,保障核心業務場景的穩定性。

要實現這個目標,最直接的手段是將測試平臺與DevOps平臺進行對接,保證測試平臺能夠自動觸發測試操作。然而,萬物云使用的各類測試工具無法與開發團隊所使用的TFS(Team Foundation Server ,微軟開發的團隊代碼管理服務平臺)平臺進行集成,導致萬物云DevOps流程中持續測試的短板無法被補齊。

為了讓萬物云的測試活動更加緊密地融入敏捷開發的流程中,萬物云迫切需要一個能夠與DevOps工具鏈集成的測試平臺。

■ 建立質量度量體系

萬物云的測試數據資產大部分由各個測試人員獨立維護和管理,這導致了測試管理人員難以實時統計測試進度,不利于迭代計劃的調整和優化。

所以,新構建的測試平臺要具備展示實時數據的能力,從而為測試團隊的管理人員分析測試進度提供參考,并且對測試活動的績效作出評估。除此以外,測試平臺還需要能夠生成可視化報告,從而幫助團隊識別日常工作中存在問題,并且及時制定優化策略。

二、為什么選擇MeterSphere?

萬物云的測試團隊經過詳細的調研和對比,最終選擇了基于MeterSphere開源持續測試平臺建設自動化測試平臺。測試團隊經過對比選型后選擇MeterSphere的四個理由如下:

1.一站式的測試和管理

測試方面,MeterSphere集成了團隊協作、用例管理、接口自動化、UI測試、性能測試和消息通知等功能,讓測試團隊可以一站式地完成測試任務,無需頻繁切換各種測試工具。在設計不同業務類型的測試用例時,MeterSphere提供的自定義用例模板、自定義版本、自定義模塊等功能,為構建用例的規范和標準提供了基礎支撐;

管理方面,MeterSphere所使用的“工作空間+項目”管理維度,正好與萬物云“測試小組+項目”的團隊管理模式相適配。除此以外,MeterSphere還支持對測試數據資產進行集中的持久化存儲,極大地方便了測試團隊統一管理和繼承測試數據。

2.靈活的插件機制和高可擴展性

萬物云對測試平臺的重要需求之一,就是測試平臺要能夠支持包括MQTT協議在內的軟件和硬件的自有協議。

MeterSphere的自定義插件機制滿足了這一需求。通過MeterSphere完全開放的API,測試團隊可以靈活地根據業務需求完成與微軟TFS的對接,將測試業務與CI/CD流程打通,讓自動化測試融入敏捷開發的流程,最終形成閉環。

3.數據分離和高度可復用

MeterSphere支持獨立維護并使用包括用例、腳本、數據在內的公共測試資產。因此,在底層系統相同的情況下,測試人員可以提煉出業務的重疊部分,將這些測試資產轉化為公共測試資產,與其他測試人員共享。這樣一來,每位測試人員只需要關注各自獨有的測試參數,就可以快速開展測試任務了。

除此以外,MeterSphere還擁有靈活的用例引用和復制機制,測試人員可以輕松地拆分和組裝公共測試資產,最大程度地化解了測試人員每次測試都需要重新編寫測試用例的痛點。使用MeterSphere后,萬物云的測試人員只需要根據業務流程選擇用例進行組裝,就可以完成整個業務流程的拼接。

4.可視化的測試度量

DataEase是一款開源的數據可視化分析工具,具備豐富的圖表類型和樣式配置,以及靈活的指標計算、下鉆、聯動等功能。

MeterSphere支持與DataEase無縫對接。以MeterSphere集中管理的測試數據為基礎,借助DataEase的數據展示能力,能夠多維度地實時展示測試進度和測試成果,將萬物云的測試度量體系可視化,極大提升了萬物云測試團隊對應用的質量保障水平。

三、萬物云自動化測試平臺的建設過程

萬物云自動化測試平臺的建設過程共分為四個階段:即存量測試數據整理和遷移階段、集成TFS階段、測試質量大屏建設階段,以及持續測試階段。

■ 第一階段:存量測試數據整理和遷移階段

萬物云的存量測試數據資產由各個測試小組的成員保存,具有數據類型多樣化的特點。紛繁復雜的數據類型,讓測試團隊的存量數據遷移變成了一項艱巨的工作。

由于MeterSphere支持直接導入常見的Postman、JMeter、Swagger等類型的測試數據,因此測試團隊平滑地完成了存量數據的遷移工作。除了存量數據易于遷移以外,MeterSphere平臺還支持定時同步Swagger文檔,從而實現了接口定義數據的定時自動更新,降低了測試團隊的溝通成本,有效提升測試效率。

■ 第二階段:集成TFS階段

萬物云的開發團隊使用微軟TFS進行流水線作業。然而,TFS無法直接與MeterSphere進行對接。為了解決這一難題,萬物云測試團隊和MeterSphere團隊進行了調研和多種方案對比。最后,雙方決定基于解耦的原則,采用“TFS插件+網關”的方案進行對接。具體對接架構如圖1所示。
在這里插入圖片描述

▲ 圖1 微軟TFS與MeterSphere平臺的對接架構

萬物云TFS插件的具體執行過程如下:

① 在TFS中選擇需要執行的測試任務所在的工作空間、項目和測試用例;
在這里插入圖片描述

▲ 圖2 在TFS中選擇工作空間、項目和測試用例

② 保存相關配置后,開發人員提交代碼完成構建,觸發MeterSphere平臺自動執行測試用例,如圖3所示;
在這里插入圖片描述

▲ 圖3 觸發MeterSphere平臺自動執行測試用例

③ 測試人員查看MeterSphere執行步驟中具體的執行情況和報告,并點擊圖4中紅框位置的鏈接;
在這里插入圖片描述

▲ 圖4 查看測試用例的自動執行情況

④ 點擊圖4的鏈接后,跳轉進入MeterSphere測試報告頁面,如圖5所示。
在這里插入圖片描述

▲ 圖5 MeterSphere平臺自動生成的測試報告

■ 第三階段:測試質量大屏建設階段

為了優化萬物云的測試度量體系,萬物云將MeterSphere平臺與DataEase數據可視化分析工具進行了無縫對接,構建了測試質量數據大屏。

在萬物云的測試質量可視化數據大屏上,不同項目的接口用例數量、執行次數、接口自動化用例數量等多個維度的數據都得到了直觀生動的展現,為測試管理人員做出科學決策提供了有力的數據支持。
在這里插入圖片描述

▲ 圖6 萬物云的測試質量大屏

■ 第四階段:持續測試階段

在MeterSphere開源持續測試平臺與微軟TFS完成集成,并且構建了測試質量大屏后,萬物云的測試團隊不斷完善和優化測試流程,最終形成了“接口定義設計→自動同步接口定義→用例設計→自動化測試→自動化推送測試結果→測試進度和測試成果展示”的完整測試流程閉環,成功實現了“持續測試”的目標。
在這里插入圖片描述

▲ 圖7 萬物云的持續測試流程

四、萬物云自動化測試平臺的建設成果

萬物云基于MeterSphere開源持續測試平臺搭建的自動化測試體系,對其核心業務的接口和自動化測試場景的覆蓋率達到了100%。

目前,萬物云已經使用MeterSphere開源持續測試平臺管理了120多個項目,25000多個測試用例,以及240多個測試計劃。TFS平均每天觸發執行測試計劃任務超過150次。自動化測試平臺體系給萬物云的測試團隊帶來的價值,主要體現在以下三個方面:

1.響應快:應用在生產環境發版后,會自動觸發MeterSphere執行測試任務,節省了發版后測試團隊和開發團隊的溝通成本和協調時間,溝通效率提升了10%;

2.效率高:由于MeterSphere和TFS進行了對接,TFS能夠主動觸發測試人員在MeterSphere中設置好的自動化接口場景,MeterSphere會自動執行接口用例。執行完成后,MeterSpere還會自動生成測試報告,并且自動將測試結果推送至相應的責任人。

與之前單純依靠測試人員手工操作相比,使用MeterSphere后,從接口測試到產出測試報告和測試結果,測試人員完成這一套工作流程的平均花費時間,從以前的15分鐘縮短至如今的6分鐘,有效提高了測試團隊的工作效率;

3.有效性高:MeterSphere的自動化腳本使用響應斷言與Elasticsearch數據庫和MySQL數據庫中的數據進行對比,實現了多重校驗,提升了代碼驗證的準確性和全面性,從而有效保證了產品交付質量。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/17563.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/17563.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/17563.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

1. lambda初體驗

首先聲明一個函數式接口,就只接口內只有一個抽象方法 //函數式接口 public interface Factory {Object getObject();}接口實現類 public class SubClass implements Factory {Overridepublic Object getObject() {return new User();}}User類 public class User …

酒店提前線上訂房小程序源碼系統 PHP+MySQL組合開發 源碼開源可二開 帶完整的安裝代碼包以及搭建教程

系統概述 隨著移動互聯網的普及,越來越多的人習慣通過手機進行酒店預訂。傳統的線下訂房方式逐漸無法滿足用戶的需求,酒店提前線上訂房小程序的出現成為必然趨勢。該源碼系統的開發旨在為酒店提供一個便捷、高效的線上訂房平臺,提升用戶體驗…

基于微信小程序+ JAVA后端實現的【醫院掛號預約系統】 設計與實現 (內附設計LW + PPT+ 源碼+ 演示視頻 下載)

項目名稱 項目名稱: 《基于微信小程序的醫院掛號預約系統設計與實現》 項目技術棧 該項目采用了以下核心技術棧: 后端框架/庫: Java, SSM框架數據庫: MySQL前端技術: 微信小程序, uni-app 項目展示 全文概括 本…

設置單群聊消息擴展

根據消息 ID ,對單聊會話或群聊會話中已經發送的消息設置擴展信息。每次最多可以設置 100 個擴展屬性信息,最多可設置 300 個。 通過 Server API 操作消息擴展,默認不會向操作者的客戶端同步,會導致擴展信息不一致。如有需要&…

MySQL觸發器實戰:自動執行的秘密

歡迎來到我的博客,代碼的世界里,每一行都是一個故事 🎏:你只管努力,剩下的交給時間 🏠 :小破站 MySQL觸發器實戰:自動執行的秘密 前言觸發器的定義和作用觸發器的定義和作用觸發器的…

大模型領域新聞跟蹤

楊值麟 月之暗面楊植麟:大模型開發是“承包森林”月之暗面集結最強創投,“清華師姐”是最強“助攻”月之暗面楊植麟:互聯網研發是“種樹”,大模型研發是“承包森林”月之暗面楊植麟復盤大模型創業這一年:向延綿而未知…

搜維爾科技:穿上Xsens Link動作捕捉套裝,進行精準的運動捕捉

穿上Xsens Link動作捕捉套裝,進行精準的運動捕捉 搜維爾科技:穿上Xsens Link動作捕捉套裝,進行精準的運動捕捉

vue 筆記01

目錄 01 vuejs中屬性的基本使用 02 v-show指令的使用 03 v-if 指令的使用 04 v-for指令的使用 05 v-model 指令 06 template模板標簽 07 v-on事件的綁定指令 08 事件中的event對象 01 vuejs中屬性的基本使用 {{ }} 叫做mustache模板語法 雙花括號 小胡子語法 雙花括號…

安卓手機APP開發__構建通話應用

安卓手機APP開發__構建通話應用 目錄 概述 依賴項和權限 注冊應用 平臺集成 注冊通話 添加通話 接聽來電 拒接來電 去電 將通話置于保持狀態 斷開連接 轉接音頻 前臺支持 Surface 支持 概述 使用 Telecom Jetpack 庫為用戶提供最佳視頻和音頻體驗。借助 Teleco…

GO語言 linux部署

https://blog.csdn.net/wangye135/article/details/136177171 一、簡述 1. 可以直接在服務器上運行編譯好的二進制文件,不需要在服務器上下載語言環境。 2. 內置運行時環境:可執行文件中內置了運行時環境,包括垃圾回收、調度器等&#xff…

Java深拷貝淺拷貝

在Java中,深拷貝和淺拷貝是兩種不同的對象復制方式。 淺拷貝:創建一個新對象,然后將原對象的非靜態字段復制到新對象中。如果字段是值類型的,那么對該字段執行逐位復制。如果字段是引用類型的,則復制引用但不復制引用的…

SAP 根據報錯消息號快速定位問題

通常用戶在業務的操作過程中,經常會遇到報錯信息,有些報錯是系統控制拋出的信息,但是有些報錯的信息是根據不同地點業務場景對填寫的數據進行判斷校驗,然后給出的報錯信息,正常情況報錯信息一般是有文本,或…

【C語言】文件操作講解

C語言文件操作講解 文件文件名文件類型數據在內存中的存儲 文件緩沖區文件指針文件的打開與關閉fopenfclosefopen與fclose的使用文件的打開方式 文件的順序讀寫fputcfgetcfputsfgetsfprintffscanffwritefread輸入流與輸出流對比scanf\fscanf\sscanf與printf\fprintf\sprintfssc…

【區分vue2和vue3下的elementUI和elementUI Plus的button組件,介紹如何安裝,屬性,事件,方法等以及使用案例】

區分vue2下的Element UI和vue3下的Element Plus的Button組件 Element UI (vue2) Button組件:基于Vue 2的Element UI庫中的Button組件提供了多種樣式和類型,如默認、主要、成功、警告、危險等。 Element Plus (vue3) Button組件:作為Element …

匯編原理(二)寄存器——內存訪問

一個字 兩個字節 雙字 字節為8位 字為16位(看兩格) 雙子dword32位(看四格) 內存中字的存儲: 0地址單元中存放的字節型數據是多少? 0地址字單元中存放的字型數據是多少? 2地址字單元中存放…

Secure Operation

文章目錄 Secure Summation OperationSecure Set Union Operation Secure Summation Operation 讓我們通過一個具體的例子來說明這個算法。 假設有三個數據擁有者 S1, S2 和 S3,他們分別持有以下值: S1 持有 value1 10S2 持有 value2 20S3 持有 val…

基坑氣膜:建筑工地環保新利器—輕空間

隨著城市化進程的加快,建筑行業的飛速發展帶來了嚴重的環境問題,如噪音和粉塵污染,給人們的生活帶來諸多不便。為了解決這些問題,建筑行業一直在探索更為環保和高效的施工方式。近年來,基坑氣膜技術逐漸嶄露頭角&#…

Audition 2024 for Mac/Win:音頻錄制與編輯的卓越之選

隨著數字媒體的不斷發展,音頻內容創作已經成為各行各業中不可或缺的一部分。無論是音樂制作、廣播節目、播客錄制還是影視配音,都需要高品質的音頻錄制和編輯工具來實現專業水準的作品。在這個充滿競爭的時代,要想在音頻創作領域脫穎而出&…

解線性方程組——最速下降法及圖形化表示 | 北太天元 or matlab

一、思路轉變 A為對稱正定矩陣, A x b Ax b Axb 求解向量 x x x這個問題可以轉化為一個求 f ( x ) f(x) f(x)極小值點的問題,為什么可以這樣: f ( x ) 1 2 x T A x ? x T b c f(x) \frac{1}{2}x^TAx - x^Tb c f(x)21?xTAx?xTbc 可…

ZooKeeper安裝

安裝Zookeeper 1、下載Zookeeper安裝包 打開鏈接選擇一個版本進行下載 https://zookeeper.apache.org/releases.html2、上傳Zookeeper安裝包到集群 輸入命令 scp apache-zookeeper-3.8.4-bin.tar.gz hadoop192.168.88.100:/tmp也可以使用xftp等上傳,物理機用u盤…