ETL测试数据仓库测试教程

作者: python测试开发 | 来源:发表于2019-06-16 23:08 被阅读33次
image.png

基于技术,流程和解决方案,在服务产品方面为客户提供了不同的产品系列,分布在许多领域, ETL或数据仓库是快速成功发展的产品之一。

ETL从源系统获取数据,根据业务规则进行转换,最后加载到目标系统(数据仓库)。数据仓库是企业范围的商店,其中包含有助于业务决策过程的集成数据。它是商业智能的一部分。

为什么需要数据仓库?

数据是任何组织中最重要的部分,它可能是日常数据或历史数据。数据是任何报告的基础,报告是所有重要管理决策的基准。

构建数据仓库,以存储和监控实时数据以及历史数据。制作高效的数据仓库并非易事。许多组织已经分布了使用分布式技术运行的不​​同应用程序。

使用ETL工具以便在来自不同部门的不同数据源之间进行完美的集成。 ETL从不同来源提取数据;根据业务转换规则将其转换为首选格式,并将其加载到已知的内聚数据库中,即数据仓库。

无论使用何种技术或ETL工具,ETL或数据仓库测试都分为四种不同的参与:

  • 新数据仓库测试 - 从头开始​​构建和验证新DW。数据输入取自客户需求,不同的数据源和新的数据仓库在ETL工具的帮助下构建和验证。
  • 迁移测试 - 在这种类型的项目中,客户将有一个现有的DW和ETL执行工作,但他们正在寻找新工具以提高效率。
  • 变更请求 - 在此类项目中,新数据从不同来源添加到现有DW。此外,可能存在客户需要更改其现有业务规则或可能集成新规则的情况。
  • 报告测试 - 报告是任何数据仓库的最终结果,也是DW构建的基本建议。必须通过验证报告和计算中的布局,数据来测试报告。

ETL过程

image.png

ETL测试

1)数据转换测试:根据各种业务要求和规则验证数据是否正确转换。

2)源到目的计数测试:确保目标中加载的记录数与预期计数匹配。

3)源数据目标数据测试:确保所有预计数据都加载到数据仓库中,没有任何数据丢失和截断。

4)数据质量测试:确保ETL应用程序适当拒绝,替换为默认值并报告无效数据。

5)性能测试:确保在规定的和预期的时间范围内将数据加载到数据仓库中,以确认改进的性能和可伸缩性。

6)生产验证测试:验证生产系统中的数据并将其与源数据进行比较。

7)数据集成测试:确保来自各种源的数据已正确加载到目标系统,并检查所有阈值。

8)应用程序迁移测试:在此测试中,确保ETL应用程序在移动到新的盒子或平台时工作正常。

9)数据和约束检查:在这种情况下测试数据类型,长度,索引,约束等。

10)重复数据检查:测试目标系统中是否存在任何重复数据。

除上述ETL测试方法外,还进行了系统集成测试,用户验收测试,增量测试,回归测试,重新测试和导航测试等其他测试方法,以确保一切顺利可靠。

ETL /数据仓库测试过程

  • 要求了解

  • 证实

  • 测试评估:基于多个表,规则的复杂性,数据量和作业的性能。

  • 测试计划:基于测试评估和业务需求的输入进行测试计划。我们需要在此确定范围内的内容和范围之外的内容。我们还会在此阶段寻找依赖关系,风险和缓解计划。

  • 测试用例:从所有可用输入设计测试用例和测试场景。我们还需要设计映射文档和SQL脚本。

  • 测试数据准备:一旦所有测试用例都准备好并获得批准,测试团队就会继续执行执行前检查和测试数据准备以进行测试。
    -测试执行:最后,执行执行直到满足退出标准。因此,执行阶段包括运行ETL作业,监视作业运行,SQL脚本执行,缺陷日志记录,缺陷重新测试和回归测试。

  • 测试报告:成功完成后,将编写摘要报告并完成关闭过程。在此阶段,将签名以将作业或代码提升到下一阶段。

image.png

有必要定义测试策略,在开始实际测试之前,应由利益相关者共同接受。明确定义的测试策略将确保遵循测试愿望的正确方法。

ETL /数据仓库测试可能需要测试团队广泛编写SQL语句,或者可能需要定制开发团队提供的SQL。无论如何,测试团队必须知道他们试图使用这些SQL语句获得的结果。

参考资料

数据库和数据仓库测试之间的差异

有一种流行的误解,即数据库测试和数据仓库是相似的,而事实是两者在测试中都有不同的方向。

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

在数据库测试中,通常数据始终从统一源注入,而在数据仓库测试中,大多数数据来自不同类型的数据源,这些数据源是顺序不一致的。

我们通常在数据库测试中执行唯一的CRUD(创建,读取,更新和删除Create, read, update and delete))操作,而在数据仓库测试中,我们使用只读(选择)操作。

规范化数据库用于DB测试,非规范化数据库B用于数据仓库测试。

对于任何类型的数据仓库测试都必须进行许多通用验证。以下是在此测试中被视为验证必不可少的对象列表:

  • 验证从源到目标的数据转换是否按预期工作
  • 验证是否已将预期数据添加到目标系统
  • 验证是否加载了所有数据库字段和字段数据而没有任何截断
  • 验证记录计数匹配的数据校验和
  • 验证对于被拒绝的数据,是否日志生成了包含所有详细信息
  • 验证NULL值字段
  • 验证未加载重复数据
  • 验证数据完整性

参考:difference between ETL/Data warehouse testing & Database Testing.

ETL测试挑战

  • 不兼容和重复的数据
  • ETL过程中的数据丢失
  • 包容性测试平台不可用
  • 测试人员无权通过自己的方式执行ETL作业
  • 数据的数量和复杂性非常巨大
  • 业务流程和程序出错
  • 无法获取和构建测试数据
  • 测试环境不稳定
  • 缺少业务流程信息

数据对于企业做出关键业务决策非常重要。 ETL测试在验证和确保业务信息的准确性,一致性和可靠性方面发挥着重要作用。此外,它最大限度地减少了生产中数据丢失的危险。

希望这些提示有助于确保您的ETL过程准确无误,并且由此构建的数据仓库对您的业务而言具有竞争优势。

相关文章

  • 2、ETL测试

    前言 因为笔者没有实践过,所以不乱写。若想学习,可到 ETL测试教程、ETL测试数据仓库测试教程

  • ETL测试数据仓库测试教程

    基于技术,流程和解决方案,在服务产品方面为客户提供了不同的产品系列,分布在许多领域, ETL或数据仓库是快速成功发...

  • ETL测试或数据仓库测试入门

    概述 在我们学习ETL测试之前,先了解下business intelligence(即BI)和数据仓库。 什么是B...

  • ETL测试工具简介

    ETL测试 ETL测试过程与其他测试过程类似,包括一些阶段。 确定业务需求 测试计划 设计测试用例和测试数据 测试...

  • ETL测试教程

    翻译自原文:https://www.guru99.com/utlimate-guide-etl-datawareh...

  • DB测试图谱

    最近接触DB测试,传统的ETL过程, 然后发现测试中不想功能测试和自动化测试那样的明确,会少一些测试点,而ETL之...

  • ETL TEST(etl 测试)

    一、etl测试概念 etl分别是Extraction, Transformation, and Loading。 ...

  • DI/ETL/FS系统中数据准确性验证的羽量级实现

    数据集成(DI)、数据仓库(ETL)、财务系统(FS )这类“抽数”、“洗数”动作较多的系统在研发过程中,测试工作...

  • ETL与数据库测试比较

    数据库测试与ETL测试 数据测试 考虑到数据库测试和ETL测试是相似和相同的,我们大多数人都很困惑。事实是它们相似...

  • ETL测试-介绍

    翻译自:https://www.tutorialspoint.com/etl_testing/etl_testin...

网友评论

    本文标题:ETL测试数据仓库测试教程

    本文链接:https://www.haomeiwen.com/subject/pzunfctx.html