编者注:本文作者为万帮能源高级测试工程师钱常宇。
万帮数字能源股份有限公司(以下简称为 “万帮能源”),位于江苏省常州市,专注于新能源汽车充电设备的研发制造与运营。万帮能源的核心品牌为星星充电,为全球客户提供设备、智能云平台、用户和数据运营等服务,借助车辆销售、私人充电、公共充电、金融保险等业务打造用户充电全生命周期平台,现已发展为我国三大电动汽车充电设备运营商之一。
一、背景介绍
星星充电通过 “云 - 管-端” 的产品组合为用户提供高效率的整体解决方案。所谓 “云 - 管-端” 的协同,即 “软件 + 服务 + 硬件” 的铁人三项模式。在 “云” 产品上,星星充电云平台开放、共享,连接一切场景,赋能各类用户;在 “管” 产品上,美丽充作为自营场站是国家新基建的典型代表;在 “端” 产品上,公司旗下硬件覆盖了光伏、储能、交直流充电、能源路由器、直流微网等系列领域。
星星充电云平台,可以提供覆盖能源生产、能源传输、能源管理、能源交易、能源消费的全场景综合性能源解决方案。三大产品线共生共融,高效支撑能源设备从生产到运营的完整生命周期。
以下是星星充电云平台三大产品线所涵盖的产品类型:
■ 能源设备服务产品:工程安装、智能运维、工程师专用 App;
■ 能源管理和交易产品:智慧能源、电力交易、虚拟电厂、能源管理 App;
■ 能源消费产品:多版本运营管理 SaaS、运营管理 App、星星充电 App/小程序、互联互通服务、私有云运营平台。
二、为什么选择 MeterSphere 开源持续测试平台?
星星充电云平台 BD 测试团队(以下简称为 “星充云 BD 测试团队”)在以往测试工作中,长期面临着一些技术难点,具体如下:
■ 测试层次多,对环境搭建要求高;
■ 服务数量多,链路长依赖多;
■ 服务交付周期短,自动化测试开发速度跟不上交付的速度;
■ 团队框架使用不规范,多种方式并存;
■ 自动化测试代码的扩展性和可维护性不够。
目前,星星充电云平台的测试类型主要包括功能测试、接口测试、性能测试和 UI 测试。
基于以上技术难点,星充云 BD 测试团队对市面上的测试工具、平台进行了调研对比:
■ 一站式的测试平台
通过对比以上测试平台的优缺点,我们发现这些自动化测试平台都存在一定的局限性。对比之下,星充云 BD 测试团队还是觉得 MeterSphere 一站式开源持续平台比较适合团队当前的测试工作需要。
■ MeterSphere 开源版和企业版试用对比
结合了内部业务使用场景,调研分析了许多测试平台,星充云 BD 测试团队最终选择了 MeterSphere 开源版,主要原因如下:
① 学习成本低
■ MeterSphere 平台的可视化界面操作简单,开源社区活跃,文档丰富;
■ 低代码化,降低了测试人员进行自动化测试的技术门槛。
② 功能齐全
■ MeterSphere 支持测试团队方便地进行多人协作;
■ MeterSphere 支持多种数据格式(Swagger)接口导入;
■ MeterSphere 平台可以通过一对多的方式同时控制多个节点,能够为测试团队提供接口测试与压力测试方案;
■ MeterSphere 支持输出详细的测试报告,测试任务追踪;
■ MeterSphere 完美兼容 JMeter,支持 JMX 脚本,以及 Jar 包的导入。
③ 运维成本低
■ MeterSphere 平台支持云化部署;
■ MeterSphere 支持 Kubernetes 集群的动态调度;
■ MeterSphere 提供长期维护的稳定版本,版本管控、数据备份便捷。
三、MeterSphere 助力万帮能源接口自动化落地
星星充电的研发流程规范包括需求管理、研发评审、交付评审、研发自测(单测 + 冒烟)、代码审查、提测、系统测试、集成测试、测试验收、预发验证、预发安全验证、预发验收、上线审核、生产发布、生产验证等多个环节。
MeterSphere 开源持续测试平台主要应用于研发自测和系统测试、集成测试环节。
首先,测试团队通过 Docker 方式本地化部署了 MeterSphere 平台(单节点)。将微服务接口以 Swagger 数据格式导入,通过 MeterSphere 平台的接口定义功能进行接口管理。
然后,基于接口测试中接口自动化功能分别设计接口自动化测试用例、业务场景自动化测试用例。接入 MeterSphere 平台之后,我们实现了自动化测试的良好运行,并得到了及时的结果反馈。通过自定义标签,我们还实现了接口测试覆盖率的统计。
以下是星充云 BD 测试团队在 MeterSphere 开源持续平台的一些实际应用场景:
结合自定义标签功能,覆盖接口测试场景。
在接口自动化模块中编排测试步骤,通过这些步骤将流程链路串连起来。
四、未来规划与对 MeterSphere 平台的期待
自 2022 年 6 月引入 MeterSphere 开源持续测试平台以来,星充云 BD 测试团队获得了良好的使用体验,工作效率得到提升,并通过 MeterSphere 平台解决了一系列测试工作中遇到的问题。在未来的工作中,团队希望能够继续发掘 MeterSphere 平台的各种功能,并将其应用在更多的测试场景中。
目前 MeterSphere 平台仅仅被应用于接口测试及接口自动化测试,日常功能测试的用例还维护在其他工具平台。希望未来 MeterSphere 平台可以支持测试用例多种数据格式(CSV、脑图等)的全量或增量导入、导出功能;
星星充电自研了一套 CI/CD 平台,希望未来能将其与 MeterSphere 平台的接口测试打通,加入测试通过率等质量卡点;
目前 MeterSphere 平台还无法进行代码覆盖率的检测。希望未来 MeterSphere 平台可以并入全量或增量的代码覆盖率检测功能。或者可以自建覆盖率平台,将其与 MeterSphere 平台的接口测试打通;
希望未来 MeterSphere 平台可以提供接口链路压测、监控等功能。