案例研究|茶百道通过“MeterSphere+阿里云云效”实现高质量产品交付

本文主要是介绍案例研究|茶百道通过“MeterSphere+阿里云云效”实现高质量产品交付,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

中国茶饮连锁品牌茶百道创立于2008年,隶属于四川百茶百道实业股份有限公司。据有关数据显示,2023年茶百道在中国的现制茶饮店市场排名第三位,市场份额达到6.8%。截至2024年2月份,茶百道已拥有超过6000万名会员和近8000家门店。茶百道的门店遍布全国31个省市,覆盖超过330个城市,实现了中国所有省份及各线级城市的全覆盖。2023年,茶百道门店的总零售额约为169亿元。2024年4月23日,茶百道于港交所主板挂牌上市,成为港股上市茶饮新势力。
在这里插入图片描述

伴随着门店数量的快速增长,茶百道持续加强技术投入,以“运营数字化、业务自动化、决策数智化”为建设目标,以“人、货、场”三大基本商业要素为核心,致力于打造能够全面支持其业务迅猛发展的数字化系统,旨在有效提升业务运营效率,持续增强企业发展的核心竞争力。

茶百道的产研团队包括开发团队和测试团队,提质增效是产研团队工作的重点也是长期目标。业务的高速增长需要以高质量的软件交付作为支撑,单纯依靠人工开展软件测试已经无法满足实际的业务需求,茶百道希望通过专业化的测试工具和平台化管理来提升软件测试的效益,进而实现高质量的软件交付。

一、茶百道产研团队现状

目前,几乎所有的中国茶饮品牌都面临着来自外部和内部的双重挑战。外部有激烈的市场竞争,而企业内部对于运营效率的要求也在不断提升。为了应对这些挑战,茶百道的产研团队加速推进数字化转型战略,构建了OMS(Order Management System,订单管理系统)、WMS(Warehouse Management System,仓库管理系统) 和TMS(Transportation Management System,供应链管理系统)一体的供应链信息化、自动化技术系统,实现了库存、订单、运输资源、到店服务等阶段的全链路数字化转型。

然而,完成内部全链路数字化并非茶百道提质增效的终点。由于茶百道有着高频率的线上和线下营销活动,各类应用系统经常面临多元化的变更需求。为了满足这些需求,茶百道的产研团队一方面需要投入大量的技术和人力资源,对系统进行持续优化和升级,另一方面也要保证产品交付的高质量。

在内部系统持续迭代的过程中,产研团队面临以下两个难题:

■ 缺少统一的软件测试管理平台:管理平台统一性的缺失主要体现在测试工具碎片化以及测试团队与开发团队的协作上。

测试团队方面,茶百道的产研团队根据产品线的区别分为不同的项目组,各个项目组采用的测试工具不尽相同。大多数项目组在测试时使用Postman、JMeter等测试工具,另一部分项目组的测试人员则借助Python或Java测试框架编写自动化测试脚本,并通过Coding对缺陷和需求进行管理。不同的测试工具和不同的测试技能导致测试团队无法全面统一管理测试用例、过程数据和测试报告等;

测试团队与开发团队的协作方面,由于开发成员的自测力度不足,导致提测后部分功能模块反复出现缺陷。除此以外,在前后端开发联调时,开发成员较少参与Mock工作,测试团队与开发团队的协作效率较低。

■ 迭代频率高,难以全量回归:对软件的新版本进行测试是保证迭代质量的重要一环。然而,茶百道的软件每天都有新版本发布,测试团队时间紧、任务重,单纯依靠人力很难实现全面的测试覆盖和回归。

为了解决以上两方面的问题,茶百道的产研团队迫切希望能够建设一个统一的自动化测试平台,加强软件测试的统一管理和团队协作能力,并且通过建设产研过程流水线和自动化手段提升测试效率。

二、为什么选择MeterSphere?

在针对市场上的多款产品进行调研后,茶百道的产研团队与MeterSphere开源项目组围绕产研管理平台化的主题进行了多次交流探讨,共同研究产研管理平台的最佳落地方式。最终决定以茶百道现有的流水线构建工具阿里云云效为基础, 由MeterSphere提供平台测试管理能力和云效流水线建设方案。

通过阿里云云效和MeterSphere的结合,构建持续测试、持续集成的管理平台,提高开发团队和测试团队的协作效率,提升产品上线质量。

MeterSphere开源持续测试平台的优势包括:

■ 平台化管理:MeterSphere的平台化能力为解决茶百道产研团队所面临的两大困难提供了有力的支持。

首先,MeterSphere平台的一站式能力避免了测试工具的碎片化。在将产研团队成员负责的业务线按照项目迁移到MeterSphere平台之后,测试人员无需使用多种不同的测试工具,转而基于MeterSphere平台统一开展测试工作。这样一来,就避免了编写脚本时反复切换各种测试工具的窘境,降低了人力维护的投入成本;

其次,MeterSphere平台的使用让开发人员和测试人员的协作变得更加简单和快捷。MeterSphere支持开发人员在平台上同步完成接口定义和Mock联调工作,提升了开发人员的Mock联调工作参与度,测试与开发、开发与开发之间的协作力度得到了加强;

最后,针对产品迭代频率高、测试压力大的挑战,MeterSphere能够有效降低管理人员对测试进度的管理难度。在MeterSphere平台上,团队管理人员可以在一个看板上看到整体测试进度,方便各方对产品的质量和交付时间进行评估和管理。

■ 高易用性和自动化能力:当从历史测试工具中迁移存量测试脚本数据时,由于MeterSphere测试平台以JMeter为底层框架,可以广泛适应测试领域内的主流技术栈,测试人员能够快速上手使用,快速迁移相同格式的测试数据。

脚本自动化方面,MeterSphere也提供了强有力的支持能力。MeterSpher支持在编排自动化测试脚本的同时封装公共步骤,在面对不同的业务测试任务时,这些封装好的脚本可以被快速拆分和组装,在提升脚本编排效率的同时也提高了脚本的复用率。

■ DevOps集成能力:借助MeterSphere平台和阿里云云效的集成,在每次产品发布之前,MeterSphere都会定时触发回归测试和日常巡检任务,减少了测试人员的重复工作量,提高了回归效率。

三、茶百道测试平台建设流程

1.存量测试数据迁移

茶百道的存量测试数据资产由各个测试小组的成员保存,这些资产的数据类型多种多样。MeterSphere支持Postman和JMeter脚本数据的直接导入,因此简单调试之后即可完成存量数据的迁移工作。

与此同时,研发人员使用IDEA接口同步插件,可以直接将接口同步至MeterSphere平台,并且完成接口定义、Mock联调等工作,从而减少接口文档的维护时间。MeterSphere对数据迁移和接口同步的支持能力有效降低了团队间的沟通成本,增强了开发团队与测试团队之间的协作能力,提升了测试团队的工作效率。

2.持续测试

在茶百道测试平台建设的过程中,不仅有MeterSphere平台提供的工具支持,也有产研团队在日常测试中总结出的一套完整的流程支撑。

茶百道自创立以来,测试团队不断完善和优化测试流程,形成了“研发接口同步及Mock→接口Case→自动化场景编排→云效流水自动构建及推送测试结果→测试进度和测试成果展示”的完整测试流程闭环。茶百道长期摸索沉淀出的完整交付流程,加上MeterSphere的助力,使得茶百道的测试团队真正实现了“持续测试”的目标。
在这里插入图片描述

▲ 图1 茶百道的持续测试流程

在这里插入图片描述

▲ 图2 茶百道使用MeterSphere管理接口

3.集成阿里云云效

在持续测试阶段,茶百道的测试团队通过使用MeterSphere的Jenkins插件,直接对接到阿里云云效流水线,从而在研发迭代的过程中构建了持续集成和持续交付流水线流程。在开发人员提测后,MeterSphere自动触发定时回归任务,自动执行设定的测试计划,并将测试报告自动推送至对应的测试人员。测试人员可以根据测试报告,对缺陷再次进行回归测试,直至达到发布标准后再上线。
在这里插入图片描述

▲ 图3 MeterSphere集成阿里云云效

在这里插入图片描述

▲ 图4 阿里云云效集成Jenkins插件

四、总结与期望

在MeterSphere开源持续测试平台的帮助下,茶百道构建起自己的持续测试、持续集成管理平台,优化了产研团队的协作流程,降低了日常协作成本,形成了一套完善的产研DevOps平台化管理体系。

目前,茶百道使用MeterSphere管理着3000多个接口,对核心业务的接口自动化测试场景实现了全覆盖;DevOps流水线每天定时触发并执行测试计划,减少了人工运行回归测试脚本的重复率和沟通成本,提高了产品版本的构建效率与回归效率,为产品高质量上线提供了强有力的保障。使用MeterSphere完成测试平台建设后,茶百道的产研团队整体人效提升15%以上,减少了约两个人员的成本投入。

在未来,茶百道的测试团队希望将自身“精准测试”的理念和MeterSphere测试平台的接口测试能力结合起来,实现数据打通,将代码、用例和执行进行有效关联。

这篇关于案例研究|茶百道通过“MeterSphere+阿里云云效”实现高质量产品交付的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/992477

相关文章

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount