【问题标题】:What is the best way to test ETLs- Source vs Target data comparision测试 TL 的最佳方法是什么 - 源数据与目标数据比较
【发布时间】:2018-01-13 03:39:07
【问题描述】:

我们用于测试 ETL 的当前设置是:

目标数据仓库数据库通过链接服务器连接到源数据库。

QA 团队编写了一个脚本,该脚本将读取、转换源数据库中的数据,并将结果与​​数据仓库中的表逐列进行比较,以获取 100,000 条记录的样本。

公司政策可能会取消链接服务器的连接,在这种情况下,源数据库和目标数据库之间将没有连接来进行逐列比较。

有没有其他方法可以在不使用任何 ETL 工具的情况下做到这一点(因为这是正在测试的)

我可以想到第三个程序,例如(Python 等),它建立与源数据库和目标数据库的数据库连接,下载数据并进行文件比较或类似的事情。有更好的主意吗?

是否有任何工具可用于此类测试?

【问题讨论】:

    标签: testing etl


    【解决方案1】:

    在我看来,可以通过三种方式来测试这个场景:

    i) 使用第三方程序 (Python/Java)

    ii) 手册(注视和比较/以 csv 格式下载并比较)

    iii) 使用 ETL 测试自动化工具

    您已经提到的选项 (i)。

    选项 ii) 对于某些数据子集,您可以查看并比较源数据库和目标数据库之间的数据。或者您可以从 Excel 中的 Source & Target 下载数据样本,并使用宏进行数据比较和验证。但由于这涉及手动步骤,这将非常耗时,并且由于使用样本而无法提供良好的数据覆盖率。

    选项 iii) 有一些许可工具,如 Query Surge、BI Validator、DB Solo 等,可用于数据比较和验证。 DB Solo 只能进行 DB 到 DB 比较。此外,您可能无法使用 DB Solo 验证复杂的转换。而 Query Surge & BI Validator 可以进行 DB 到 DB、DB 到文件、文件到 DB、文件到文件的数据比较和验证。这些还可以帮助您验证源数据和目标数据之间的复杂转换。

    您还可以使用这些工具在数据仓库中的不同层之间进行进一步的数据验证,并自动执行大部分 ETL 测试。要调查您的 ETL 工具选项,请查看此wiki

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-08
      • 2016-09-01
      相关资源
      最近更新 更多