案例研究|MeterSphere助力万物云构建高效自动化测试平台

news2024/11/15 5:44:16

万物云空间科技服务股份有限公司(以下简称为“万物云”),前身为万科物业发展股份有限公司,是国内领先的物管龙头上市公司。作为一家科技引领的全域空间服务商,万物云致力于打造产业级共享服务平台,基于空间物联技术及应用,构建产业互联生态。截至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.coloradmin.cn/o/1705628.html

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

相关文章

python+selenium - UI自动框架之封装查找元素

单一的元素定位方法不能满足所有元素的定位,可以根据每个元素的特点来找到合适的方法,可以参考下图的方法: elementFind.py from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_con…

绿色瓶装水“暗战”竞争越发激烈,华润饮料谋上市同时多地扩产能

《港湾商业观察》黄懿 4月23日,纯净水牌“怡宝”母公司华润饮料(控股)有限公司(下称“华润饮料”)向港交所主板提交上市申请,联席保荐人为中银国际、中信证券、美银美林、瑞银集团。 在华润饮料递表不久之…

IC设计公司财务系统如何构建芯片行业财务解决方案

在IC设计行业中,构建高效、准确的财务系统对于支持企业运营、实现财务目标至关重要。特别是在芯片行业,随着技术的快速发展和市场竞争的加剧,财务解决方案的构建更是需要紧跟行业趋势,确保公司的财务稳健和持续发展。 首先&#x…

云计算期末复习(2)

MapReduce 包含Google MapReduce基本构架、Hadoop MapReduce基本构架 作业(问答题) (1)预习论文The Google File System,总结和分析GFS主要特点。 GFS的主要特点包括: 1. 高可靠性和容错性:G…

“2024南京智博会”共同探索智能科技产业创新发展新路径

随着全球数字化浪潮的深入推进,智慧城市、物联网与大数据等领域的发展成为推动经济社会发展的重要力量。在这样的背景下,2024南京国际智慧城市、物联网、大数据博览会(南京智博会)的举办,无疑为国内外企业提供了一个绝…

ip反解域名-python脚本

import sys import socket from requests.packages.urllib3.contrib import pyopenssl def domain_dns(ip, port, timeout0.09): try: # 创建一个 socket sock socket.create_connection((ip, port), timeouttimeout) # 设置超时 sock.settimeout(timeout) # 加载 SSL 证书 x5…

【CALayer-时钟练习-界面-锚点 Objective-C语言】

一、接下来,我们来说这个时钟练习 1.这个里边呢,有这么一个表盘的一个效果,然后呢,这个秒针,跟我们的时间,是同步的, 新建一个项目, Name:05-时钟练习 然后呢,给这个控制器的View,一个背景颜色,先, 背景颜色, 2.接下来,我们开始来做,我们现在这个表盘啊,是我们…

【生产管理】生产过程中的常见问题及解决方案

在生产管理中,会遇到多种问题,特别是与生产计划、生产进度控制以及品质控制方面,以下是生产过程中常见的问题及解决方案: 问题一:计划不清或无计划导致的物料进度无法保障 解决方案: 建立详细的生产计划&…

数字化转型瓶颈,无代码轻松破局!

随着信息技术的迅猛发展,企业数字化转型已成为推动业务增长、提升竞争力的关键所在。 然而,在实际操作过程中,许多公司却面临着转型困难、进展缓慢甚至停滞不前的局面。 其中,软件开发作为数字化转型的核心环节,其复杂…

QT加载CAD文件(二)LibreCAD源码编译

一、LibreCAD LibreCAD是一个开源软件,不用破解激活,可以打开编辑DXF格式的文档,软件大小只有二十多M,对于一些比较简单的图纸还是可以胜任的。本文主要讲该软件源码编译。如果了解软件的基本使用可以参考https://blog.csdn.net/…

OrangePi AIpro初体验,码农的第一台个人AI云电脑

介绍 香橙派联合华为精心打造,建设人工智能新生态 官网地址:Orange Pi AIpro Orange Pi官网-香橙派 Orange Pi论坛:Orange Pi论坛 昇腾社区:为开发者免费提供数百个代码参考样例昇腾社区-官网丨昇腾万里 让智能无所不及 学习…

靶机Moonraker_1练习报告

Moonraker: 1靶机练习实践报告 一、安装靶机 靶机是.ova文件,需要用VirtualBox打开,但我习惯于使用VMWare,因此修改靶机文件,使其适用于VMWare打开。 解压ova文件,得到.ovf文件和.vmdk文件。 直接用VMWare打开.ovf文件即可。 …

2024年软件设计师备考复习资料(应用技术)

应用设计,考试时间为120分钟;总共需做5道题,满分75分(每题15分)。前4题为必答题,最后2题为要求选答一题(C或Java),45及格 目录 1. 数据流图(需求分析&#…

【AHK V2】设计模式之命令模式

目录 情景剧场什么是命令模式优缺点优点缺点 使用命令模式的步骤命令模式代码示例合理使用AI工具自动生成代码 情景剧场 我们来设想一个场景: 你进入一家餐馆,餐馆只有老板一个人(老板即厨师)。 “老板,一份小炒肉&am…

奇门遁甲古籍1《奇门秘术》(双页版)PDF电子书

《奇门秘术》 全书共102页 时间有限,仅上传部分图片,结缘私!

Unity UGUI实现无限滚动列表

Demo链接​​​https://download.csdn.net/download/qq_41973169/89364284http://Unity UGUI无限滚动列表 在游戏开发中,列表视图是一个常见的UI组件。实现一个高效的列表视图尤其重要,尤其是在需要展示大量数据时。本文将介绍如何在Unity中实现一个高效…

爬虫在金融领域的应用:股票数据收集

介绍 在金融领域,准确及时的数据收集对于市场分析和投资决策至关重要。股票价格作为金融市场的重要指标之一,通过网络爬虫技术可以高效地从多个网站获取实时股票价格信息。本文将介绍网络爬虫在金融领域中的应用,重点讨论如何利用Scrapy框架…

优思学院:质量工程师必备技能清单,你具备了吗?

想要了解质量工程师需要具备哪些技能和知识,最直接且实际的方法就是分析招聘广告中的关键词,这比道听途说更加有效。为此,优思学院搜集了大量关于质量工程师职位的招聘信息,并为大家进行详细分析。我们通常选择中高级职位进行分析…

颜色空间的选择

1.选择Gamma颜色空间,Web平台或者不支持线性空间,或者追求高饱和度的 2.选择Linear,追求真实光照和物理准确

阿贝云免费虚拟主机及免费云服务器评测

阿贝云是一家提供免费虚拟主机和免费云服务器的公司,其服务质量备受用户好评。用户可以通过阿贝云的网站 https://www.abeiyun.com 进行申请并获得免费服务。首先,我们来看看阿贝云的免费虚拟主机服务。免费虚拟主机提供了足够的存储空间和带宽&#xff…