在Lyft的微服务上提高生产力(第四部分)。用自动验收来控制部署...

Authors: Ben Radler, Garrett Heel, Shu Zheng

作者 Ben Radler,Garrett Heel,Shu Zheng

This is the fourth and final post in the series on how we scaled our development practices at Lyft in the face of an ever-increasing number of developers and services.

这是关于我们如何在面对越来越多的开发者和服务时扩大我们在Lyft的开发实践系列的第四篇也是最后一篇文章。

In our previous post, we described how we leverage context propagation to allow multiple engineers to test end-to-end (E2E) in a shared staging environment. Now we’ll look at the other side of the coin — automated E2E testing — and how we built a scalable solution that gives engineers confidence before deploying to production.

上一篇文章中,我们描述了我们如何利用上下文传播来允许多个工程师在一个共享的暂存环境中进行端到端(E2E)测试。现在我们来看看硬币的另一面--自动E2E测试,以及我们如何建立一个可扩展的解决方案,让工程师在部署到生产之前有信心。

Rethinking End-To-End Tests

反思端到端测试

Part 1 of this series walked through many of the challenges we’ve encountered with running integration tests in CI. An explosion in the number of services and engineers caused the remote development environments (Onebox) running tests to become difficult to scale and time consuming to spin up. Integration tests belonging to each service had also grown unwieldy and took upwards of an hour to complete with an extremely poor signal to noise ratio. Test failures couldn’t be trusted, so they were often ignored, or–even worse–resulted in further hours wasted debugging.

本系列的第一部分介绍了我们在CI中运行集成测试所遇到的许多挑战。服务和工程师数量的爆炸性增长导致运行测试的远程开发环境(Onebox)变得难以扩展,并且耗费时间。属于每个服务的集成测试也变得笨重,需要一个小时以上的时间来完成,而且信噪比极低。测试失败是不可信的,所以它们经常被忽略,甚至更糟糕的是,导致更多的时间被浪费在调试上。

Among the thousands of integration tests spanning 900 services laid a small set of truly valuable E2E scenarios that we felt were crucial to maintain. Scenarios like a user being able to login, request a ride, and pay for their ride. Issues in these scenarios are called SEV0s internally (the highest severity of incident). They prevent our passengers from getting where they need to go and drivers from earning an income; they must be avoided at all costs.

在横跨900个服务的数千个集成测试中,有一小部分真正有价值的E2E场景,我们认为维护这些场景是至关重要的。诸如用户能够登录、请求乘车和支付乘车费用的...

开通本站会员,查看完整译文。

首页 - Wiki
Copyright © 2011-2024 iteam. Current version is 2.125.1. UTC+08:00, 2024-05-17 12:03
浙ICP备14020137号-1 $访客地图$