ETL测试
ETL测试过程与其他测试过程类似,包括一些阶段。
- 确定业务需求
- 测试计划
- 设计测试用例和测试数据
- 测试执行和错误报告
- 总结报告
- 测试结束
ETL测试的类型
- 生产验证测试: 也称为表平衡或产品对帐。 它在以正确顺序移入生产系统之前或同时对数据执行。
- 源目标测试: 在数据转换后验证数据值。
- 源应用程序升级: 检查数据是从旧应用程序或新应用程序或存储库中提取的。
- 数据转换测试: 为每一行运行多个SQL查询以验证数据转换标准。
- 数据完整性测试:验证是否按照预定义标准将预期数据加载到适当的目的地。
我还想将ETL测试与数据库测试进行比较,但在此之前让我们看一下有关数据库测试的ETL测试类型。
下面给出了与数据库测试有关的ETL测试类型:
-
约束测试:NULL、唯一、主键、外键、校验、空值、默认
-
重复检查测试:源表和目标表包含大量具有频繁重复值的数据,在这种情况下,测试人员会按照一些数据库查询来查找此类重复。
-
导航测试:导航涉及应用程序的GUI。 当用户在整个系统中获得简单且相关的导航时,用户会发现应用程序友好。 测试人员必须专注于从用户的角度避免不相关的导航。
-
初始化测试:执行初始化测试以检查硬件和软件要求以及安装的平台的组合
-
属性检查测试:
执行此测试以验证源系统和目标系统的所有属性是否相同
从上面的列表中可以看出,ETL测试与数据库测试非常相似,但事实是ETL测试涉及数据仓库测试而不是数据库测试。
ETL测试与数据库测试不同,还有其他一些事实。
让我们快速看看它们是什么:
- 数据库测试的主要目标是检查数据是否遵循数据模型的规则和标准,另一方面,ETL Testing检查数据是否按预期移动或映射。
- 数据库测试侧重于维护主键 - 外键关系,而ETL测试根据需求或期望验证数据转换 ,并在源系统和目标系统上相同。
- 数据库测试可识别缺失数据,而ETL测试可确定重复数据。
- 据库测试用于企业商业智能报告的 数据集成和ETL测试
这些是使ETL测试与数据库测试不同的一些主要差异。
ETL错误列表的表:
bug的类型 | 描述 |
---|---|
计算错误 | 由于数学错误,最终输出错误 |
输入/输出错误 | 接受无效值、拒绝有效值 |
H/W错误 | 由于硬件问题,设备无响应 |
用户界面错误 | 与应用程序的GUI相关 |
加载条件错误 | 拒绝多个用户 |
如何在ETL测试中创建测试用例
ETL测试的主要目标是确保提取和转换的数据是否从源到目标系统准确加载。 ETL测试包括两个文档,它们是:
-
1)ETL映射表:该文档包含有关源表和目标表及其引用的信息。 映射表提供了在执行ETL测试时创建大SQL查询的帮助。
-
2)源和目标表的数据库模式:应该在具有数据库模式的映射表中保持更新,以执行数据验证。
最流行的ETL测试工具列表
与自动化测试一样,ETL测试也可以自动化。 自动ETL测试可减少测试过程中的时间消耗,并有助于保持准确性。