测试重复数据删除和匹配引擎

软件测试 工具 战略 数据质量
2022-02-01 14:08:24

有没有人测试过基于行的重复数据删除和匹配程序(数据可以是任何个人信息,如姓名、地址和邮政编码等)?

什么样的策略/工具最有效地确定此类程序的质量并避免在积极开发时出现倒退?

我们希望能够使我们的大部分验证过程自动化,因此想从已经做过这类事情的人那里了解在类似情况下应用的自动化工具/策略。

该软件具有 UI (java fx),一个现有的 api,它也通过 Web 服务公开。质量问题围绕匹配逻辑和可扩展性,因为它需要能够立即处理相当大的数据。

1个回答

我不能保证我们的技术是最先进的,但它们给了我们所需的信心,并且可能会给你一些方法的想法。

在进行修复之前,我们对生产数据库进行了备份,其中包含所有已知的重复项。然后,我们针对该数据库运行重复数据删除代码,并分析它发现的重复数据以确保它们是真正的重复数据,并验证它是否找到了所有已知的实际重复数据。

此外,我们创建了回归 E2E 测试用例,该用例将使用涵盖我们有时间测试的重复数据删除逻辑的数据填充干净的数据库,然后在服务运行完成后查询数据库以验证只有预期的数据仍然存在。我们已经有代码可用于自动设置干净的数据库并调用服务,然后运行查询并记录结果;如果我们无法利用这些工具,我们可能会使用不同的方法。

为了提高性能和可扩展性,我们在暂存中针对现有数据库的备份运行重复数据删除程序,同时将当前生产流量转发到暂存服务器,以确定在处理标准负载时每秒有多少记录被重复数据删除。我们最关心的是 (a) 重复数据删除是否会影响处理当前流量,以及 (b) 重复数据删除逻辑需要多长时间才能赶上当前流量。如果我们需要一个可重现的性能测试,我想我们会编写一个模拟器程序,它会按照预先编程的时间表删除文件以模拟生产流量。