成功/卡

Olo提供更快的测试并改进与Grafana k6的协作

关键的外卖

  • k6已经成为欧洛CI/CD管道的一个重要组成部分,它帮助团队在投入生产之前检测性能倒退。
  • k6基于JavaScript,因此各个团队可以轻松地在负载测试过程中进行协作,PR评审不再包含对大型XML文件的更改。
  • 在k6的帮助下,性能测试已经成为一种普遍做法,这使Olo的团队能够不断改进平台,为按需就餐的顾客提供无缝且愉快的体验。

- - -

Olo是一个领先的按需商务平台,为餐饮行业的数字化转型提供动力。每天数以百万计的订单运行在Olo的企业SaaS引擎上,使品牌能够最大限度地融合数字和实体运营。Olo平台提供了捕获需求和管理来自每个渠道的消费者订单的基础设施。通过与超过100个技术合作伙伴的整合,欧洛的客户可以利用市场上最大、最灵活的餐饮商业生态系统建立数字体验。超过400家餐厅品牌使用Olo来增加数字销售,最大化盈利能力,并保持直接的消费者关系。

所面临的挑战

Olo的负载测试主要涉及两个技术团队——测试软件工程师(SETs)和软件工程师(swe)。几年来,Olo的团队使用了一个负载测试堆栈,其中包括JMeter来创建测试脚本和一个CI/CD管道来编排一切。团队使用CI/CD管道和NodeJS,通过一个著名的云负载测试提供者运行脚本。

当加入一个新的餐厅品牌时,Olo团队注意到该品牌正在使用k6测试他们端的集成,工程师们与他们分享了他们的脚本。Olo团队发现,k6 CLI比他们当前的工具更容易在云中自动化和触发负载测试。

SET团队发现,在基于javascript的k6解决方案中编写负载测试比在基于java的JMeter应用程序中编写负载测试的体验更愉快。JavaScript解决方案意味着PR评审不包含对大型XML文件的更改,允许它们重用模块,并将负载测试代码视为真正的测试套件。

在了解了更多关于k6的知识之后,团队意识到他们现有的负载测试工作流并没有像他们需要的那样快速、有效和协作。

解决方案

这些团队将k6 Cloud插入到他们现有的CI/CD管道中,使用它来测试公共和私有的Olo HTTP api。对于私有api,团队从他们自己的测试网络运行测试。然后他们将结果发送到k6 Cloud,这样他们就可以在其UI中查看结果。k6在Olo的CI/CD流水线中扮演着至关重要的角色,它帮助团队在交付生产之前检测性能倒退。

对于欧洛、我们的品牌以及我们的合作伙伴来说,我们平台的性能和可靠性是最重要的。因此,k6已经成为我们测试堆栈中不可分割的一部分。K6帮助我们快速试验新想法,并验证发行版是否可以用于生产。

Jake Travisano, Olo测试部门的软件工程师

各队使用k6阈值作为发布准备就绪的通过/失败指示器。它们使用阈值测试广泛的组件,如响应时间、CPU利用率和数据库查询延迟。如果任何阈值失败,CI/CD作业将向团队发出警报。在大多数情况下,SET团队只需要快速检查k6 UI中的结果就可以发现问题。

团队使用可视化和分析特性作为协作的焦点,经常参考详细的图表和报告来讨论测试结果和行动计划。团队在协作时自然会共享技术知识、领域知识和平台想法。随着越来越多的工程师获得使用k6的经验,性能测试已经成为团队的常规活动——无论是每天运行测试,还是在新特性和项目的开发中制定性能测试计划。

结果

使用k6,各种工程团队可以快速编写、修改和执行负载测试脚本,这帮助性能测试成为Olo的一种常见实践。这种共同的做法使团队能够不断改进欧洛的平台,为餐厅客户提供无缝和愉快的体验。

我们对k6的使用在帮助我们将系统推到极限、确定它的断点以及探索它在意外情况下的行为方面发挥了关键作用。K6还成为进行性能优化试验的宝贵工具。

Justin Rusbatch,员工软件工程师,Olo

团队之间的协作有了显著的改进——set、swe和数据库管理员(dba)定期结对计划和运行测试,然后讨论和分析结果。此外,SETs还通过k6扩大了合作努力。他们有时会与他们的站点可靠性工程(SRE)团队合作使用k6,帮助培训新的事件应对人员。

由于在性能测试和团队之间更好的协作方面有着共同的理念,Olo的团队对生产部署的信心显著增加。

行业
零售

公司规模
100 - 250名员工

总部
纽约,纽约

bob手机app官网产品/项目使用

Grafana转k6

转k6云