ETL项目是使用诸如SSIS,PowerCenter等ETL(提取-转换-加载)工具创建的项目。
这些通常涉及从外部源读取数据,将其加载到暂存数据库,执行某些转换并将其加载到最终数据库。
一个简单的例子是使用SSIS来读取教师使用SSIS提供的excel文件并将其加载到数据库中。然后编写存储过程或更多SSIS包以计算每个学生的成绩并将该数据加载到数据集市\仓库中
然后,您在集市上构建存储过程以生成输出,报告工具(SSRS \ Excel \ etc)使用该输出来生成可视化。
我试图了解在这种情况下如何执行TDD和适当的单元测试。ETL的测试主要是确保登台表中加载的数据与源中数据的正确子集匹配。因此,对其进行测试将导致实现ETL的迷你版本。报告SP的输出取决于表本身中的数据,因此即使没有创建包含清理的测试数据的数据库,也没有维护的噩梦就无法拥有稳定的输出数据集。
例:
冲刺1:学生表包含姓名,年龄,年级
您为此表创建测试数据,并基于该表进行单元测试
冲刺2:性别字段添加到表中。
现在,如果刷新学生字段中的数据以填充性别属性,则由于数据已更改,因此测试用例将无效。如果您不这样做,就无法创建需要性别列的测试用例