● 数据库的测试和数据仓库是相似的这是一个普遍的误区,而事实是它们有截然不同的测试方向

  ● 数据库测试使用规模较小的数据通常是OLTP(联机事务处理)的数据库类型,而数据仓库测试是大容量的数据,涉及的是OLAP(联机分析处理)数据库。

  ● 数据库测试通常是从统一数据源中持续注入,而数据仓库测试的数据来自不同类型的数据源且数据是不连续和无序的。

  ● 我们在进行数据库测试时一般只执行CRUD(Create, read, update and delete),而在数据仓库的测试时我们只读(select)操作。

  ● 标准化的数据库被用于DB测试中,而历史DB则被使用在数据仓库测试中。

  许多普遍验证对进行任何形式的数据仓库测试都将要实施。

  下面列表中的对象被视为在ETL测试的必要验证点:

  - 验证数据从源到目的地的转换是否如预期般运作

  - 验证预期数据被添加到目标系统

  - 确认所有的数据库字段,字段数据加载没有任何截断

  - 验证记录计数匹配的数据校验

  - 验证被拒绝的数据的错误日志都有详细记录

  - 验证NULL值字段

  - 验证重复数据未加载

  - 验证数据的完整性

  ETL测试的挑战:

  ETL测试不同于传统的测试,在执行数据仓库测试时我们面临着许多挑战。一下我列出来一些我经历的项目中的ETL测试的挑战:

  - 不兼容性和重复数据。

  - 在ETL过程中的数据丢失。

  - 不可用包容性的试验床。

  - 测试人员自己没有权限去执行ETL工作

  - 数据的数量和复杂性是非常巨大的。

  - 业务流程和程序的故障。

  - 获取和构建测试数据的困难。

  - 缺少业务流程的信息。

  数据作为企业的关键业务决策起着重要作用。ETL测试在确认业务数据提取,一致性,可靠性中是发挥着重要的作用,同时,它在使我们产品数据丢失减小至小。希望这些技巧能够帮助你的企业ETL过程的确认,以及数据仓库建立发挥一个重要的作用。