您是否应该在生产中进行端到端测试代码?如果是,如何避免损坏数据库



上下文:

假设您有 2 个分支,开发分支和生产分支。您对开发分支进行单元测试,它通过,然后将开发分支与生产分支合并。(我假设端到端测试从服务器端开始。

问题

然后,是否应该对生产分支运行端到端测试,以确保代码在生产环境中也能正常工作?

如果答案是肯定的,那么如何避免损坏生产分支中数据库的状态? 例如,我认为有一天有人可能会编写一个错误的测试来创建/更新/删除不应该创建/更新/删除的东西,这并不现实。

如果答案是否定的,你怎么知道你的代码是否确实在生产环境中工作?我猜是简单的烟雾测试?

编辑

我以前误用了术语单元测试。我用端到端测试代替了它。

单元测试不会修改数据库状态,因此无关紧要。如果您正在进行端到端测试,那么是的,这是可能的,但是适当的数据库权限和访问控制应该很容易防止这种情况发生。

您应该能够在远离生产服务器的地方运行所有测试。切勿直接在服务器上运行测试,除非测试是专门为此设计的(即运行状况检查(

最新更新