在生产中进行 运行 端到端测试是否值得?

Is it worth it to run e2e tests in production?

如何在不破坏数据库一致性的情况下在生产中实现端到端?想象一下,我们需要测试的场景是一个用户注册。如果我们 运行 在生产环境中进行这个测试,它每次都会创建一个假用户。

问题是 e2e 测试非常重要,我们可以更灵活地 运行 在临时环境中进行测试。但是,在生产中,我们的数据一致性很低,而且我们无法检测到特定于生产的错误。那么,有没有办法在生产中正确实施端到端测试,或者我们应该只在暂存阶段使用它们?提前致谢

我的建议是 select 哪些测试是您真正想要 运行 针对生产的,并使用这些来创建 'Production Smoke Test' 或部署测试包。

通过足够减少的测试包,您创建的额外用户的数量应该被最小化。这将限制您围绕虚假用户提出的问题的影响。

如果您可以构建测试,以便将假用户用于包中的其他测试,那么这是一个很好的用户生命周期 E2E 测试。

我还假设您的系统中有删除用户的功能?

这本身就是一个很好的测试,所以我建议您创建的任何生产包的最终测试是测试删除您刚刚创建的 'fake' 个用户。