案例分享|中国移动上研院基于MeterSphere构建规范化测试体系

发布于 2022年04月19日

中移(上海)信息通信科技有限公司(又称中国移动(上海)产业研究院,简称“上研院”)是中国移动通信集团有限公司出资20亿组建的全资子公司,是中国移动面向5G和人工智能,引领工业能源、交通和金融等领域数字化服务的专业研发机构。中移(上海)产业研究院主要研发方向分为三个领域:即智慧交通、工业互联网及能源和金融科技。

研发项目QC质控检查现存的问题

目前上研院的不同领域项目由不同部门研发。在研发项目化测试方面,不同的部门都遇到了相同的问题,具体表现在:项目交付的软件产品质量不稳定;由于测试技术栈不统一、测试流程不完善等原因导致在研发项目后期进入测试阶段时产出效率受限;在测试活动中产生的一些重要文件,比如测试计划、测试用例、测试报告及评审记录等没有统一的规范标准,导致每个项目交付的测试要件都有或多或少的缺失;此外,大多数项目的系统测试还是以手工测试为主,自动化测试的覆盖率较低。

测试规范建设整体思路

针对上研院的实际情况,结合当前院内产品研发测试多年的积累经验,测试规范的整体建设思路可以从两个大的方面入手:

■ 流程管理规范建设

主要从测试管理规范方面入手。一方面在测试管理流程中明确软件测试的各个阶段,以及各阶段的人员分工与协同,制定测试标准化规范要求与流程体系;另一方面通过测试管理规范的制定,生成对不同阶段的测试过程提供整体支撑与指导的能力。

■ 测试技术体系建设

制定通用的测试技术体系。对于不同的测试领域和对象,提供测试工具选型和测试实践的最佳指导方案;同时推广测试工作平台化管理的建设思路,基于现有的技术底座,实现持续开发和持续测试的闭环研发流程。

在测试技术体系中,测试平台作为其中的重点之一,一共包含以下几种类型:

① 持续测试平台:用于测试项目管理、用例管理、接口测试和性能测试;

② 缺陷管理平台:用于缺陷跟踪和管理;

③ 配置管理工具:用于管理研发过程中产出的任何工作,包括:项目管理文档、设计文档、接口文档、评审文档、交付文档、验收文档等。

为什么选择MeterSphere?

针对公司测试流程中存在的各种问题,我们认为公司内所需要的测试支撑平台应该能够在不同团队、项目中推广,即需要具备简单易用的特性、项目团队协同能力、大规模团队支持能力,以及个性化的协议满足能力。

综合时间、成本、效率三个维度,并考虑到后续项目推广的要求,最终我们决定使用MeterSphere一站式开源持续测试平台。事实上,MeterSphere在使用上和项目支持能力上均与我司的测试能力要求不谋而合。

MeterSphere在使用上具备以下特性:

① 简单:兼容项目组现有存量脚本的导入与使用。MeterSphere包含JMeter脚本、Postman脚本、API接口自动同步与导入的特性,各项目组无需迁移或重复编写脚本,上手快,使用简单;

② 易用:比Postman还易上手的使用体验。MeterSphere采用了类似Postman接口用例设计的逻辑与使用模式,同时兼容了JMeter的灵活性。MeterSphere采用纯Web的页面,且不需要写代码即可生成自动化测试脚本,使用门槛低,报告更易读且美观;

③ 易维护:在MeterSphere平台上,已经编写的脚本易于维护和使用,支持图形化展示脚本依赖关系,自动记录脚本的历史修改内容,支持版本管理,且支持脚本引用的关联分析与定位等功能。这些功能极大地方便了项目人员对脚本的编写和协同维护。

MeterSphere的项目支持能力具备以下特性:

① 团队协作测试与统一管理:多级租户体系、多种租户角色、租户资源隔离、测试资源池共享,让不同团队、不同项目的测试任务都可以很好地在MeterSphere平台上协同展开;

② 多协议拓展与分布式部署:MeterSphere能够满足多个项目团队的不同接口协议测试需求,例如TCP协议测试、SQL测试、MQTT测试,还可以通过自定义开发插件的方式支持其他协议的扩展;

③ 开放系统API:MeterSphere可以方便地集成自动化测试平台与DevOps平台流水线,提升项目研发团队的自动化测试水平,缩短产品需求从提出到功能上线的周期;

④ 可视化测试管理:在MeterSphere平台上,测试任务可以实时跟踪,测试结果可度量,测试报告可分享,测试进度一目了然。

MeterSphere在上研院的使用情况

我们是在2020年12月下旬在网上搜索到MeterSphere开源持续测试平台这款软件产品的。2021年1月初就可以部署安装使用。目前,我们已经在MeterSphere平台上维护了数十个项目、几千个接口、几千个自动化测试脚本,接入用户数量达到上百个。

在使用MeterSphere平台之前,我们在实际的测试工作中遇到了一系列的问题:比如现有Jira的测试流程和管理规范难以支撑接口测试、性能测试的实际需求;开展接口测试涉及的工具繁多,大场景接口回归测试耗时过长;自动化测试工具与公司主流测试技术栈不匹配,自动化测试占比偏低;测试人员协同难,测试脚本规范性差等。

在引入了MeterSphere平台后,我们实现了从项目维度对测试的完整管理,从项目管理、编制测试计划、设计测试用例(包含功能测试用例、接口测试用例、性能测试用例)、组织测试用例评审、执行测试到最终输出测试报告,实现全流程的管理,并且有效弥补了JiraSynapseRT测试管理插件中所缺少的其他测试类型的支撑;

在使用体验方面,MeterSphere的界面简单易用,具备接口管理、接口用例管理、 自动化测试编排能力,支持自动输出测试报告能力,大幅缩短原来的测试时长;

MeterSphere采用的是纯Web的操作界面,无需编写代码即可生成自动化测试脚本,门槛低。同时,MeterSphere还进行了测试数据的沉淀与量化,并直观显示,用户可以以此建立一套可量化的评测体系来衡量测试人员的工作情况,提高测试的能效;

在协作能力方面,MeterSphere支持团队协同,通过组织管理的能力让不同的组织、团队、人员通过MeterSphere平台进行协作,将不同人员工作的关键活动有序地串联在一起,在此基础上实现测试全生命周期的管理,大幅度降低了团队内部、团队和团队之间的沟通成本。

在现阶段深度使用MeterSphere开源持续测试平台的基础上,我们计划将其运用到上研院更多领域的软件测试活动中。

我们希望,依托MeterSphere构建自动化的测试平台,逐步推进制定上研院的自动化测试规范,做到测试技术栈统筹规划,实现测试环境资源统一管理;同时,集成自动化测试平台与DevOps平台流水线,提升项目研发团队的自动化测试水平;此外,通过提升软件测试的效率和自动化程度,加速软件开发的迭代速度,缩短产品需求提出到功能上线的周期。