ETL 测试 – 技术


在开始测试过程之前定义正确的 ETL 测试技术非常重要。您应该获得所有利益相关者的认可,并确保选择正确的技术来执行 ETL 测试。测试团队应该熟悉这项技术,并且他们应该了解测试过程中涉及的步骤。

可以使用多种类型的测试技术。在本章中,我们将简要讨论测试技术。

生产验证测试

要执行分析报告和分析,生产中的数据应该正确。此测试是对移至生产系统的数据进行的。它涉及生产系统中的数据验证并将其与源数据进行比较。

源到目标计数测试

这种类型的测试是在测试人员执行测试操作的时间较少时进行的。它涉及检查源系统和目标系统中的数据计数。它不涉及检查目标系统中的数据值。也不涉及数据映射后数据是升序还是降序。

源到目标数据测试

在此类测试中,测试人员验证从源系统到目标系统的数据值。它检查源系统中的数据值以及转换后目标系统中的相应值。此类测试非常耗时,通常在金融和银行项目中进行。

数据集成/阈值验证测试

在这种类型的测试中,测试人员验证数据的范围。检查目标系统中的所有阈值是否符合预期结果。它还涉及将多个源系统的数据经过转换和加载后集成到目标系统中。

示例- 年龄属性的值不应大于 100。在日期列 DD/MM/YY 中,月份字段的值不应大于 12。

应用程序迁移测试

当您从旧应用程序迁移到新应用程序系统时,应用程序迁移测试通常会自动执行。这个测试可以节省很多时间。它检查从旧应用程序中提取的数据是否与新应用程序系统中的数据相同。

数据检查和约束测试

它包括执行各种检查,例如数据类型检查、数据长度检查和索引检查。这里,测试工程师执行以下场景 - 主键、外键、NOT NULL、NULL 和 UNIQUE。

重复数据检查测试

此测试涉及检查目标系统中的重复数据。当目标系统中数据量很大时,生产系统中可能存在重复数据,导致分析报告中的数据不正确。

可以使用 SQL 语句检查重复值,例如 -

Select Cust_Id, Cust_NAME, Quantity, COUNT (*) 
FROM Customer
GROUP BY Cust_Id, Cust_NAME, Quantity HAVING COUNT (*) >1;

由于以下原因,目标系统中出现重复数据 -

  • 如果没有定义主键,则可能会出现重复值。
  • 由于地图不正确或环境问题。
  • 将数据从源系统传输到目标系统时出现手动错误。

数据转换测试

数据转换测试不是通过运行单个 SQL 语句来执行的。它非常耗时,并且需要对每一行运行多个 SQL 查询来验证转换规则。测试人员需要对每一行运行 SQL 查询,然后将输出与目标数据进行比较。

数据质量测试

数据质量测试包括执行数字检查、日期检查、空值检查、精度检查等。测试人员执行语法测试以报告无效字符、不正确的大小写顺序等,并执行参考测试以检查数据是否符合要求数据模型。

增量测试

执行增量测试来验证 Insert 和 Update 语句是否按照预期结果执行。此测试是使用旧数据和新数据逐步执行的。

回归测试

当我们更改数据转换和聚合规则以添加新功能时,这也有助于测试人员发现新错误,这称为回归测试。回归测试中出现的数据错误称为回归。

重新测试

当修复代码后运行测试时,称为重新测试。

系统集成测试

系统集成测试涉及单独测试系统的组件,然后集成模块。系统集成可以通过三种方式完成:自上而下、自下而上和混合。

导航测试

导航测试也称为测试系统的前端。它涉及通过检查前端报告的所有方面来进行最终用户观点测试 - 包括各个领域的数据、计算和聚合等。