python数据分析人工智能机器学习软件测试Python专家之路程序员

ETL测试数据仓库测试教程

2019-06-16  本文已影响33人  python测试开发
image.png

基于技术,流程和解决方案,在服务产品方面为客户提供了不同的产品系列,分布在许多领域, ETL或数据仓库是快速成功发展的产品之一。

ETL从源系统获取数据,根据业务规则进行转换,最后加载到目标系统(数据仓库)。数据仓库是企业范围的商店,其中包含有助于业务决策过程的集成数据。它是商业智能的一部分。

为什么需要数据仓库?

数据是任何组织中最重要的部分,它可能是日常数据或历史数据。数据是任何报告的基础,报告是所有重要管理决策的基准。

构建数据仓库,以存储和监控实时数据以及历史数据。制作高效的数据仓库并非易事。许多组织已经分布了使用分布式技术运行的不​​同应用程序。

使用ETL工具以便在来自不同部门的不同数据源之间进行完美的集成。 ETL从不同来源提取数据;根据业务转换规则将其转换为首选格式,并将其加载到已知的内聚数据库中,即数据仓库。

无论使用何种技术或ETL工具,ETL或数据仓库测试都分为四种不同的参与:

ETL过程

image.png

ETL测试

1)数据转换测试:根据各种业务要求和规则验证数据是否正确转换。

2)源到目的计数测试:确保目标中加载的记录数与预期计数匹配。

3)源数据目标数据测试:确保所有预计数据都加载到数据仓库中,没有任何数据丢失和截断。

4)数据质量测试:确保ETL应用程序适当拒绝,替换为默认值并报告无效数据。

5)性能测试:确保在规定的和预期的时间范围内将数据加载到数据仓库中,以确认改进的性能和可伸缩性。

6)生产验证测试:验证生产系统中的数据并将其与源数据进行比较。

7)数据集成测试:确保来自各种源的数据已正确加载到目标系统,并检查所有阈值。

8)应用程序迁移测试:在此测试中,确保ETL应用程序在移动到新的盒子或平台时工作正常。

9)数据和约束检查:在这种情况下测试数据类型,长度,索引,约束等。

10)重复数据检查:测试目标系统中是否存在任何重复数据。

除上述ETL测试方法外,还进行了系统集成测试,用户验收测试,增量测试,回归测试,重新测试和导航测试等其他测试方法,以确保一切顺利可靠。

ETL /数据仓库测试过程

image.png

有必要定义测试策略,在开始实际测试之前,应由利益相关者共同接受。明确定义的测试策略将确保遵循测试愿望的正确方法。

ETL /数据仓库测试可能需要测试团队广泛编写SQL语句,或者可能需要定制开发团队提供的SQL。无论如何,测试团队必须知道他们试图使用这些SQL语句获得的结果。

参考资料

数据库和数据仓库测试之间的差异

有一种流行的误解,即数据库测试和数据仓库是相似的,而事实是两者在测试中都有不同的方向。

使用较小规模的数据(通常使用OLTP:联机事务处理Online transaction processing类型的数据库)进行数据库测试,而数据仓库测试使用涉及OLAP(联机分析处理)数据库的大量数行。

在数据库测试中,通常数据始终从统一源注入,而在数据仓库测试中,大多数数据来自不同类型的数据源,这些数据源是顺序不一致的。

我们通常在数据库测试中执行唯一的CRUD(创建,读取,更新和删除Create, read, update and delete))操作,而在数据仓库测试中,我们使用只读(选择)操作。

规范化数据库用于DB测试,非规范化数据库B用于数据仓库测试。

对于任何类型的数据仓库测试都必须进行许多通用验证。以下是在此测试中被视为验证必不可少的对象列表:

参考:difference between ETL/Data warehouse testing & Database Testing.

ETL测试挑战

数据对于企业做出关键业务决策非常重要。 ETL测试在验证和确保业务信息的准确性,一致性和可靠性方面发挥着重要作用。此外,它最大限度地减少了生产中数据丢失的危险。

希望这些提示有助于确保您的ETL过程准确无误,并且由此构建的数据仓库对您的业务而言具有竞争优势。

上一篇 下一篇

猜你喜欢

热点阅读