Skip to content

Latest commit

 

History

History
30 lines (26 loc) · 2.42 KB

ETL_Test.md

File metadata and controls

30 lines (26 loc) · 2.42 KB

ETL测试(Extract,Transform,and Load,中文名称为数据提取、转换和加载)

ETL测试或者数据仓库测试被划分为四个不同的过程,这与所用到的技术或者ETL工具无关。

  • 新数据仓库测试 - 新数据仓库通过爬取来构建和确认。数据输入来自于顾客需求和不同的数据源和新的数据仓库在ETL工具的帮助下进行构建和验证。
  • 迁移测试 - 这种类型的项目客户将有一个现有的数据仓库和ETL执行的工作,但他们想寻找新的工具包以提高工作效率。
  • 变更请求 - 这种类型的项目新数据从不同来源增加到现有数据仓库。此外,可能存在一种情况:客户的需要改变它们现有的业务规则,或者可能整合新的规则。
  • 测试报告 - 测试报告是数据仓库的执行结果和数据仓库构建的初始目的。报告必须经过测试验证,数据也将被报告和计算。

ETL测试技术:

  • 根据不同的业务需求和规则验证数据是否被正确地转化。
  • 确保所有预期的数据加载到数据仓库中没有任何数据丢失和截断。
  • 确保ETL应用程序适当的拒绝,替换为默认值,并报告无效数据。
  • 确保数据在规定和预计的时间框架内被加载到数据仓库中,以确认改进的性能和可扩展性。

数据库测试与数据仓库测试的不同:

  • 数据库的测试和数据仓库是相似的这是一个普遍的误区,而事实是它们有截然不同的测试方向
  • 数据库测试使用规模较小的数据通常是OLTP(联机事务处理)的数据库类型,而数据仓库测试是大容量的数据,涉及的是OLAP(联机分析处理)数据库。
  • 数据库测试通常是从统一数据源中持续注入,而数据仓库测试的数据来自不同类型的数据源且数据是不连续和无序的。
  • 我们在进行数据库测试时一般只执行CRUD(Create, read, update and delete),而在数据仓库的测试时我们只读(select)操作。
  • 标准化的数据库被用于DB测试中,而历史DB则被使用在数据仓库测试中。

ETL测试的挑战:

  • 不兼容性和重复数据。
  • 在ETL过程中的数据丢失。
  • 不可用包容性的试验床。
  • 测试人员自己没有权限去执行ETL工作
  • 数据的数量和复杂性是非常巨大的。
  • 业务流程和程序的故障。
  • 获取和构建测试数据的困难。
  • 缺少业务流程的信息。