今天让我在休息之余给我的
测试
朋友介绍一个在我的测试沙龙上的需要和提升技能之一, 例如 ETL 测试(Extract,Transform,and Load, 中文名称为数据提取转换和加载), 这篇
文章
告诉你 ETL 测试以及我们如果进行 ETL 测试过程的一个完整测试思想
为什么企业需要数据仓库?
IT 企业的实践希望在技术转型上创建一个新的台阶他们不断尝试着让他们的产品伴随着互操作性数据而更加易于操作据了解, 数据已经成为企业最重要的一 部分, 可能包括每天的数据或者历史数据数据是任何报告的中坚力量, 而这些报告是一个企业作为管理决策的至关重要的基准
大多数公司下一步希望通过他们的数据仓库来储存和监控实时数据和历史数据而构建一个有效的数据仓库并不是意见容易的事情许多企业的不同部门运行分布式技术的不同程序上为了使来自不同部门的不同数据源之间的一个完美的结合 ETL 工具被部署 ETL 工具将
工作
作 为一个集成, 从不同的数据源抽取数据, 基于业务转换规则转换成最优形式, 并且加载它到被称之为数据仓库的内聚性 DB 中精心策划, 明确界定和有效的测试范围, 保证项目的顺利转换到生产中确保数据仓库的真实性和健壮性, 一旦 ETL 过程被独立的专家小组通过验证和确认, 一 个企业将获得真正的市场前景
ETL 测试或者数据仓库测试被划分为四个不同的过程, 这与所用到的技术或者 ETL 工具无关
新数据仓库测试 - 新数据仓库通过爬取来构建和确认数据输入来自于顾客需求和不同的数据源和新的数据仓库在 ETL 工具的帮助下进行构建和验证
迁移测试 - 这种类型的项目客户将有一个现有的数据仓库和 ETL 执行的工作, 但他们想寻找新的工具包以提高工作效率
变更请求 - 这种类型的项目新数据从不同来源增加到现有数据仓库此外, 可能存在一种情况: 客户的需要改变它们现有的业务规则, 或者可能整合新的规则
测试报告 - 测试报告是数据仓库的执行结果和数据仓库构建的初始目的报告必须经过测试验证, 数据也将被报告和计算
1)根据不同的业务需求和规则验证数据是否被正确地转化
2)确保所有预期的数据加载到数据仓库中没有任何数据丢失和截断
3)确保 ETL 应用程序适当的拒绝, 替换为默认值, 并报告无效数据
4)确保数据在规定和预计的时间框架内被加载到数据仓库中, 以确认改进的性能和可扩展性
除了这 4 个主要的 ETL 测试方法外其他测试方法, 如集成测试和用户验收测试也应该被实施来确保测试的稳定性和可靠性
ETL 测试过程:
在独立验证与确认下, 与任何其他测试一样, ETL 也经历同样的阶段
业务和需求分析
验证
测试评估
从测试评估和业务需求的基础上进行测试计划制定
从所有可用的输入条件来设计测试用例和测试场景
一旦所有的测试案例已经准备和评审, 测试团队执行预检查和准备测试数据进行测试
执行所有用例直到满足退出标准
书写总结报告和测试过程结束
数据库测试与数据仓库测试的不同:
数据库的测试和数据仓库是相似的这是一个普遍的误区, 而事实是它们有截然不同的测试方向
数据库测试使用规模较小的数据通常是 OLTP(联机事务处理)的数据库类型, 而数据仓库测试是大容量的数据, 涉及的是 OLAP(联机分析处理)数据库
数据库测试通常是从统一数据源中持续注入, 而数据仓库测试的数据来自不同类型的数据源且数据是不连续和无序的
我们在进行数据库测试时一般只执行 CRUD(Create, read, update and delete), 而在数据仓库的测试时我们只读 (select) 操作
标准化的数据库被用于 DB 测试中, 而历史 DB 则被使用在数据仓库测试中
许多普遍验证对进行任何形式的数据仓库测试都将要实施
下面列表中的对象被视为在 ETL 测试的必要验证点:
- 验证数据从源到目的地的转换是否如预期般运作
- 验证预期数据被添加到目标系统
- 确认所有的数据库字段, 字段数据加载没有任何截断
- 验证记录计数匹配的数据校验
- 验证被拒绝的数据的错误日志都有详细记录
- 验证 NULL 值字段
- 验证重复数据未加载
- 验证数据的完整性
ETL 测试的挑战:
ETL 测试不同于传统的测试, 在执行数据仓库测试时我们面临着许多挑战一下我列出来一些我经历的项目中的 ETL 测试的挑战:
- 不兼容性和重复数据
- 在 ETL 过程中的数据丢失
- 不可用包容性的试验床
- 测试人员自己没有权限去执行 ETL 工作
- 数据的数量和复杂性是非常巨大的
- 业务流程和程序的故障
- 获取和构建测试数据的困难
- 缺少业务流程的信息
数据作为企业的关键业务决策起着重要作用 ETL 测试在确认业务数据提取, 一致性, 可靠性中是发挥着重要的作用, 同时, 它在使我们产品数据丢失减小至最小希望这些技巧能够帮助你的企业 ETL 过程的确认, 以及数据仓库建立发挥一个重要的作用
来源: http://www.bubuko.com/infodetail-2539014.html