博客

数据仓库和ETL测试自动化的关键因素

作者:

韦恩Yaddow

数据迁移/集成/ ETL顾问

日期:2020年3月24日

编者注:韦恩Yaddow是一个独立的顾问拥有超过20年的经验主要数据迁移/集成/ ETL测试项目在组织包括摩根大通(J.P. Morgan Chase)、瑞士信贷(Credit Suisse)、标准普尔,AIG,奥本海默基金、IBM和Achieve3000。此外,韦恩告诉IIST(国际软件测试研究所)课程188金宝搏官网登录app数据仓库,ETL,数据集成测试。他继续领导很多ETL测试和指导项目咨询的基础上。你可以联系韦恩wyaddow@gmail.com

介绍

DW开发的特点是频繁的发布高质量的数据,用户反馈和接受。每次迭代结束时DW ETL、数据表将是下一个ETL阶段充分的质量。这一目标需要一个独特的质量保证方法和工具方法。最重要的是这意味着将QA工作和自动化集成到ETL开发迭代。

必要的集成ETL测试是测试自动化。手工测试是不切实际的高度迭代和自适应开发环境。手工测试有两个关键问题。

首先,它花费的时间太长,因此,一个重要的抑制剂的频繁交付可工作的软件。188金宝搏官网登录app团队主要依靠手工测试最终推迟测试直到专用测试时期,它允许错误积累。

第二,手动ETL测试不充分可重复的回归测试。而寻求接受和适应变化,我们必须始终相信特性是“完成,完成了!“在以前的迭代留住高质量考虑不断变化的系统。

自动化测试需要初始计划和正在进行的勤奋,但是一旦技术团队拥抱自动化项目的成功更有保证。

数据仓库的自动化测试

数据仓库自动化测试被描述为使用的工具来控制1)的执行测试,2)的比较实际结果预测结果,3)测试先决条件的设置,和其他测试控制和测试报告功能。金宝搏188官网网址通常,测试自动化涉及自动化手动过程已经到位,使用正式的测试过程。

虽然手工ETL测试可能会发现许多数据缺陷,这是一个费力而费时的过程。此外,手工测试可能不会有效地发现某些类的缺陷。DW自动化测试需要编写项目测试,否则需要手动完成的。自动化测试之后,他们可以快速、反复运行。DW这通常是最具成本效益的方法,可能有很长的维护生活,因为即使是很小的补丁或增强仓库的生命周期会导致特性来打破这种工作。

综合自动化测试在ETL开发提供了一个独特的挑战。当前的自动化测试工具为软件开发设计不容易适应数188金宝搏官网登录app据库和ETL项目;大量数据可以自动测试一项艰巨的任务。DW的各种体系结构进一步复杂化这些挑战,因为它们涉及到多个数据库,需要特殊的编码数据提取、转换、加载,数据清理,数据聚合数据充实。

测试自动化工具可以是昂贵的;工具通常用于结合手工测试。然而,他们可以成为成本从长远来看,尤其是反复用于回归测试。

测试自动化在DW ETL过程的目标

什么自动化,自动化,甚至是否真的需要自动化是至关重要的一个决定,测试团队必须(或开发)。选择正确的产品自动化特性很大程度上决定了成功的自动化。

自动化不稳定特性或功能发生变化应避免。今天,没有已知的商业工具或一组方法/流程,可以说是全面的端到端DW测试。主要从Informatica ETL工具厂商,微软和其他不推动任何一个测试工具ETL自动化测试的答案。

共同目标的ETL测试自动化
  • 尽可能多的DW测试周期活动自动化
  • 开发一个系统测试和生产监控的回归测试套件
  • 专注于数字合规的金融信息和财务报告
  • 识别不匹配和缺失的数据
  • DW的性能
  • 为审计人员提供保证,所有财务信息驻留在DW是可信的
  • 协调数据输入和之间的转换过程
  • 减少手工测试工作负载常常成千上万的SQL脚本
  • 验证信息来源和目的地之间的DW
  • 验证所有数据,而不只是一个子集或样本
  • 验证的实现复杂的数据转换规则
  • 验证目标数据在每一个ETL过程

自动化这些测试也可能需要处理的复杂性和数量的源和目标,需要检查。没有自动化,这些检查通常是昂贵的或在某些情况下可能做手工。

ETL功能往往适合自动化测试
  • 数据聚合处理
  • 数据清理和归档
  • 维度表数据加载
  • 端到端测试
  • 提取转换加载(ETL)确认和验证测试
  • 事实表数据加载
  • 文件/数据加载验证
  • 增量负载测试
  • 负载和可伸缩性测试
  • 性能测试
  • 回归测试
  • 安全性测试
  • 源数据测试和分析
  • 分期、ODS数据验证
  • BI报告测试

对于大多数DW开发,ETL测试流程是为了检查和实施数据质量。因此,选择高性能的ETL工具(如Informatica, ssi, DataStage,内部开发,等等)是一种严重的DW项目的关注。

决定哪些ETL测试自动化

诀窍就是找出需要自动化,以及如何处理这个任务。数组的问题必须考虑自动化测试过程中如:

  • 自动化测试要花多少钱?
  • 谁来做自动化(例,Dev QA) ?
  • 应该使用什么测试工具(例如开源、商业)?
  • 报告的测试结果如何?
  • 谁来解释测试结果?
  • 脚本维护包括什么?
  • 会发生什么应用程序的测试脚本后,启动?

图1显示了示例的时间期限为一组样本的手动和自动测试用例测试用例。

的例子,时间期限为一组样本的手动和自动测试用例测试用例宽度=

图1所示。比较手工测试执行时间和测试执行时间

自动化DW测试的主要目标是覆盖最关键的函数加载DW -源和目标数据的同步和和解。

福利和自动化ETL测试的局限性
一些ETL自动化测试的挑战
  • 大量的源和目标表和记录
  • 测试所有DW表的数据同步
  • 通过自动化测试商业智能和分析报告
好处
  • 测试用例执行得更快。可以加快自动化测试用例的实现
  • 结果在可重用的测试套件。一旦创建了测试脚本和自动化工具,他们可以保存更容易回忆起和重用。
  • 简化了测试报告。许多自动化工具的一个有吸引力的特性是他们生成报告和测试记录的能力。这些功能提供一个准确的表示的状态数据,清楚地识别任何缺陷,可用于合规审计。
  • 降低人员和返工成本。的时间会花在手工测试或修复后重新测试缺陷可以花在其他项目在IT部门。
潜在的局限性
  • 不能消除手工测试。虽然自动化可以用于许多应用程序和测试用例,它不能完全代替手工测试。复杂的测试用例自动化可能赶不上一切仍将存在,用户验收测试,最终用户必须经常手动运行测试。因此,重要的是要有正确的自动化和手工测试。
  • 成本的工具。自动化测试工具可以是昂贵的,这取决于它们的大小和功能。乍一看,业务可能不认为这是一个必要的成本;然而,仅可重用性就可以很快把它变成一种资产。
  • 培训的成本。一些自动化工具可以使用复杂,可能需要培训开始。测试人员必须受过训练,不仅在软件,但也在自动化测试计划过程。188金宝搏官网登录app
  • 自动化需要有效的计划、准备和专用资源。自动化测试的成功很大程度上取决于明确的测试需求和测试开始前仔细的测试用例开发。因为每个组织,DW应用程序可以是独一无二的,一个自动化测试工具不会频繁地创建测试用例。不幸的是,测试用例开发仍然是一个手动过程。
开始使用ETL测试自动化

并不是所有的ETL测试适用于自动化。评估上述情况,以确定哪些类型的自动化将有利于测试过程,又有多少是必要的。评估测试要求和识别效率低下,与自动化测试可能是固定的。QA团队花了很多时间在回归测试将受益最多。

为自动化测试开发业务案例。自动化测试一般在手工测试额外的代价,为了表达对业务的价值,它必须首先使此案。

评估选择。后评价当前状态和需求在IT部门,调查哪些工具适合组织的测试过程和环境。选项可能包括供应商、开源的内部,或者一个组合工具。

典型的自动化ETL测试场景

敏捷原则和其他现代开发自动化测试。我们可以对DW应用这种意识。

DW测试的一个重要的考虑是,测试运行的数量将继续增长来验证添加功能。

图2。端到端ETL测试

如图2所示,有四个主要领域的端到端ETL测试。数据自动化测试,重点在每个测试入口点的验证数据的完整性。

在实现测试自动化,数据可以追踪从源层,通过ETL处理,在DW加载,最后到前端应用程序或报告。如果发现腐败数据前端应用程序或报告,执行自动化套件可以帮助更快的确定问题是位于数据源,ETL过程,在DW数据库/数据集市或在商业情报。

性能测试,利用相同的测试入口点集中于描述子系统响应负载下。一个类似的策略是用于数据完整性验证,以确定性能问题的起源。可以测量子系统的性能在任何识别测试入口点。

强调快速定位数据和性能问题的复杂DW架构提供了发展的一个关键工具促进效率,缩短建设周期,会议发布的目标。

结论

自动化测试工具是用于下列情形之一时最有帮助。

  • 重复的、平凡的任务。随着ETL过程的发展,他们会接触到许多修改和通过许多版本,每个都必须经过测试。通过创建测试脚本后,自动化测试允许重用未来版本。
  • 回归测试。每次更改数据或业务规则,测试人员使用手工方法必须经过每个函数,确保它不会影响系统的其他部分。自动化回归测试执行测试用例要快得多。
  • 多个组合。在日益复杂的环境中,许多场景都必须检查,自动化测试可以快速运行许多测试用例组合使用一些脚本。
  • 可重用性:可以重用这些自动化测试用最小的努力回归测试新版本的源系统。

作为自动化测试已迅速成为一个重要的替代手工测试,更多的公司正在寻找成功应用自动化的工具和策略。这种趋势导致了测试自动化工具的重要增长基于硒,Katalon工作室,Appium,和许多更多。

然而,要充分利用这些自动化工具,DW和BI QA团队必须具备适当的编程技能。添加。企业变得更敏捷更频繁地更新和应用程序。

许多专家预测,持续的,测试人员和开发人员之间的知识差距,必须缩小。ETL自动化测试工具可以显著降低的时间测试代码相比,传统的手工方法。其他好处包括创建可重用的代码和相关成本的减少人员和返工。

获得自动化DW测试知识和工具来决定是否适合您的QA项目。

作者:

韦恩Yaddow

数据迁移/集成/ ETL顾问

日期:2020年3月24日
Baidu
map