Database 为什么没有关于测试数据库一致性的信息?Can';我在这件事上找不到任何资源
大约一年前,我发现在我正在从事的一个大数据类型项目上测试数据库一致性/状态非常有用。我后来将此技术应用于其他更一般的应用程序,并发现它同样重要。我试着在谷歌上搜索数据库测试,结果发现大部分文章都在谈论单元测试存储过程,我本来希望看到专门针对这一主题的书籍,但却没有找到一篇文章。我想知道我是不是在寻找一些已经存在但以另一个名字为人所知的东西 让我用几个例子来解释我所说的数据库测试:Database 为什么没有关于测试数据库一致性的信息?Can';我在这件事上找不到任何资源,database,testing,Database,Testing,大约一年前,我发现在我正在从事的一个大数据类型项目上测试数据库一致性/状态非常有用。我后来将此技术应用于其他更一般的应用程序,并发现它同样重要。我试着在谷歌上搜索数据库测试,结果发现大部分文章都在谈论单元测试存储过程,我本来希望看到专门针对这一主题的书籍,但却没有找到一篇文章。我想知道我是不是在寻找一些已经存在但以另一个名字为人所知的东西 让我用几个例子来解释我所说的数据库测试: 通过验证已应用的业务逻辑规则(数据库检查约束对它们可以执行的内容有限制),测试您的数据库是否处于无效状态。 A.您有
其他人是否在这些类型的测试中发现了任何价值?这已经是一种公认的做法了吗?我不清楚这与集成测试有什么不同。如果您想追溯确保数据“一致”,也不清楚您要做什么根据你的应用程序的规则,你可以让其他东西进入并破坏数据,然后你需要检查读写的有效性,并让一些东西不断地在数据库中扫描基本上所有的数据,并确保它始终保持正确,因为不是每一条数据都会被定期触摸。Seems就像您得到的一样,因为可能存在其他数据修改源(其他应用程序、恶意用户等)我们确实需要定期扫描以确保数据与业务规则一致。这可以是每晚检查,也可以是周末检查,具体取决于数据库的大小。我从来没有在文章或书中听说过这样的概念,我只是想知道为什么。因为如果你允许任意数据扫描,而你把它搞砸了,那是你自己的错。胖-通常不允许在管理员级别对生产数据进行指认。根据您真正谈论的内容,实际操作可能需要几天时间。这与其他所有操作一样,都有投资回报率,一般来说,我认为这样的操作会有相当低的回报率。YMMV。这取决于您假设只有一个系统就位。想象一个场景,其中有多个不同的系统与相同的数据交互。您以前可能没有构建过任何这些系统,但验证数据库是否一致并将继续保持一致可能仍然很重要。另一个问题是安全性,如果数据库检查以某种方式破坏了系统ing系统可能会捕捉到这种情况。不,我明确表示“您可以让其他东西进入并破坏数据”和“任意数据挖掘”.如果是这种情况,我认为您不应该直接操纵数据,但应该让所有操纵都通过一个强制执行有效性的服务进行。如果您一直等到DB层检测到安全漏洞,那就太晚了,而且您的安全操作是错误的。就我的系统涉及多个参与者的历史而言,我认为在我使用过的一些系统中,玩家的数量肯定超出了任何合理的范围。