ETL 测试 – 场景


ETL 测试场景用于验证 ETL 测试过程。下表解释了 ETL 测试人员使用的一些最常见的场景和测试用例。

测试场景 测试用例

结构验证

它涉及根据映射文档验证源表结构和目标表结构。

应在源系统和目标系统中验证数据类型。

源系统和目标系统中的数据类型长度应该相同。

源系统和目标系统中的数据字段类型及其格式应相同。

验证目标系统中的列名称。

验证映射文档

它涉及验证映射文档以确保已提供所有信息。映射文档应该有变更日志、维护数据类型、长度、转换规则等。

验证约束

它涉及验证约束并确保它们应用于预期的表。

数据一致性检查

它涉及检查外键等完整性约束的滥用。

属性的长度和数据类型在不同的表中可能会有所不同,但它们的定义在语义层上保持不变。

数据完整性验证

它涉及检查是否所有数据都从源系统加载到目标系统。

计算源系统和目标系统中的记录数。

边界值分析。

验证主键的唯一值。

数据正确性验证

它涉及验证目标系统中的数据值。

表中发现拼写错误或不准确的数据。

当您在导入时禁用完整性约束时,将存储 Null、Not Unique 数据。

数据转换验证

它涉及创建输入值和预期结果场景的电子表格,然后与最终用户进行验证。

通过创建场景来验证数据中的父子关系。

使用数据分析来比较每个字段中的值范围。

验证仓库中的数据类型是否与数据模型中提到的相同。

数据质量验证

包括进行数量检查、日期检查、精度检查、数据检查、空值检查等。

示例- 所有值的日期格式应相同。

空验证

它涉及检查该字段提到的“非空”值。

重复验证

当数据来自源系统的多个列时,它涉及验证目标系统中的重复值。

根据业务需求验证主键和其他列是否存在重复值。

日期验证检查

验证 ETL 流程中执行的各种操作的日期字段。

执行日期验证的常见测试用例 -

  • From_Date 不应大于 To_Date

  • 日期值的格式应该正确。

  • 日期值不应包含任何垃圾值或空值

完整的数据验证减去查询

它涉及使用减号查询来验证源表和目标表中的完整数据集。

  • 您需要执行source minus targettarget minus source

  • 如果减号查询返回一个值,则应将其视为不匹配的行。

  • 您需要使用Intersect语句来匹配源和目标中的行。

  • Intersect 返回的计数应与源表和目标表的单独计数相匹配。

  • 如果减号查询未返回任何行,并且计数交集小于源计数或目标表计数,则该表包含重复行。

其他测试场景

其他测试场景可以验证提取过程没有从源系统中提取重复的数据。

测试团队将维护一个 SQL 语句列表,运行这些语句以验证没有从源系统中提取重复数据。

数据清理

在将数据加载到暂存区之前,应删除不需要的数据。