⼤数据测试之“什么是ETL”?
⼀、什么是ETL
ETL代表Extract-Transform-Load,它是如何将数据从源系统加载到数据仓库的过程。从OLTP数据库中提取数据,进⾏转换以匹配数据仓库架构,然后将其加载到数据仓库数据库中。许多数据仓库还合并了来⾃⾮OLTP系统的数据,例如⽂本⽂件,旧系统和电⼦表格。
让我们举例看看ETL过程是如何⼯作的:
例如,⼀家零售商店有不同的部门,例如销售,市场,物流等。它们各⾃独⽴地处理客户信息,并且存储数据的⽅式也⼤不相同。销售部门按客户名称存储,⽽营销部门按客户ID存储。
现在,如果他们想查看客户的历史记录,并想知道他/她由于不同的营销活动⽽购买了哪些不同的产品,这个过程将很冗长复杂。
解决⽅案是使⽤数据仓库使⽤ETL以统⼀的结构存储来⾃不同来源的信息。ETL可以将不同的数据集转换为统⼀的结构。后来使⽤BI(商业智能)⼯具可以从这些数据中获取有意义的见解和报告。
下图为您提供了ETL测试流程的ROAD MAP和各种ETL测试概念:
ETL测试流程
1.提取-E
提取相关数据。
2.转换-T
将数据转换为DW(数据仓库)格式,构建密钥-密钥是唯⼀标识⼀个实体的⼀个或多个数据属性。各
个类型的密钥是主键,交替键,外键,复合键,代理键。数据仓库拥有这些密钥,并且永远不允许任何其他实体分配它们。数据清理:提取数据后,它将进⼊下⼀阶段,即清理和整理数据。清除会遗漏数据,并识别并修复错误。⼀致性意味着解决那些不兼容的数据之间的冲突,以便可以在企业数据仓库中使⽤它们。除这些以外,此系统还会创建⽤于诊断源系统问题并改善数据质量的元数据。
3.加载-L
将数据加载到DW(数据仓库)中,构建聚合-创建聚合是汇总和存储事实表中可⽤的数据,以提⾼最终⽤户查询的性能。
⼆、什么是ETL测试
进⾏ETL测试以确保业务转换后从源加载到⽬的地的数据是准确的。它还涉及验证源和⽬标之间使⽤的各个中间阶段的数据。
三、ETL测试流程
与其他测试过程类似,ETL也经历不同的阶段。ETL测试过程的不同阶段如下:
ETL测试阶段
ETL测试分为五个阶段:识别数据源和需求,数据采集,实施业务逻辑和维度建模,建⽴并填充数据,建⽴报告。
ETL数据处理过程和测试过程
四、ETL测试类型
五、创建ETL测试⽤例
ETL测试是⼀种概念,可以应⽤于信息管理⾏业中的不同⼯具和数据库。 ETL测试的⽬的是确保业务转换后从源加载到⽬标的数据是准确的。 它还涉及验证源和⽬标之间使⽤的各个中间阶段的数据。在执⾏ETL测试时,ETL测试⼈员将始终使⽤的两个⽂档:
1、ETL映射表: ETL映射表包含源表和⽬标表的所有信息,包括每⼀列以及它们在参考表中的查。ETL测试⼈员需要熟悉SQL查询,因为ETL 测试可能涉及编写具有多个联接的⼤型查询以在ETL的任何阶段验证数据。ETL映射表在编写查询以进⾏数据验证时提供了重要的帮助。
2、源,⽬标的数据库模式:应便于检查映射表中的任何细节。
六、ETL测试场景和测试⽤例
七、ETL的测试bug类型
ETL的bug类型
ETL错误类型
⼋、数据库测试和ETL测试之间的区别
ETL测试和数据库测试区别
九、 ETL中的性能测试
ETL中的性能测试是⼀种测试技术,可确保ETL系统可以处理多个⽤户和事务的负载。ETL性能测试的主要⽬标是通过识别和消除性能瓶颈来优化和提⾼会话性能。源数据库和⽬标数据库,映射,会话和系统可能存在性能瓶颈。⽤于性能测试/调整的最佳⼯具之⼀是Informatica。
⼗、 ETL测试⾃动化
ETL测试的⼀般⽅法是使⽤SQL脚本或对数据进⾏“⽬测”。这些ETL测试⽅法耗时,容易出错并且很少提供完整的测试范围。为了在⽣产和开发环境中加速,提⾼覆盖范围,降低成本,提⾼ETL测试的缺陷检测率,⾃动化是当务之急。⼀种这样的⼯具是Informatica。
⼗⼀、 ETL测试的最佳做法
1. 确保数据正确转换
2. 在没有任何数据丢失和截断的情况下,应将预计的数据加载到数据仓库中
3. 确保ETL应⽤程序适当拒绝并替换为默认值并报告⽆效数据
4. 需要确保在规定和预期的时间范围内将数据加载到数据仓库中,以确认可伸缩性和性能大数据etl工具有哪些
5. ⽆论可见度如何,所有⽅法均应具有适当的单元测试
6. 为了衡量其有效性,所有单元测试应使⽤适当的覆盖技术
7. 为每个测试⽤例争取⼀个断⾔
8. 创建针对异常的单元测试
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论