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语句是否按预期结果执行。此测试是使用旧数据和新数据逐步执行的。

回归测试

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

重新测试

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

系统集成测试

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

导航测试

导航测试也称为测试系统的前端。它涉及从最终用户的角度进行测试,检查前端报告的所有方面,包括各个字段中的数据、计算和聚合等。

广告