为什么在测试时要创建/删除测试数据库



我被指派从java后端测试mongodb数据库。有人告诉我,我必须创建一个数据库,完全利用这个任务的脚本。

但我很难理解用脚本从头开始创建数据库的好处,而不是拥有一个永久的测试数据库。我认为在这两种情况下,数据应该在启动时插入,在拆卸时清除。

为什么从测试的角度来看,在测试时创建和删除数据库是有益的?

有时测试会失败,因此可能永远无法到达拆卸阶段。

此外,删除数据库是最快、最有效的清理方法,尽管可能不是最有效的方法。但它可以保证你不会忘记清理程序中的某些内容。

特别是对于性能测试,重要的是数据库在每次运行时都处于完全相同的状态,否则运行时间无法相互比较:连续运行中的改进可能只是因为表空间已经增加或类似的事情,而不是因为代码优化起作用…

大多数时候,测试意味着一个预定义的环境以及该环境对我们假设状态的预期反应。因此,为了验证它,我们需要一个尽可能多的纯自动化和可重复的过程,而不受手动设置或配置的干扰。

在软件开发过程中,我们试图为产品的QA考虑尽可能多的测试用例。当我们谈论太多的测试用例时,每个测试用例都应该与其他测试用例隔离。如果没有很好地隔离,结果可能会在每一轮执行中发生变化,最终导致测试过程无效。

它们不需要。但是:

  1. 您失去了可移植性
  2. 您的测试没有已知的开始状态

最新更新