【问题标题】:Creating a testing strategy to check data consistency between two systems创建测试策略以检查两个系统之间的数据一致性
【发布时间】:2013-06-24 09:51:48
【问题描述】:

通过对 stackoverflow 的快速搜索无法找到任何内容,所以这是我的问题。

我正在尝试为一个应用程序编写测试策略,其中两个应用程序每天相互同步以保持大量数据同步。

由于数据量巨大,我真的不想交叉检查所有内容。但只想在每次发生数据同步时进行随机检查。这种系统的策略应该是什么?

我正在考虑这两种方法。 1)获取所有数据的计数并交叉检查两者是否相同 2) 随机选择 5 个数据条目并验证它们的属性是否同步。

任何建议都会很棒。

【问题讨论】:

  • 不清楚你为什么在这个问题中添加了单元测试标签,它看起来像是系统测试或集成测试。
  • “Daily Sync”是自定义编写的应用程序还是某种通常随数据库引擎提供的打包复制产品?
  • 另外,我猜每天使用随机条目会给你……嗯……随机结果。
  • 是的,随机测试可能有问题。是的,它是同步两个系统的自定义代码。它在批量复制数据时使用事务。在系统 B 中,在写入每个条目之前,它会检查数据是相同还是不同,并且仅在数据不同时才写入。

标签: testing system-testing


【解决方案1】:

您需要的称为Risk Management,在软件测试中称为Software Risk Management
您的问题似乎不是关于“如何测试”您将要测试的内容,而是如何描述您所做的事情以及您为什么这样做(基于我认为您也需要为自己做这个解释的问题......)。
将 SRM 添加到您的测试策略中应该描述:

  • 未对镜像系统中的所有数据进行全面测试的风险
  • 缩小 SRM 与测试数据量的表格(即,如果仅测试 n% 的数据与 -e.g.- 2n% 测试的错误概率),换句话说,即 -e.g.!- 5% 的丢失数据/无效数据/data corruption/etc 如果 x% 的数据以 k 分钟/小时的执行时间进行测试
  • 根据前一点,用于不同选项的资源细分(例如,n 小时的硬件负载百分比,使用的工时为 y,硬件/软件/人力资源的使用成本为 z 美元)
  • 自动化代码出错/问题的概率和成本(即数据比较出错并导致误报或误报,给 DBA、开发和/或测试带来开销)
  • 如果采用 SRM 选项会发生什么情况(!!例如!! 10% 的数据测试给出 3% 的数据损坏/丢失风险和 0.75% 的开销风险 - 假阳性/阴性结果 -)结果在实际失败中,即引用Business Continuity 以及数据、完整性等丢失的影响


其他一切都会浮现在您的脑海中,并且您觉得它适用于您当前系统中的当前问题以及您的实际偏好

【讨论】:

  • 我同意你所说的。谢谢
猜你喜欢
  • 2013-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-08
  • 2019-08-08
  • 2013-05-09
相关资源
最近更新 更多