最重要的BI测试-适用于任何BI和分析平台

为什么 BI 测试是答案

相信你的数据可视化是成功执行商业智能 (BI) 和分析项目的关键因素。我敢肯定,你遇到过以下情况:业务主管或业务用户反馈说他们的分析看起来不对,他们的 KPI 看起来有问题,或者速度太慢而无法使用。要问自己的问题是:如何避免这种情况?如何确保用户满意?如何确保 100% 信任仪表板?如何确保高质量的分析?如何做出值得信赖的决定?

如今,公司正在寻求将已建立的 DevOps 和软件开发实践中的最佳实践引入分析领域。这就很容易地理解为什么 BI 测试是一个明智的选择。对于用户(内部)和消费者(外部)而言,在问题到达生产环境之前发现问题效率要高得多,而不必事后处理后果。了解内部或外部的错误比较被动,因此在用户之前发现错误同样很重要,日常监控测试应该在发布到线上后进行。任何使用 Tableau、Power BI、SAP BusinessObjects 或任何其他分析解决方案等分析平台的公司都应定期进行 BI 测试,以便在用户看到问题之前发现问题,从而确保信任并避免任何风险。本文将解释公司应该进行的不同 BI 测试。

应该进行的不同 BI 测试

我们创建了一份可以执行的不同类型测试的非详尽列表:

功能测试

你在打开仪表板时遇到过问题吗?是否曾经单击过可视化中的筛选器或参数,但它们没有按照预期执行?诸如此类的示例可能是用户日常的烦恼,但通过测试每个仪表板功能,可以确保提供最佳的用户体验。如果持续存在问题,随着时间的推移,用户将失去使用它们的耐心和动力,从而降低用户采用率。对仪表板的每个元素进行功能测试将有助于解决这些问题。

回归测试

回归是分析中的最高风险,因为它们很难或不可能被人眼发现,并且可能对决策制定造成灾难性的影响。回归的例子是:

●数据

●图像

●元数据(例如过滤器或参数)

●服务器和仪表板性能

为了克服这些回归,存在回归测试以跨时间比较两个版本的仪表板/报告并自动突出显示任何差异。有测试经验的人都知道,必须定期执行此类 BI 测试,以检测可能与 BI 软件本身或与数据源及其通向数据消费者的路径相关的任何不需要的更改。建议将这些测试应用于敏感报告和仪表板,以检测与修改相关的任何副作用,并限制所涉及的风险。

性能测试与压力测试

这两种类型的 BI 测试通常可以被视为相同但有区别!性能测试是对许多报告或仪表板的测试,以评估它们的性能,即单个功能任务需要多长时间。压力测试允许将负载驱动到服务器并评估响应时间和可用性。能够评估分析平台可以处理的最大用户数量、运行它所需的基础设施,甚至是用户负载高峰时的可持续性。它实质上是根据“标准条件”测试你的平台,以验证它是否持续按应有的方式运行。

图片

跨环境测试

通过跨环境测试,可以将给定环境中的一个或多个仪表板与另一个环境中的相同仪表板(即开发或生产的不同站点或服务器等)进行比较——简单地说,就是跨不同环境的回归测试。

公差测试或范围测试

这种类型的 BI 测试可确保业务用户在 KPI、指标或特定数据超出其设定阈值或误差范围时在任何仪表板中出现错误时得到通知。容差测试保证显示的数据始终在可接受的范围内,并且可以非常快速地检测到任何问题。

升级和迁移测试

每当执行 BI 平台的迁移或升级时,测试对于验证一切是否仍在正常运行就变得至关重要。我的访问级别是否与以前相同?我的报告和/或仪表板是否显示了正确的数据?我可以信任在新环境中呈现的数据吗?迁移或升级后的测试将为你提供所有这些问题的明确答案。请记住,在迁移期间直接或间接连接到 BIA 平台的任何外部系统(例如数据源、数据准备工具和数据库)也可能需要回归测试。

安全测试

所有的BI工具都有安全认证和授权的要求,同时具有单点登录和嵌入式能力,测试所有的软件安全方面是非常重要的。例如,它会根据用户的访问级别检查用户是否有权访问报告和仪表板,以及是否存在相同的行级安全性。对于使用单点登录的用户,它还确保最终用户能够使用此功能访问他们的不同 BI 系统。

SQL数据测试

数据测试验证 Analytics 输出是否等于 SQL 查询返回的数据。该测试非常受欢迎,因为它可以轻松确定发现的回归是否是由数据旅程中的分析层引起的。用户验收测试 (UAT) 或“冒烟测试”用户验收测试在应用于 Analytics 时也称为冒烟测试,它是初步测试,用于检查可能拒绝潜在发布的任何简单故障。测试用例在测试环境中运行,以验证软件的主要功能是否正常工作并确认基本问题,例如:“我的仪表板是否满足初始业务需求?”、“我可以打开可视化吗?”报告满足绩效要求”。

用户验收测试 (UAT) 或“冒烟测试”

用户验收测试在应用于 Analytics 时也称为冒烟测试,它是初步测试,用于检查可能拒绝潜在发布的任何简单故障。测试用例在测试环境中运行,以验证软件的主要功能是否正常工作并确认基本问题,例如:“我的仪表板是否满足初始业务需求?”、“我可以打开可视化吗?”报告满足绩效要求”。

手动 BI 测试的真实成本

这些类型的商业智能测试都可以自动化,这对公司来说是天赐之物,因为手动测试会带来成本,老实说,反正没有人喜欢花时间测试,不是吗?

以下是手动测试的一些缺点:

●员工正在执行单调和重复的任务,这些任务占用了宝贵的时间用于更具创新性的工作。

●手动测试具有很高的人为错误风险,并且会给执行测试的团队带来压力

●无法完整记录流程并获得已执行测试的证据。

●手动测试会降低员工的积极性,因为他们没有时间发挥创造力和提高技能。

●当涉及到数据回归时,手动测试效率低下,因为它们中的大多数是不可感知的,从而增加了风险。

●随着时间的推移,手动测试不可扩展或不可重复,并且不能应用于数以千计的 BI 仪表板和报告。

●手动测试需要业务理解和技术能力,这很难找到。

●由于手动测试的所有这些缺点,用户只会测试对象的一个子集。

在 Wiiisdom,我们的客户通过这些不同类型的测试成功地节省了每月的工作时间,从而提高了仪表板和报告的质量,并有更多时间从事其他项目。自动化 BI 测试允许将测试集成为更广泛的 CI(持续集成)/CD(持续交付)流程的一部分,其中仪表板在其生命周期的每个步骤(从开发到维护)中定期进行测试。

你进行了多少 BI 测试?

你是否正在执行所有这些类型的 BI 测试? 你相信你所做的商业决策吗? 自动化 BI 测试对于公司始终拥有值得信赖的质量分析并能够做出最佳业务决策至关重要。 它还降低了与手动测试相关的风险,而手动测试可能会降低 BI 项目的成功率。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/167374.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL 通配符:用于模糊搜索和匹配的 SQL 关键技巧

SQL通配符字符 通配符字符用于替代字符串中的一个或多个字符。通配符字符与LIKE运算符一起使用。LIKE运算符用于在WHERE子句中搜索列中的指定模式。 示例 返回所有以字母 ‘a’ 开头的客户: SELECT * FROM Customers WHERE CustomerName LIKE a%;通配符字符 符…

5:kotlin 类(Classes )

kotlin支持面向对象编程,也有雷和对象的概念 要声明一个类需要使用class关键字 class Customer属性(Properties) 可以在类名后边添加(),在()里边声明属性 class Contact(val id: Int, var email: String)声明了不…

单片机、ARM、嵌入式开发、Android 底层开发有什么关系?

单片机、ARM、嵌入式开发、Android 底层开发有什么关系? 从我目前的见识来看: 单片机是个系统(比如:51、AVR、PLC...),其中包含了去除了输入输出之外的运算器、控制器、存储器,我们用程序可以非…

从Redis反序列化UserDetails对象异常后发现FastJson序列化的一些问题

最近在使用SpringSecurityJWT实现认证授权的时候,出现Redis在反序列化userDetails的异常。通过实践发现,使用不同的序列化方法和不同的fastJson版本,异常信息各不相同。所以特地记录了下来。 一、项目代码 先来看看我项目中redis相关配置信息…

黑马点评笔记 redis缓存三大问题解决

文章目录 缓存问题缓存穿透问题的解决思路编码解决商品查询的缓存穿透问题 缓存雪崩问题及解决思路缓存击穿问题及解决思路问题分析使用锁来解决代码实现 逻辑过期方案代码实现 缓存问题 我们熟知的是用到缓存就会遇到缓存三大问题: 缓存穿透缓存击穿缓存雪崩 接…

QOverload获取重载的信号

QOverload获取重载的信号 多个信号或者函数同名&#xff0c;但是不同参数&#xff0c;也就是存在重载 可以使用QOverload获取指定的重载函数 QOverload<int>::of(&QComboBox::currentIndexChanged)上面的代码就是用来获取参数为int的那个函数

【Spring篇】JDK动态代理

目录 什么是代理&#xff1f; 代理模式 动态代理 Java中常用的代理模式 问题来了&#xff0c;如何动态生成代理类&#xff1f; 动态代理底层实现 什么是代理&#xff1f; 顾名思义&#xff0c;代替某个对象去处理一些问题&#xff0c;谓之代理&#xff0c;那么何为动态&a…

短视频账号矩阵系统saas化批量管理部署搭建/技术

一、短视频矩阵系统建模----技术api接口--获取用户授权 技术文档分享&#xff1a; 本系统采用MySQL数据库进行存储&#xff0c;数据库设计如下&#xff1a; 1.用户表&#xff08;user&#xff09;&#xff1a; - 用户ID&#xff08;user_id&#xff09; - 用户名&#xff08;…

SELinux零知识学习二十七、SELinux策略语言之类型强制(12)

接前一篇文章:SELinux零知识学习二十六、SELinux策略语言之类型强制(11) 二、SELinux策略语言之类型强制 4. 类型规则 类型规则在创建客体或在运行过程中重新标记时指定其默认类型。在策略语言中定义了两个类型规则: type_transtition在域转换过程中标记行为发生时以及创…

详解Vue中的computed和watch

详解Vue中的computed和watch 前言原理computedcomputed特点computed有几种创建方式应用 WatchWatch有几种创建方式Watch主要内容Watch特性应用场景 computed和Watch区别 前言 在Vue当中&#xff0c;watch和computed都可以实现监听的效果&#xff0c;本文主要是围绕watch和comp…

【理解ARM架构】操作寄存器实现UART | 段的概念 | IDE背后的命令

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《理解ARM架构》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 目录 &#x1f360;操作寄存器实现UART&#x1f35f;UART原理&#x1f35f;编程 &#x1f360;…

python——第十二天

内置模块或者其他模块学习方式&#xff1a; dir help os模块负责程序与操作系统的交互&#xff0c;提供了访问操作系统底层的接口&#xff1b;即os模块提供了非常丰富的方法用来处理文件和目录。 os&#xff1a; os.path 遍历C盘代码 import os from os import path def …

修改YOLOv5的模型结构第三弹

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制&#x1f680; 文章来源&#xff1a;K同学的学习圈子 文章目录 任务任务拆解 开始修改C2模块修改yolo.py修改模型配置文件 模型训练 上次已…

【工具使用】Keil工具的使用——常用配置介绍

Keil调试具体教程学习 目录 ​​​​​​​Keil调试具体教程学习 常用功能总结 &#xff08;2&#xff09;目标设置&#xff08;Target&#xff09; ①设置晶振频率 ②跨模块优化选项 ③微库选项 &#xff08;3&#xff09;输出设置&#xff08;Output&#xff09; ①…

插入排序(形象类比)

最近在看riscv手册的时候&#xff0c;里面有一段代码是插入排序&#xff0c;但是单看代码的时候有点迷&#xff0c;没看懂咋操作的&#xff0c;后来又查资料复习了一下&#xff0c;最终才把代码看明白&#xff0c;所以写篇博客记录一下。 插入排序像打扑克牌 这是我听到过比较形…

list的总结

目录 1.什么是list 1.1list 的优势和劣势 优势&#xff1a; 劣势&#xff1a; 2.构造函数 2.1 default (1) 2.2 fill (2) 2.3 range (3) 2.4 copy (4) 3.list iterator的使用 3.1. begin() 3.2. end() 3.3迭代器遍历 4. list容量函数 4.1. empty() 4.2. siz…

语音合成综述Speech Synthesis

一、语音合成概述 语音信号的产生分为两个阶段&#xff0c;信息编码和生理控制。首先在大脑中出现某种想要表达的想法&#xff0c;然后由大脑将其编码为具体的语言文字序列&#xff0c;及语音中可能存在的强调、重读等韵律信息。经过语言的组织&#xff0c;大脑通过控制发音器…

正整数分解

题目编号&#xff1a;Exp08-Basic01&#xff0c;GJBook3-12-05 题目名称&#xff1a;正整数分解 题目描述&#xff1a;正整数n&#xff0c;按第一项递减的顺序依次输出其和等于n的所有不增的正整数和式。 输入&#xff1a;一个正整数n&#xff08;0<n≤15&#xff09;。 …

qRT-PCR相对定量计算详解qPCR相对定量计算方式——2^-(∆∆Ct) deta t

做完转录组分析之后&#xff0c;一般都要求做qRT-PCR来验证二代测序得到的转录本表达是否可靠。荧光定量PCR是一种相对表达定量的方法&#xff0c;他的计算方法有很多&#xff0c;常用的相对定量数据分析方法有双标曲线法&#xff0c;ΔCt法&#xff0c;2^-ΔΔCt法(Livak法)&a…

顺序表基本操作全面解析

文章目录 1.线性表2.顺序表分类2.1 静态顺序表2.2 动态顺序表 3. 顺序表各接口实现1. 定义结构体(Seqlist)2. 结构体初始化(SLInit)3.检查容量 (SLCheckCapacity)4.打印数据 (SLPrintf)5.插入操作5.1 从数据头部插入(SLPushFront)5.2 从数据尾部插入(SLPushBack)5.3 从任意下标…