编者注:本文作者为万帮能源高级测试工程师钱常宇。
万帮数字能源股份有限公司(以下简称为“万帮能源”),位于江苏省常州市,专注于新能源汽车充电设备的研发制造与运营。万帮能源的核心品牌为星星充电,为全球客户提供设备、智能云平台、用户和数据运营等服务,借助车辆销售、私人充电、公共充电、金融保险等业务打造用户充电全生命周期平台,现已发展为我国三大电动汽车充电设备运营商之一。
一、背景介绍
星星充电通过“云-管-端”的产品组合为用户提供高效率的整体解决方案。所谓 “云-管-端”的协同,即“软件+服务+硬件”的铁人三项模式。在“云”产品上,星星充电云平台开放、共享,连接一切场景,赋能各类用户;在“管”产品上,美丽充作为自营场站是国家新基建的典型代表;在“端”产品上,公司旗下硬件覆盖了光伏、储能、交直流充电、能源路由器、直流微网等系列领域。
星星充电云平台,可以提供覆盖能源生产、能源传输、能源管理、能源交易、能源消费的全场景综合性能源解决方案。三大产品线共生共融,高效支撑能源设备从生产到运营的完整生命周期。
以下是星星充电云平台三大产品线所涵盖的产品类型:
■ 能源设备服务产品:工程安装、智能运维、工程师专用App;
■ 能源管理和交易产品:智慧能源、电力交易、虚拟电厂、能源管理App;
■ 能源消费产品:多版本运营管理SaaS、运营管理App、星星充电App/小程序、互联互通服务、私有云运营平台。
二、为什么选择MeterSphere开源持续测试平台?
1. 技术难点
星星充电云平台BD测试团队(以下简称为“星充云BD测试团队”)在以往测试工作中,长期面临着一些技术难点,具体如下:
■ 测试层次多,对环境搭建要求高;
■ 服务数量多,链路长依赖多;
■ 服务交付周期短,自动化测试开发速度跟不上交付的速度;
■ 团队框架使用不规范,多种方式并存;
■ 自动化测试代码的扩展性和可维护性不够。
2. 技术选型
目前,星星充电云平台的测试类型主要包括功能测试、接口测试、性能测试和UI测试。
3. 工具调研
基于以上技术难点,星充云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开源持续平台的一些实际应用场景:
1. 接口自动化
结合自定义标签功能,覆盖接口测试场景。
2. 业务场景自动化
在接口自动化模块中编排测试步骤,通过这些步骤将流程链路串连起来。
3. 测试计划定期执行
四、未来规划与对MeterSphere平台的期待
自2022年6月引入MeterSphere开源持续测试平台以来,星充云BD测试团队获得了良好的使用体验,工作效率得到提升,并通过MeterSphere平台解决了一系列测试工作中遇到的问题。在未来的工作中,团队希望能够继续发掘MeterSphere平台的各种功能,并将其应用在更多的测试场景中。
1. 统一用例管理
目前MeterSphere平台仅仅被应用于接口测试及接口自动化测试,日常功能测试的用例还维护在其他工具平台。希望未来MeterSphere平台可以支持测试用例多种数据格式(CSV、脑图等)的全量或增量导入、导出功能;
2. 接入现有的CI/CD平台
星星充电自研了一套CI/CD平台,希望未来能将其与MeterSphere平台的接口测试打通,加入测试通过率等质量卡点;
3. 代码覆盖率检测
目前MeterSphere平台还无法进行代码覆盖率的检测。希望未来MeterSphere平台可以并入全量或增量的代码覆盖率检测功能。或者可以自建覆盖率平台,将其与MeterSphere平台的接口测试打通;
4. 全链路压测
希望未来MeterSphere平台可以提供接口链路压测、监控等功能。