我应该如何执行SQL ETL脚本和SPROC的自动化测试?

Eoi*_*ell 7 sql sql-server unit-testing ssis etl

我们有许多DTSX软件包,它们从许多传统的Pervasive Databases - > SQL Server 2k8 R2中提取 - 转换 - 加载数据.(通过ODBC)

我们的大部分ETL过程都是T-SQL脚本

遗留数据是一个结构严重的混乱,最常见的是,我们对ETL脚本进行的调整和更改是为了处理这种格式错误的数据.

我们想要做的是设置一些流程来自动测试执行这些转换的SPROCS/Scripts.

我们自己想出的是:

  • 有一些已知的数据源输入(托管在本地普及数据库中)
  • 运行DTSX包以生成输出
  • 在SQL Server中的其他地方有一些预期和预先创建的输出.
  • 编写我们自己的验证脚本,将预期与实际情况进行比较.

只是想知道是否还有其他进程/系统/数据库测试应用程序,我们也应该考虑.

Seb*_*ine 3

查看tSQLt - SQL Server 的数据库单元测试框架。它使得编写健壮的测试变得相当容易。

它(尚)不允许测试脚本,但您可以将它们包装到存储过程中。