| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> 从蜜雪冰城到星巴克、麦当劳、全家:看新零售独角兽“非码”如何用开源 Zadig 实现 15 万家门店实现每周发布 7 次 -> 正文阅读 |
|
[开发测试]从蜜雪冰城到星巴克、麦当劳、全家:看新零售独角兽“非码”如何用开源 Zadig 实现 15 万家门店实现每周发布 7 次 |
“我们需要非常快速的迭代节奏,客户爸爸说明天上,通宵熬夜也要完成目标,一周 7 次迭代也是常有的事:没有 Zadig, 我们的自动化测试不可能做起来,更不可能满足客户的需求。 有了 Zadig 的环境治理能力,自此我们的开发专心做 coding,环境构建部署交给Zadig;测试专心写用例,环境资源交给 Zadig;运维专心做维护,服务管理交给Zadig;不仅大大缩减了我们在上线前的迭代效率,稳定的环境也提供了大家对上线质量信心 在使用 Zadig 的 2 年中,我切身感受到这个产品的前瞻性,是非常具有创新性的产品,可以说给整个行业带来了新的 软件交付 3.0 时代。Zadig 已经开源,相信会有更多企业感受到其魅力!” 非码科技质量部技术负责人:钱娟娟 阅读原文?/?加入 Zadig 技术交流群?/?Zadig on Github?/?Zadig on Gitee 写在前面 非码是为新零售行业的每一个商家提供解决方案,面对的客户是每一个开门做生意的门店。 你可能没听说过非码,但你一定听说过: 对!从蜜雪冰城到麦当劳,从老乡鸡到星巴克,他们都是非码的客户! 你也看到了,非码服务的客户大多是一线标杆商户,为了吸引消费者,每季更新新品菜单、每个节日花样大促、会员节优惠狂欢、紧跟热点的游戏上线等等都是非常经典的营销。为了帮助客户达成市场营销策略,我们需要非常快速的迭代节奏,客户爸爸说明天上,通宵熬夜也要完成目标,一周 7 次迭代也是常有的事。 同时,因为常常有火爆的活动引流,高并发是我们经常面临的真实场景。所以在上线之前,除了保障功能可用性,系统稳定性也是我们非常重要的指标,在大型的活动,如为了保障我们其中一个大客户的 88 会员节活动,我们甚至会提前三个月做准备,包含功能迭代封版、系统调优、高可用测试、全链路性能测试,使得服务单接口的性能指标要达到过万的并发能力。 非码业务架构概图: 要知道非码面对的商家,在系统中可能是一串代码一条数据,但门店店员直面消费者,系统出了任何问题都会被当面质问。我们自己在生活中也是一个个消费者,试问你开开心心去门店消费,打开手机下单却提示你“系统异常”、明明有优惠券却使用不了、付了钱店家却说没收到订单......,想想都觉得美好的心情被破坏。可想而知,门店的压力非常之大,我们也必须要具备高效故障定位能力、并能迅速测试后 Hotfix,第一时间解决客诉。 初遇 我们拥有着复杂的业务系统,面临着新零售行业高频迭代、高并发场景,产品质量和稳定性是最根本目标。为了达成这个目标,我们一步步摸索着,逐渐开始了技术转型和测试转型。 首先是技术转型。 非码前期服务为了更快迭代功能,选择以项目制开发,服务端有各自的实践方式,在系统技术架构上缺少设计。随着业务发展,服务端选择不再项目制的重复造轮子,使用微服务最佳实践作为核心,减轻之前积累的技术包袱。 接着我重点谈下测试转型。 刚开始和很多创业公司一样,测试的作用集中在黑盒测试,瀑布式的按部就班作业,等待运维维护环境、等待开发提测(开发晚提测也只能催)、手工点点、上线回归,顺便疑惑怎么测试环境没有这个问题? 随着非码的业务发展和技术转型,从1条业务线扩展为 2 条、到后面的 5 条业务线,业务线之间也并不完全独立,有定制化有产品化,有基础服务也有聚合服务,微服务数量呈几何增长速度。测试的工作量和复杂度有了非常大的挑战,我们开始思考,开始了测试的转型之路。 首先是拒绝被动,测试人员要"走"出去,质量保障是一个过程,不是一个结果。走到开发的前面和产品沟通用户需求,利用自身的优势--比产品懂技术、比开发懂业务,需求阶段和开发设计阶段就可以排雷。另外一点是走到上线的后面,关注用户反馈和影响范围,分析系统稳定性和测试质量的薄弱之处。 其次是自动化测试,(一般提到测试进阶第一个想到的就是自动化测试,我们认为自动化测试是测试转型的一种途径,不是目标,先摆正思路更重要),在团队只有业务测试人员的背景下,我们第一选择是通过开源测试工具实现自动化,但多数偏向于个人不便于团队协作。秉承着发挥自动化最大价值的初心,我们慢慢通过开发一些提高效率的小工具,最终选择以接口测试为切入点自己写代码实现自动化(UI 自动化试点后,发现我们业务特性不适合)。我们多线业务,且业务灵活度较高,服务接口变化也很快,通过学习和逐步尝试,针对我们业务特性,设计了接口结构灵活变更的自动化方式(Python+unittest 后改版为 Python+pytest),结构概要如下 最后是环境管理,自动化完成后也遇到了诸多落地困难,我们之前的环境都是虚机,环境部署无法自动化,也就无法保障自动化测试的代码最新版本,想要实现自动化能同步测试不同版本的、不同分支的代码更是困难。除此之外,虚机环境的成本和管理也很难控制,我们推动设立了“测试环境管理员”一职,轮班管理测试环境,缓解了一部分混乱现象,但自动化测试的效益仍被限制。并且开发除去代码开发的时间投入,也花费了大量时间在环境部署、服务联调上。 之后我们又迎来了docker K8s的转型,服务管理有了新的方式,也逐步学习 CI/CD 的高效迭代方式,我们开始摸索自动化和其产生的火花。也在一次技术峰会上,我们CEO 和 CTO 结识了李倩,邀请李倩给我们做了多次技术分享,李倩对软件微服务快速交付的理念,与当下正在寻求快速迭代解决方案的我们,不谋而合。进而知道了 KodeRover 的产品?Zadig(开源之后的名字,下文统一用 Zadig 这一名称),立刻被这个产品所吸引。 一拍即合Zadig 最吸引我们的地方便是:
我们迅速在团队内部试点 Zadig,选定了我们点餐业务线进行了服务迁移。在之前我们的环境无法严格控制权限管理,测试和运维同学依赖手工构建、部署、服务启动等,有了 Zadig 的快速创建环境,我们对环境进行了重新管理,大致如下: 有了 Zadig 的环境治理能力,自此我们的开发专心做 coding,环境构建部署交给Zadig;测试专心写用例,环境资源交给 Zadig;运维专心做维护,服务管理交给Zadig;不仅大大缩减了我们在上线前的迭代效率,稳定的环境也提供了大家对上线质量信心。 如虎添翼同时,因为有了稳定的环境,自动化测试终于真正意义的“自动化”了。 此前,我们自动化测试虽一直都在执行,但其实收益较低且相对滞后,因为无法完全保障测试环境和自动化环境的一致性,也难以做到测试左移。Zadig 便提供了这样的功能,且对接方式十分简单,除了定时任务、测试执行、报告展示常见功能之外,还具有强大的统计分析功能,多维度直观的展示测试自动化的过程、收益。 至此,我们的自动化测试实现了测试左移,使得开发在发版后,立刻知晓自己本次发版质量,在测试人员无需介入的情况下,实时跟进发版的质量问题,并以此结果作为自测的验收标准。 能更早的发现问题、解决问题,使得测试收益最大化,自动化测试执行结果成为质量验收标准的一项重要指标。现在业务线仍在增加、生态也在向支付宝、抖音发力,对此我们有信心做的更好。 未来可期我们在使用?Zadig?中感受到这个产品的前瞻性,是非常具有创新性的产品,给行业带来了新的软件交付时代。 Zadig 已经开源,相信会有更多企业感受到其魅力,未来可期! KodeRover KodeRover 是开源、分布式持续交付(CD)产品 Zadig 背后的团队,专注于云原生软件交付产品的研发。我们的目标是通过云原生技术的运用和工程产品赋能,打造极致、高效、愉悦的开发者工作体验,让工程师成为企业创新的核心引擎。 |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/17 20:36:13- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |