ETL测试过程与其余测试过程相似,包括一些阶段。php
ETL测试的类型html
我还想将ETL测试与数据库测试进行比较,但在此以前让咱们看一下有关数据库测试的ETL测试类型。python
下面给出了与数据库测试有关的ETL测试类型:git
约束测试:NULL、惟1、主键、外键、校验、空值、默认github
重复检查测试:源表和目标表包含大量具备频繁重复值的数据,在这种状况下,测试人员会按照一些数据库查询来查找此类重复。数据库
导航测试:导航涉及应用程序的GUI。 当用户在整个系统中得到简单且相关的导航时,用户会发现应用程序友好。 测试人员必须专一于从用户的角度避免不相关的导航。apache
初始化测试:执行初始化测试以检查硬件和软件要求以及安装的平台的组合编程
属性检查测试:
执行此测试以验证源系统和目标系统的全部属性是否相同后端
从上面的列表中能够看出,ETL测试与数据库测试很是类似,但事实是ETL测试涉及数据仓库测试而不是数据库测试。api
ETL测试与数据库测试不一样,还有其余一些事实。
让咱们快速看看它们是什么:
ETL错误列表的表:
bug的类型 | 描述 |
---|---|
计算错误 | 因为数学错误,最终输出错误 |
输入/输出错误 | 接受无效值、拒绝有效值 |
H/W错误 | 因为硬件问题,设备无响应 |
用户界面错误 | 与应用程序的GUI相关 |
加载条件错误 | 拒绝多个用户 |
ETL测试的主要目标是确保提取和转换的数据是否从源到目标系统准确加载。 ETL测试包括两个文档,它们是:
1)ETL映射表:该文档包含有关源表和目标表及其引用的信息。 映射表提供了在执行ETL测试时建立大SQL查询的帮助。
2)源和目标表的数据库模式:应该在具备数据库模式的映射表中保持更新,以执行数据验证。
与自动化测试同样,ETL测试也能够自动化。 自动ETL测试可减小测试过程当中的时间消耗,并有助于保持准确性。
Informatica Data Validation是一个基于GUI的ETL测试工具,用于提取,[转换和加载(ETL)。 测试包括数据迁移以前和以后的表的比较。 此类测试可确保数据完整性,即正确加载数据量并以预期格式进入目标系统。
主要特色:
访问官方网站 :Informatica Data Validation
主要特色 :
访问官方网站 :QuerySurge
iCEDQ是一个自动化的ETL测试工具,专门针对数据中心项目(如数据仓库,数据迁移等)所面临的问题而设计.iCEDQ在源系统和目标系统之间执行验证,验证和协调。 它确保迁移后数据是否完整,并避免将错误数据加载到目标系统中。
主要特色 :
ETL Validator工具专为ETL测试和大数据测试而设计。 它是数据集成项目的解决方案。 此类数据集成项目的测试包括各类数据类型,大量数据和各类源平台。 ETL Validator经过自动化帮助克服这些挑战,进一步有助于下降成本并最大限度地减小工做量。
QualiDi是一个自动化测试平台,提供端到端测试和ETL测试。 它能够自动化ETL测试并提升ETL测试的有效性。 它还能够减小静止周期并提升数据质量。 QualiDI很是容易识别不良数据和不合规数据。 QualiDI减小了回归周期和数据验证。
主要特色 :
访问官方网站: QualiDi
Talend Open Studio for Data Integration是一个开源工具,能够简化ETL测试。 它包括全部ETL测试功能和其余持续交付机制。 在Talend Data Integration工具的帮助下,用户可使用各类操做系统在远程服务器上运行ETL做业。
ETL测试确保数据从源系统转换到目标而不会丢失任何数据,从而遵照转换规则。
主要特色 :
访问官方网站:Talend ETL Testing
Codoid的ETL和数据仓库测试服务包括从源到目标系统的数据迁移和数据验证。 ETL测试确保在将数据从源加载到目标系统时没有数据错误,没有错误数据或数据丢失。 它能够快速识别ETL过程当中发生的任何数据错误或任何其余常见错误。
主要特色 :
可确保数据仓库中的数据质量以及从源系统到目标系统的数据完整性验证。
ETL测试和数据验证确保从源系统转换到目标系统的业务信息准确可靠。
自动化测试过程在数据迁移期间和以后执行数据验证,并防止任何数据损坏。
数据验证包括目标数据和实际数据之间的计数,聚合和抽查。
自动化测试过程验证数据类型,数据长度,索引是否准确转换并加载到目标系统中。
数据质量测试可防止数据错误,错误数据或任何语法问题。
访问官方网站:Codoid’s ETL Testing
数据中心测试工具执行强大的数据验证,以免数据转换期间的数据丢失或数据不一致等任何故障。 它比较系统之间的数据,并确保加载到目标系统的数据在数据量,数据类型,格式等方面与源系统彻底匹配。
主要特色 :
访问官方网站:Data-Centric Testing
SSISTester是一个框架,有助于SSIS包的单元和集成测试。 它还有助于在测试驱动的环境中建立ETL过程,从而有助于识别开发过程当中的错误。 在实现ETL过程时会建立许多包,这些包须要在单元测试期间进行测试。 集成测试也是“实时测试”。
主要特色 :
访问官方网站: SSISTester
TestBench是一个数据库管理和验证工具。 它是一个独特的解决方案,可解决与数据库相关的全部问题。 用户管理的数据回滚可提升测试效率和准确性。 它还有助于减小环境停机时间。 TestBench报告在测试环境中执行的全部插入,更新和删除的事务,并捕获事务以前和以后的数据状态。
主要特色 :
访问官方网站: TestBench
QAceGen专门用于生成复杂的测试数据,自动化ETL回归套件以及验证应用程序的业务逻辑。 QAceGen根据ETL规范中定义的业务规则生成测试数据。 它建立了包含数据生成和数据验证语句的每一个场景。
访问官方网站: QAceGen
Zuzena是一种为数据仓库测试而开发的自动化测试服务。 它用于执行大型项目,如数据仓库,商业智能,它管理数据并执行集成和回归测试套件。 它自动管理ETL执行和结果评估。 它具备普遍的指标,可监控QA目标和团队绩效。
访问官方网站:uzena Automated Testing
DbFit是一个开源测试工具,在GPL许可下发布。 它为任何数据库代码编写单元和集成测试。 这些测试易于维护,能够直接从浏览器执行。 这些测试使用表编写,并使用命令行或Java IDE执行。 它支持主要数据库,如Oracle,MySQL,DB2,SQL Server,PostgreSQL等。
访问官方网站: DbFit
AnyDbTest是专为DBA或数据库开发人员设计的自动化单元测试工具。 AnyDbTest使用XML编写测试用例,并容许使用excel电子表格做为测试用例的来源。 支持标准断言,如SetEqual,StrictEqual,IsSupersetOf,RecordCountEqual,Overlaps等。它支持各类类型的数据库,如MySQL,Oracle,SQL Server等。测试能够包括多个数据库,即源数据库能够是Oracle服务器和目标须要加载数据的数据库能够是SQL Server。
访问官方网站: AnyDbTest
99 Percentage ETL Testing'确保任何数据库系统的数据完整性和生产协调。 它维护ETL映射表并验证行和列的源和目标数据库映射。 它还维护源数据库和目标数据库的DB Schema。 它支持生产验证测试,数据完整性和数据转换测试。
访问官方网站: 99 Percentage ETL Testing
ETL测试不只是测试人员的职责,还涉及开发人员,业务分析师,数据库管理员(DBA)甚至用户。 ETL测试过程变得相当重要,由于它须要按期制定战略决策。 ETL测试被视为企业测试,由于它须要熟悉SDLC,SQL查询,ETL过程等。