bob手机版网页体育一键下载

bob体育口碑

bob体育口碑

这是商业智能测试系列文章的第三篇。

在开始讨论什么是ETL测试之前,让我们回顾一下业务智能和数据仓库测试(DW测试)的概念。

业务智能是收集业务数据并将其转换为组织有用信息的过程。该数据包含公司日常事务的记录,如客户交互、员工管理和财务管理。

同时,数据仓库测试是开发和执行特定测试用例的过程,确保数据仓库中的所有数据都与组织框架的数据一致。

至于ETL测试,这种方法是数据仓库测试的一个子组件。它用于处理提取的数据,这些数据根据业务智能需求进行转换,然后加载到指定的数据仓库中。

《2021-2022年软件开发和QA测试报告》

ETL流程中的步骤

以下是测试人员在使用ETL测试过程时所采取的步骤:

  1. 精华:ETL性能测试方法的第一步是从各种数据源中提取信息。可以使用的数据源通常是第三方数据库,如MS SQL和Oracle DB。CSV文件还可以用于提取数据。
  2. 变换:一旦数据被提取出来,下一步就是通过清理操作将其转换为可用的原理图数据。这是将不完整或不准确的记录从数据库中删除的部分。
  3. 负载:然后将从上一步获得的原理图数据上传到在线分析处理(OLAP)数据仓库。数据将存储在此仓库中,以后可用于商业智能或其他用途分析

在ETL中测试什么

在将整理过的数据用于业务智能之前,必须首先对其进行验证,以确保不存在缺陷。识别数据问题是ETL测试的主要目标。

以下是ETL中正在测试的一些常见案例:

  • 数据映射:ETL测试中最重要的测试用例是数据映射,因为这样做是为了确保从源获取的数据与目标数据库相关。如果不匹配,系统将失败。
  • 数据模式验证:这个测试用例确保从源获取的数据模式需要与从数据库获取的数据模式匹配。
  • 搜索不准确或重复的数据:目标数据库不应该有重复或不完整的数据,这就是为什么测试数据准确性也很重要。
  • 验证业务规则:在目标数据库中上传的数据应该符合应用的业务规则。
  • 测试性能:这种类型的测试用例也是至关重要的,因为某些形式的数据会对系统的性能产生负面影响。
  • 测试行数和表数:来自所有行和表的数据应该与目标数据库的数据相匹配。任何不匹配都可能导致系统中的潜在错误。

如何编写ETL测试用例

ETL测试的概念适用于信息管理部门的不同数据库和工具。由于ETL测试的目标是确保来自某个来源的数据是准确的,因此在不同阶段对信息进行验证是正常的。

当用户执行ETL测试时,这两个文档总是会派上用场:

  1. ETL映射表:它包含关于目标表和源表的所有数据,包括必要的列和引用表。
  2. 源的DB架构,目标:该文档总是准备就绪,因为它用于验证映射表中的任何信息。

话虽如此,以下是当今最流行的ETL测试场景和测试用例:

  • 映射文档验证:不管是否提供了相应的ETL细节,都会验证映射文档。
  • 验证:源和目标表结构根据映射文档进行验证,而目标数据类型和源数据类型应该类似。
  • 约束验证:这是为了确保为特定的表定义约束。
  • 数据质量:进行数字、日期、精度、数据和空检查。
  • 验证日期:这样做是为了根据ETL开发视角识别活动记录。
  • 数据清洁:在加载到暂存区域之前,必须删除所有不必要的列。
  • 重复检查:惟一键、主键和列应该根据业务需求是惟一的。

ETL测试过程的8个阶段

好的ETL测试能够尽早地识别数据源中的问题、不一致和歧义。整个过程可以分为以下几个阶段:

  1. 确定业务需求:这是根据客户期望评估设计、业务流程和报告需求的地方。识别业务需求是很重要的,因为它有助于定义项目的清晰范围。
  2. 验证数据来源:完成数据计数检查,并验证表和列数据,以确定它们是否满足数据模型的规范。这还可以确保在删除任何重复数据时,检查键都在适当的位置。
  3. 设计测试用例:这是设计ETL映射场景的阶段。这里还创建了SQL脚本,并定义了转换规则。
  4. 从源系统提取数据:ETL测试是根据业务需求完成的。在测试过程中识别出bug或缺陷,测试人员随后生成报告。
  5. 应用转换逻辑:这是为了确保将数据转换为适合目标数据仓库的模式。
  6. 将数据加载到目标仓库:记录计数检查是在数据从暂存区域移动到数据仓库之前和之后进行的。
  7. 总结报告:这是验证布局、选项和过滤器以及摘要报告导出功能的阶段。
  8. 测试关闭:一旦所有阶段都完成了,测试人员就会提交一个测试结束文件来结束测试。

ETL测试的类型

测试人员可以执行九种类型的ETL测试。这些都是:

  1. 生产验证:这种ETL性能测试方法也称为生产协调,它验证生产系统中的数据,然后将它们与数据源进行比较。
  2. 目标测试的来源:这种类型的测试验证已加载在目标数据库中的记录数量,以匹配记录计数。
  3. 源到目标数据测试:这样做是为了确保投影数据包含在目标系统中而不会被截断或丢失。它还确保数据值满足所有的期望后转换。
  4. 元数据测试:执行ETL应用程序元数据的数据类型、索引、长度和约束检查。这里评估的是和解总计和负载统计数据。
  5. 性能测试:确保数据按照预期的时间框架在数据仓库中加载。测试服务器对多个事务和用户的响应也进行了测试,以确保它们是足够的和可伸缩的。
  6. 数据转换测试:对该测试执行SQL查询,以验证数据是否正确转换。
  7. 数据质量测试:执行语法测试以确保ETL应用程序拒绝并报告无效数据。
  8. 数据集成测试:验证来自所有数据源的数据是否已正确加载到数据仓库。
  9. 报告测试:这种类型的测试检查汇总报告中的数据,并按预期验证布局和功能。

ETL中的性能测试

这是一种测试方法,用于确保ETL系统能够处理来自多个用户和事务的负载。它的主要目标是通过识别和消除任何性能瓶颈来改进和优化会话性能。

Informatica是性能测试和调优中最常用的工具之一。

ETL测试工具

考虑到所有这些因素,下面是一些目前正在使用的ETL测试工具:

  • QuerySurge:QuerySurge是一个流行的ETL测试工具,它允许用户自动执行测试过程。它可以支持各种CI/CD流程和云数据库。
  • Informatica数据验证:Informatica是ETL测试的优秀工具,因为它可以让编码技能有限的人更轻松地进行测试。该工具提供了一个直观和用户友好的界面,这就是为什么它是当今最流行的ETL测试系统之一。
  • Datagaps:另一个很棒的ETL测试工具是Datagaps,因为它能够同时执行数据提取和测试用例执行。

结论

如您所见,执行ETL测试是为了比较目标数据库中的数据与源数据库中的数据的执行情况和功能。这就是为什么在执行ETL时,理解源数据的工作方式是至关重要的数据测试的过程。

不能理解源数据及其业务目的可能导致失败的ETL测试过程。对于工程师来说,他们的SQL技能将在ETL测试中得到测试。

尽管ETL测试非常具有挑战性,但它是一个非常重要的过程,对于任何主要的企业应用程序都是必要的。

QASource,我们的测试专家可以帮助您制定策略并运行有效的ETL测试运行。为了了解更多,取得联系

下载免费清单下面并发现在准备性能测试时需要完成的步骤。

新的文字-动作

免责声明

本刊物仅供参考,任何内容均不应视为法律意见。我们明确声明,对于因该信息引起的损害,我们不承担任何保证或责任,并鼓励您就您的具体需要咨询法律顾问。我们不承担任何责任更新之前发布的材料。