测试n层Web应用程序 - 我的测试项目是否应该有自己的数据库?

时间:2013-05-03 19:45:42

标签: testing

在n层web应用程序中,我是否应该针对不同的数据库运行集成测试,一个专门用于测试代码?是否标准做法是对生产数据库进行测试?

2 个答案:

答案 0 :(得分:1)

您永远不应该在生产中运行未经测试的代码。毕竟,您不希望发现它有一个消除所有数据的错误。这就是测试应该找到的东西。并且您不应该在生产系统中拥有测试/暂存数据。优良作法是将数据转储出生产并将其加载到另一个环境中,以便使用实际数据进行定期测试。

您应该有一个测试数据库(不与生产共享)。在每次测试之前消除数据是个好主意。

您可以进行生产中的烟雾测试。他们会伪装成一个用户(代理人)并访问许多页面,甚至可以创建东西(带有特殊标签,这样你就可以再次找到它们并删除它们。)

答案 1 :(得分:0)

我宁愿考虑使用自己的数据集的不同数据库用户。数据库架构应该是相同的。我永远不会使用相同的数据库用户在生产数据库上运行测试。测试逻辑甚至不应该传递给客户端,因为它可能会导致严重的安全问题。

在我看来,您需要一个完整的类似于生产的数据集用于测试目的,以便能够测试应用程序的每个功能。此外,您还需要一个空数据库(没有任何商务数据),以便应用程序客户端将其作为交付时的初始点。不应测试这样的数据集,因为测试业务逻辑不需要数据。