商业智能 (BI) 测试及示例测试用例
什么是商业智能测试?
获取、清洗、分析、整合和共享数据以获得可推动企业进步的实用见解的过程被称为商业智能 (BI)。商业智能测试,通常称为 BI 测试,评估暂存数据、ETL 过程和 BI 报表,并确保正确的部署。通过 BI 测试确保数据的可信度和从 BI 过程得出的见解的准确性。
本文将教您更多关于 ETL 和商业智能的知识。
商业智能测试的步骤
检查源数据
业务数据很少来自单个来源或单个格式。检查数据源及其发送的数据类型是否一致。同时,现在进行一些基本的验证。
假设来自某个来源的学生信息被发送用于处理和存储。在此步骤中,仔细检查详细信息是否正确。如果您的 GPA 是 7,那么您肯定超过了 5 分制。因此,此类数据可以在无需发送给第三方进行进一步处理的情况下被销毁或更新。
这通常是 ETL 的“提取”阶段。
确保数据转换正确
这是将原始数据转换为特定于业务的信息的地方。源和目标的数据类型应该相同。例如,您不能将日期保存为文本。
主键、外键、空值和默认值约束等都应该存在。应该检查源和目标的 ACID 属性,等等。
验证数据加载
(到数据仓库、数据市场或任何永久保存数据的其他地方)−
加载和测试数据的脚本无疑将包含在您的 ETL 测试中。但是,必须检查数据存储系统是否符合以下要求:
性能 − 随着系统变得越来越复杂,各个组件之间会产生关系,从而导致许多相关性。这对数据分析来说是个好消息;但是,这种复杂程度的搜索有时需要太长时间才能获得结果。因此,在这种情况下,性能测试至关重要。
可扩展性 − 数据只会越来越大,不会越来越小。因此,必须进行测试以确定当前系统能否处理不断增长的业务和数据量的大小。这也包括归档策略测试。基本上,您正在对决策进行测试 −“旧数据会怎样处理?如果我需要旧数据怎么办?”
最好还要测试系统的其他功能,例如计算能力、故障恢复、错误报告、异常处理等等。
BI 报表验证
最后,还有报表,这是整个过程的最终层。
这被称为商业智能。但是,正如您从上面的示例中看到的,如果您的前几层出现问题,报表将永远不会准确、一致或快速。
在此阶段,请查找以下内容:
创建的报表以及如何在业务中使用它们
修改和自定义报表中显示的参数的能力。排序、分类、分组以及其他类似的操作
报表的物理外观。换句话说,可读性。
如果 BI 元素是 BI 集成的,则应对应用程序的相关功能执行端到端测试。
示例测试用例
ETL 验证
检查数据是否已从源系统正确映射到目标系统。
验证所有表及其字段是否已从源系统复制到目标系统,以及是否已在目标系统中正确创建自动生成的键。
确保没有空字段。
验证数据是否未被乱码或截断,以及目标系统中的数据类型和格式是否正确。
确保目标系统没有任何重复数据。
检查转换是否已正确应用。
验证数字字段中数据的正确性和异常处理的稳健性。
暂存数据
实施筛选规则后,STG(暂存)表和目标表之间的记录数相同。
对于给定的键组合,插入尚未插入目标表的记录。
如果记录已加载,则不应将记录复制或发送到目标表。
当值列在第 2 天加载时,更新键的记录。
逻辑地删除目标表中的记录。
处理表加载的值
参考表加载的值
商业智能中的数据加载
检查目标数据库和源数据库是否已正确连接,并且不存在任何访问问题。
检查完全加载的截断选项,并确保其正常工作。
检查加载数据期间会话的性能。
查找非致命性错误。
检查如果子任务失败,是否可以使调用父任务失败。
检查日志是否已更新。
确保映射和工作流程参数正确。
检查源系统和目标系统中的表数是否相同。
将暂存表的属性与目标表的属性进行比较。它们应该成对。
商业智能报表
显示日期和时间。
对于重要数字,需要小数精度。
显示每页的行数和列数。
报表中没有自由属性。
在报表中,如何显示属性和关键指标的空值/数据?
如果适用,属性搜索是否基于键或键和文本。
文本搜索功能是否区分大小写(大写、小写或两者)?
BI 测试策略
现在我们知道了需要测试什么以及为 ETL 和数据仓库测试使用什么资源,让我们来看看测试人员必须采取的步骤。
毕竟,BI 测试项目是一个测试项目。这意味着标准的测试步骤也适用于此,无论您是评估性能还是功能性端到端测试:
测试计划
测试方法
测试设计(您的测试用例将是查询密集型的,而不是简单的文本。这是传统测试项目和 ETL/数据仓库/BI 测试项目之间**最主要**的区别。)
测试执行(同样,您将需要一些查询接口,例如 TOAD 来运行您的查询)
缺陷报告、关闭等。
结论
商业智能是所有业务运营的关键组成部分。电子商务、医疗保健、教育、娱乐以及其他所有行业都依赖 BI 来更深入地了解其业务并创造卓越的客户体验。
我们希望本文能为您提供足够的知识,让您能够继续研究商业智能测试领域。商业智能
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP