ETL测试工具简介

 
 

ETL测试

ETL测试过程与其余测试过程相似,包括一些阶段。php

  • 肯定业务需求
  • 测试计划
  • 设计测试用例和测试数据
  • 测试执行和错误报告
  • 总结报告
  • 测试结束

ETL测试的类型html

  • 生产验证测试: 也称为表平衡或产品对账。 它在以正确顺序移入生产系统以前或同时对数据执行。
  • 源目标测试: 在数据转换后验证数据值。
  • 源应用程序升级: 检查数据是从旧应用程序或新应用程序或存储库中提取的。
  • 数据转换测试: 为每一行运行多个SQL查询以验证数据转换标准。
  • 数据完整性测试:验证是否按照预约义标准将预期数据加载到适当的目的地。

我还想将ETL测试与数据库测试进行比较,但在此以前让咱们看一下有关数据库测试的ETL测试类型。python

下面给出了与数据库测试有关的ETL测试类型:git

  • 约束测试:NULL、惟1、主键、外键、校验、空值、默认github

  • 重复检查测试:源表和目标表包含大量具备频繁重复值的数据,在这种状况下,测试人员会按照一些数据库查询来查找此类重复。数据库

  • 导航测试:导航涉及应用程序的GUI。 当用户在整个系统中得到简单且相关的导航时,用户会发现应用程序友好。 测试人员必须专一于从用户的角度避免不相关的导航。apache

  • 初始化测试:执行初始化测试以检查硬件和软件要求以及安装的平台的组合编程

  • 属性检查测试:
    执行此测试以验证源系统和目标系统的全部属性是否相同后端

从上面的列表中能够看出,ETL测试与数据库测试很是类似,但事实是ETL测试涉及数据仓库测试而不是数据库测试。api

ETL测试与数据库测试不一样,还有其余一些事实。

让咱们快速看看它们是什么:

  • 数据库测试的主要目标是检查数据是否遵循数据模型的规则和标准,另外一方面,ETL Testing检查数据是否按预期移动或映射。
  • 数据库测试侧重于维护主键 - 外键关系,而ETL测试根据需求或指望验证数据转换 ,并在源系统和目标系统上相同。
  • 数据库测试可识别缺失数据,而ETL测试可肯定重复数据。
  • 据库测试用于企业商业智能报告的 数据集成和ETL测试
    这些是使ETL测试与数据库测试不一样的一些主要差别。

ETL错误列表的表:

bug的类型 描述
计算错误 因为数学错误,最终输出错误
输入/输出错误 接受无效值、拒绝有效值
H/W错误 因为硬件问题,设备无响应
用户界面错误 与应用程序的GUI相关
加载条件错误 拒绝多个用户

如何在ETL测试中建立测试用例

ETL测试的主要目标是确保提取和转换的数据是否从源到目标系统准确加载。 ETL测试包括两个文档,它们是:

  • 1)ETL映射表:该文档包含有关源表和目标表及其引用的信息。 映射表提供了在执行ETL测试时建立大SQL查询的帮助。

  • 2)源和目标表的数据库模式:应该在具备数据库模式的映射表中保持更新,以执行数据验证。

最流行的ETL测试工具列表

与自动化测试同样,ETL测试也能够自动化。 自动ETL测试可减小测试过程当中的时间消耗,并有助于保持准确性。

Informatica数据验证

 
image.png

Informatica Data Validation是一个基于GUI的ETL测试工具,用于提取,[转换和加载(ETL)。 测试包括数据迁移以前和以后的表的比较。 此类测试可确保数据完整性,即正确加载数据量并以预期格式进入目标系统。

主要特色:

  • 全面的ETL测试工具,不须要任何编程技能。
  • 在ETL测试期间提供自动化,确保数据是否正确传送而且是否以预期的格式传送到目标系统。
  • 有助于在测试和生产环境中完成数据验证和协调。
  • 下降了在转换过程当中引入错误的风险,并避免将错误数据转换到目标系统。
  • 在开发,测试和生产环境中很是有用,在此环境中,必须在进入生产系统以前验证数据完整性。
  • 能够节省50%到90%的成本和工做量。
  • 为数据验证和数据完整性提供了完整的解决方案。
  • 直观的用户界面和内置操做员,减小了编程工做和业务风险。
  • 识别并防止数据质量问题并提升业务生产力。
  • 容许64%免费试用和36%付费服务,减小数据验证所需的时间和成本。

访问官方网站 :Informatica Data Validation

QuerySurge

 
image.png

主要特色 :

  • QuerySurge是一个用于大数据测试和ETL测试的自动化工具。
  • 提升数据质量并加快测试周期。
  • 使用查询向导验证数据。
  • 它经过自动化手动工做并在特定时间安排测试来节省时间和成本。
  • QuerySurge支持跨IBM,Oracle,Microsoft,SAP等各类平台的ETL测试。
  • 有助于构建测试场景和测试套件以及可配置的报告,而无需具有SQL的特定知识。
  • 经过自动化流程生成电子邮件报告。
  • 可重复使用的查询代码段,用于生成可重用的代码。
  • 它提供了数据健康的协做视图。
  • 与HP ALM,TFS,IBM Rational Quality Manager集成。
  • 经过ETL过程验证,转换和升级数据。
  • 它是一种商业工具,可链接源数据和目标数据,还支持测试场景的实时进度。

访问官方网站 :QuerySurge

iCEDQ

QuerySurge

iCEDQ是一个自动化的ETL测试工具,专门针对数据中心项目(如数据仓库,数据迁移等)所面临的问题而设计.iCEDQ在源系统和目标系统之间执行验证,验证和协调。 它确保迁移后数据是否完整,并避免将错误数据加载到目标系统中。

主要特色 :

  • iCEDQ是一个独特的ETL测试工具,能够比较数百万行数据库或文件。
  • 有助于识别包含数据问题的确切行和列。
  • 在执行后向订阅的用户发送警报和通知。
  • 支持回归测试。
  • 支持各类数据库,能够从任何数据库读取数据。
  • 链接关系数据库,任何JDBC兼容数据库,富文本等。
  • 根据数据库中的惟一列比较内存中的数据。
  • 与HP ALM集成。
  • 专为ETL测试,数据迁移测试和数据质量验证而设计。
  • 识别数据集成错误,无需任何自定义代码。
  • 支持ETL流程的规则引擎,协做工做和有组织的QA流程。
  • 30天试用期的商业工具,可提供包含警报和通知的自定义报告。
  • 大数据版如今使用Hadoop Cluster的强大功能
  • 使用iCEDQ进行BI报告测试和仪表板测试

Datagaps ETL Validator

 
image.png

ETL Validator工具专为ETL测试和大数据测试而设计。 它是数据集成项目的解决方案。 此类数据集成项目的测试包括各类数据类型,大量数据和各类源平台。 ETL Validator经过自动化帮助克服这些挑战,进一步有助于下降成本并最大限度地减小工做量。

  • 内置的ETL引擎,能够比较来自各类数据库或平面文件的数百万条记录。
  • 专为自动数据仓库测试而设计的数据测试工具。
  • 具备拖放功能的Visual Test Case Builder。
  • Query Builder的功能,能够编写测试用例而无需手动输入任何查询。
  • 比较聚合数据,如计数,总和,不一样计数等。
  • 简化跨各类环境的数据库模式的比较,包括数据类型,索引,长度等。
  • ETL Validator支持各类平台,如Hadoop,XML,Flat文件等。
  • 支持电子邮件通知,Web报告等。
  • 它能够与HP ALM集成,从而在各类平台上共享测试结果。
  • 查数据有效性,数据准确性以及执行元数据测试。
  • 检查参照完整性,数据完整性,数据完整性和数据转换。
  • 试用期为30天,无需自定义编程,提升了业务效率。

Datagaps ETL Validator

QualiDI

 
image.png

QualiDi是一个自动化测试平台,提供端到端测试和ETL测试。 它能够自动化ETL测试并提升ETL测试的有效性。 它还能够减小静止周期并提升数据质量。 QualiDI很是容易识别不良数据和不合规数据。 QualiDI减小了回归周期和数据验证。

主要特色 :

  • QualiDI建立自动化测试用例,并为自动数据比较提供支持。
  • 提供数据可追溯性和测试用例可追溯性。
  • 集中的存储库,用于需求,测试用例和测试结果。
  • 它能够与HPQC,Hadoop等集成。
  • QualiDI在早期阶段发现了一个缺陷,从而下降了成本。
  • 电子邮件通知。
  • 支持持续集成过程。
  • 支持敏捷开发和快速传递sprint。
  • QualiDI管理复杂的BI测试周期,消除人为错误和维护的数据质量。

访问官方网站: QualiDi

用于数据集成的 Open Studio

 
image.png

Talend Open Studio for Data Integration是一个开源工具,能够简化ETL测试。 它包括全部ETL测试功能和其余持续交付机制。 在Talend Data Integration工具的帮助下,用户可使用各类操做系统在远程服务器上运行ETL做业。

ETL测试确保数据从源系统转换到目标而不会丢失任何数据,从而遵照转换规则。

主要特色 :

  • Talend数据集成支持任何类型的关系数据库,平面文件等。
  • 集成的GUI,简化了ETL过程的设计和开发。
  • 内置数据链接器,包含900多个组件。
  • 快速检测转换规则中的业务歧义和不一致性。
  • 支持远程做业执行。
  • 早期识别缺陷以下降成本。
  • 根据ETL最佳实践提供定量和定性指标。能够在二者之间切换
  • ETL开发,ETL测试和ETL生产环境。
  • 实时数据流跟踪以及详细的执行统计信息。

访问官方网站:Talend ETL Testing

参考资料

Codoid的ETL测试服务

Codoid的ETL和数据仓库测试服务包括从源到目标系统的数据迁移和数据验证。 ETL测试确保在将数据从源加载到目标系统时没有数据错误,没有错误数据或数据丢失。 它能够快速识别ETL过程当中发生的任何数据错误或任何其余常见错误。

主要特色 :

  • 可确保数据仓库中的数据质量以及从源系统到目标系统的数据完整性验证。

  • ETL测试和数据验证确保从源系统转换到目标系统的业务信息准确可靠。

  • 自动化测试过程在数据迁移期间和以后执行数据验证,并防止任何数据损坏。

  • 数据验证包括目标数据和实际数据之间的计数,聚合和抽查。

  • 自动化测试过程验证数据类型,数据长度,索引是否准确转换并加载到目标系统中。

  • 数据质量测试可防止数据错误,错误数据或任何语法问题。

访问官方网站:Codoid’s ETL Testing

Data-Centric Testing

数据中心测试工具执行强大的数据验证,以免数据转换期间的数据丢失或数据不一致等任何故障。 它比较系统之间的数据,并确保加载到目标系统的数据在数据量,数据类型,格式等方面与源系统彻底匹配。

主要特色 :

  • 构建数据中心测试以执行ETL测试和数据仓库测试。
  • 以数据为中心的测试是最大和最经典的测试实践。
  • 提供ETL测试,数据迁移和协调。
  • 支持各类关系数据库,富文本等。
  • 高效的数据验证,100%的数据覆盖率。
  • 以数据为中心的测试还支持全面的报告。
  • 数据验证的自动化过程会生成SQL查询,从而下降成本和工做量。
  • 它提供了Oracle和SQL Server等异构数据库之间的比较,并确保两个系统中的数据格式正确。

访问官方网站:Data-Centric Testing

SSISTester

 
image.png

SSISTester是一个框架,有助于SSIS包的单元和集成测试。 它还有助于在测试驱动的环境中建立ETL过程,从而有助于识别开发过程当中的错误。 在实现ETL过程时会建立许多包,这些包须要在单元测试期间进行测试。 集成测试也是“实时测试”。

主要特色 :

  • 单元测试创​​建并验证测试,一旦执行完成,它就会执行清理工做。
  • 集成测试验证在执行单元测试后全部包都符合之前哦爱u。
  • 当用户在Visual Studio中建立测试时,将以简单的方式建立测试。
  • 使用SSISTester能够实时测试测试。
  • 用户友好的GUI监控测试执行。
  • 测试结果以HTML格式导出。
  • 它经过使用虚假的源和目标地址来删除外部依赖项。
  • 对于测试的建立,它支持任何.NET语言。

访问官方网站: SSISTester

TestBench

TestBench是一个数据库管理和验证工具。 它是一个独特的解决方案,可解决与数据库相关的全部问题。 用户管理的数据回滚可提升测试效率和准确性。 它还有助于减小环境停机时间。 TestBench报告在测试环境中执行的全部插入,更新和删除的事务,并捕获事务以前和以后的数据状态。

主要特色 :

  • 保持数据机密性以保护数据。
  • 应用程序的恢复点。
  • 改善了决策知识。
  • 自定义数据集以提升测试效率。
  • 有助于最大限度地测试覆盖率并有助于减小时间和金钱。
  • 数据隐私规则可确保测试环境中的实时数据不可用。
  • 将结果与各类数据库进行比较。 结果包括表格的差别和对​​表格的操做。
  • TestBench分析表之间的关系并维护表之间的引用完整性。

访问官方网站: TestBench

GTL QAceGen

QAceGen专门用于生成复杂的测试数据,自动化ETL回归套件以及验证应用程序的业务逻辑。 QAceGen根据ETL规范中定义的业务规则生成测试数据。 它建立了包含数据生成和数据验证语句的每一个场景。

访问官方网站: QAceGen

Zuzena自动化测试服务

Zuzena是一种为数据仓库测试而开发的自动化测试服务。 它用于执行大型项目,如数据仓库,商业智能,它管理数据并执行集成和回归测试套件。 它自动管理ETL执行和结果评估。 它具备普遍的指标,可监控QA目标和团队绩效。

访问官方网站:uzena Automated Testing

DbFit

DbFit是一个开源测试工具,在GPL许可下发布。 它为任何数据库代码编写单元和集成测试。 这些测试易于维护,能够直接从浏览器执行。 这些测试使用表编写,并使用命令行或Java IDE执行。 它支持主要数据库,如Oracle,MySQL,DB2,SQL Server,PostgreSQL等。

访问官方网站: DbFit

AnyDbTest

AnyDbTest是专为DBA或数据库开发人员设计的自动化单元测试工具。 AnyDbTest使用XML编写测试用例,并容许使用excel电子表格做为测试用例的来源。 支持标准断言,如SetEqual,StrictEqual,IsSupersetOf,RecordCountEqual,Overlaps等。它支持各类类型的数据库,如MySQL,Oracle,SQL Server等。测试能够包括多个数据库,即源数据库能够是Oracle服务器和目标须要加载数据的数据库能够是SQL Server。

访问官方网站: AnyDbTest

99 Percentage ETL Testing

99 Percentage ETL Testing'确保任何数据库系统的数据完整性和生产协调。 它维护ETL映射表并验证行和列的源和目标数据库映射。 它还维护源数据库和目标数据库的DB Schema。 它支持生产验证测试,数据完整性和数据转换测试。

访问官方网站: 99 Percentage ETL Testing

要点

  • 应用合适的业务转型逻辑。
  • 执行后端数据驱动的测试。
  • 建立并执行绝对测试用例,测试计划和测试工具。
  • 确保数据转换,可扩展性和性能的准确性。
  • 确保E
  • TL应用程序报告无效值。
  • 应将单元测试创​​建为目标标准。

结论

ETL测试不只是测试人员的职责,还涉及开发人员,业务分析师,数据库管理员(DBA)甚至用户。 ETL测试过程变得相当重要,由于它须要按期制定战略决策。 ETL测试被视为企业测试,由于它须要熟悉SDLC,SQL查询,ETL过程等。

相关文章
相关标签/搜索