测试ETL的最佳方法是什么?源与目标数据的比较

时间:2018-01-13 03:39:07

标签: testing etl

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

目标Datawarehouse数据库通过链接服务器连接到Source数据库。

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

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

有没有其他方法可以在不使用任何ETL工具的情况下执行此操作(因为这是正在测试的内容)

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

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

1 个答案:

答案 0 :(得分:0)

在我看来,有三种方法可以测试这种情况:

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

ii)手动(在csv中凝视和比较/下载并比较)

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

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

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

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

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