让我们说我有一堆单元测试,集成测试和e2e测试,涵盖了我的应用程序。将这些连续运行与生产相关是否有意义,例如:每10分钟一次?
我想不,这就是为什么: 我的测试已在每次prod部署后运行。如果他们通过并且之后没有代码发生变化,他们应该继续通过。因此,测试它们之后没有意义。
我真正想要持续测试的是我的基础设施 - 它还在运行吗?在这种情况下,每10分钟运行一次API集成测试以检查我的API是否仍然有效。因此,我正在处理我的测试套件的一部分 - 测试我的基础架构可用性(集成+ e2e)而不是单个代码(单元测试)。那么在实践中,我是否有单独的测试套件来测试产品的正常运行时间,而不是用于测试部署前/后的套件?
答案 0 :(得分:1)
这种“冗余”验证(它们可以包括构建,BTW,不仅仅是测试)提供额外的数据点,提高了实际生产过程的监控精度。
根据您的生产环境的复杂程度,即使简单的“启动/运行?”问题可能没有简单的答案,验证的子集/快捷方式版本可能不会削减它 - 您'只涵盖那些版本,而不是实际的生产版本。
例如,仅仅因为构建服务器已启动并不意味着它也能够成功构建产品,您需要检查构建本身的每个方面:每个工具的可用性,对于复杂的构建,执行构建本身可能比管理代码可靠检查构建是否可行更简单;)
有两个生产过程属性可以从更精确的监控中受益(以及哪些子集/快捷方式验证也不合适):</ p>
Donno如果其中任何一项适用于您的背景或具有可接受的成本/效益比,但它们对于大多数非常大/复杂的sw项目来说绝对重要。