数据仓库存储大量数据,这些数据通常是从多个异构源(如文件、DBMS 等)收集的,以生成有助于决策的统计结果。
测试对于数据仓库系统进行数据验证并使其正确有效地工作非常重要。
对数据仓库进行了三个基本级别的测试,如下所示:
- 单元测试 –
这种类型的测试是在开发人员端执行的。在单元测试中,模块的每个单元/组件都单独测试。整个数据仓库的每个模块,即程序、SQL 脚本、过程、Unix shell 都经过验证和测试。 - 集成测试 –
在这种类型的测试中,应用程序的各个独立单元/模块被放在一起或组合在一起,然后针对输入的数量进行测试。用于检测集成模块中的故障,并测试集成后各个组件是否运行良好。 - 系统测试 –
系统测试是验证和测试整个数据仓库应用程序的测试形式。此类测试由技术测试团队执行。此测试是在开发人员团队执行单元测试后进行的,此测试的主要目的是检查整个系统是否完全正常工作。
数据仓库测试的挑战是:
- 来自多个来源的数据选择和随后的分析构成了巨大的挑战。
- 数据量大且复杂,某些测试策略非常耗时。
- ETL 测试需要 Hive SQL 技能,因此对 SQL 技能有限的测试人员提出了挑战。
- 数据仓库中的冗余数据。
- 不一致和不准确的报告。
ETL测试分五个阶段进行:
- 确定数据源和要求。
- 数据采集。
- 实现业务逻辑和维度建模。
- 构建和填充数据。
- 建立报告。