案例研究|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.mzph.cn/bicheng/17563.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

酒店提前线上订房小程序源码系统 PHP+MySQL组合开发 源码开源可二开 带完整的安装代码包以及搭建教程

系统概述 随着移动互联网的普及,越来越多的人习惯通过手机进行酒店预订。传统的线下订房方式逐渐无法满足用户的需求,酒店提前线上订房小程序的出现成为必然趋势。该源码系统的开发旨在为酒店提供一个便捷、高效的线上订房平台,提升用户体验…

基于微信小程序+ JAVA后端实现的【医院挂号预约系统】 设计与实现 (内附设计LW + PPT+ 源码+ 演示视频 下载)

项目名称 项目名称: 《基于微信小程序的医院挂号预约系统设计与实现》 项目技术栈 该项目采用了以下核心技术栈: 后端框架/库: Java, SSM框架数据库: MySQL前端技术: 微信小程序, uni-app 项目展示 全文概括 本…

MySQL触发器实战:自动执行的秘密

欢迎来到我的博客,代码的世界里,每一行都是一个故事 🎏:你只管努力,剩下的交给时间 🏠 :小破站 MySQL触发器实战:自动执行的秘密 前言触发器的定义和作用触发器的定义和作用触发器的…

SAP 根据报错消息号快速定位问题

通常用户在业务的操作过程中,经常会遇到报错信息,有些报错是系统控制抛出的信息,但是有些报错的信息是根据不同地点业务场景对填写的数据进行判断校验,然后给出的报错信息,正常情况报错信息一般是有文本,或…

【C语言】文件操作讲解

C语言文件操作讲解 文件文件名文件类型数据在内存中的存储 文件缓冲区文件指针文件的打开与关闭fopenfclosefopen与fclose的使用文件的打开方式 文件的顺序读写fputcfgetcfputsfgetsfprintffscanffwritefread输入流与输出流对比scanf\fscanf\sscanf与printf\fprintf\sprintfssc…

汇编原理(二)寄存器——内存访问

一个字 两个字节 双字 字节为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盘…

《精通Stable Diffusion AI绘画:基础技巧、实战案例与海量资源一站式学习》

随着人工智能技术的迅猛发展,AI绘画已经成为了一个炙手可热的话题。特别是在设计、艺术和创意领域,AI绘画工具的出现无疑为创作者们带来了更多的可能性和便利。《Stable Diffusion AI绘画从提示词到模型出图》这本书,就是一本深入解析Stable …

恢复视频3个攻略:从不同情况下的恢复方法到实践!

随着科技的进步,我们的生活被各种各样的数字内容所包围,其中,视频因其独特的记录性质,承载着许多重要的资料。但不管是自媒体人还是普通人日常生活随手一拍,都会遇到误删视频的情况。为了帮助您找回手机视频&#xff0…

从零学爬虫:使用比如说说解析网页结构

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言 二、网页结构概述 示例:查看网页结构 三、使用比如说说解析网页 1.…

windows10更改文件默认打开软件

📚博客主页:knighthood2001 ✨公众号:认知up吧 (目前正在带领大家一起提升认知,感兴趣可以来围观一下) 🎃知识星球:【认知up吧|成长|副业】介绍 ❤️感谢大家点赞👍&…

纽曼硬盘隐藏文件丢失怎么恢复?介绍几种有效的方法

纽曼硬盘作为存储设备中的佼佼者,以其高性能和稳定性受到了广大用户的青睐。然而,在使用过程中,有时我们可能会遇到一些意想不到的问题,比如隐藏文件的丢失。这对于依赖这些文件进行工作或生活的人来说无疑是一个巨大的困扰。那么…

旋转矩阵00

题目链接 旋转矩阵 题目描述 注意点 将图像旋转 90 度不占用额外内存空间 解答思路 需要找到将图像旋转90度的规律,为了不占用额外内存空间,可以先将图像上下翻转,然后再将图像沿着主对角线进行翻转,得到的就是旋转90度之后的…

pdf打开方式怎么设置默认?分享这几种设置方法

pdf打开方式怎么设置默认?你是否曾遇到过打开PDF文档时,默认的打开程序并非你所需要的,从而影响了工作效率?别担心,本文将为你详细解读如何设置PDF的默认打开方式,让你的工作更加高效便捷。 首先&#xff0…

OrangePi AIpro 开箱初体验及语音识别样例

OrangePi AIpro 开箱初体验及语音识别样例 一、 前言 首先非常感谢官方大大给予这次机会,让我有幸参加此次活动。 OrangePi AIpro联合华为精心打造,采用昇腾AI技术路线,具体为4核64位处理器AI处理器,集成图形处理器,…

2951. 找出峰值

找出数组中的峰值 给你一个下标从 0 开始的数组 mountain 。你的任务是找出数组 mountain 中的所有 峰值。 以数组形式返回给定数组中 峰值 的下标,顺序不限 。 注意 峰值 是指一个严格大于其相邻元素的元素。数组的第一个和最后一个元素 不 是峰值。 示例 1 …