【数据开发】BI数据报表之数据可测试性设计与分析

文章目录

      • 1、什么是BI&数据报表
      • 2、什么是可测试性
      • 3、数据测试与方法
        • 3.1 数据准确性与对比(重要)
        • 3.2 数据安全性

1、什么是BI&数据报表

数据报表是一种数据可视化工具

  • 用于将数据以图表、表格和其他可视化形式呈现出来,以便用户可以快速了解和理解数据。
  • 数据报表可以用于各种场景,例如业务分析、销售分析、市场分析、财务分析等。数据报表可以帮助用户更好地理解数据,发现数据中的趋势和模式,并做出更好的决策。

数据报表通常具有以下特点

  1. 数据可视化:数据报表将数据以图表、表格等可视化形式呈现,使用户可以更直观地了解数据。

  2. 数据交互性:数据报表通常具有交互性,用户可以通过交互式控件(如下拉菜单、滑块等)筛选和过滤数据。

  3. 实时更新:数据报表通常可以实时更新数据,使用户可以随时了解最新的数据情况。

  4. 自定义性:数据报表通常具有自定义性,用户可以根据自己的需求自定义报表的样式和格式。

  5. 多种输出格式:数据报表通常可以以多种格式输出,例如PDF、Excel、HTML等。

BI(商业智能)和数据报表
都是数据分析的工具,但它们有以下区别:

  1. 目的不同:BI旨在提供更深入和全面的数据分析,以支持更好的决策制定。数据报表则更侧重于呈现数据,以便用户可以快速了解和理解数据。

  2. 数据来源:BI可以从多个来源获取数据,包括数据库、数据仓库、云存储等。数据报表通常只从一个数据源获取数据。

  3. 数据分析功能:BI通常具有更强大的数据分析功能,例如数据挖掘、预测分析和机器学习。数据报表则通常只提供基本的数据分析功能,例如筛选、排序和聚合。

  4. 用户群体:BI通常面向高级用户,例如数据科学家、高级分析师和高级管理人员。数据报表则通常面向更广泛的用户,包括业务用户和中级管理人员。

  5. 数据可视化:BI通常提供更多的数据可视化选项,例如仪表板、图表和地图。数据报表则通常只提供基本的图表和表格。

总的来说,BI和数据报表都是有用的数据分析工具,但它们的应用场景和目的略有不同。

参考资料:1-BI与报表,2-TEG小马BI

2、什么是可测试性

什么是可测试性?

  • 可测试性是指软件系统或应用程序的设计和实现程度,使得测试人员能够有效地进行测试,以验证其功能、性能和可靠性等方面是否符合预期要求。
  • 通过提高软件系统的可测试性,可以提高测试的效率和质量,减少测试成本和时间,提高软件系统的稳定性和可靠性。
  • 目标:摆脱小作坊的模式,采用系统化的软件工程方法进行管理。
    在这里插入图片描述在这里插入图片描述

可测试性包括以下几个方面:

  1. 可观察性:软件系统的内部状态和行为可以被测试人员观察和监测。

  2. 可控性:测试人员能够对软件系统的行为进行控制和调整,以便进行测试。

  3. 可重现性:测试人员能够重复执行相同的测试用例,并获得相同的测试结果。

  4. 可自动化性:测试人员能够使用自动化测试工具来执行测试,并获得高效的测试结果。

数据可测试性

  • 是指在软件测试中,数据是否易于获取、准确、可重复使用和可维护。数据可测试性是软件测试的一个重要方面,因为测试人员需要大量的测试数据来验证软件系统的正确性和稳定性。
  • 通过提高数据的可测试性,可以提高测试的效率和质量,减少测试成本和时间,提高软件系统的稳定性和可靠性。测试人员可以使用测试数据生成工具、测试数据管理工具和自动化测试工具等来提高数据的可测试性。
  1. 数据的可用性:测试人员需要能够访问和获取测试数据,包括输入数据和输出数据。

  2. 数据的准确性:测试数据必须准确反映实际情况,以保证测试的有效性。

  3. 数据的可重复性:测试数据必须能够重复使用,以便测试人员能够多次执行相同的测试用例。

  4. 数据的可维护性:测试数据必须易于维护和更新,以便测试人员能够及时更新测试数据。

参考资料:1

3、数据测试与方法

常见的数据测试方法:

  1. 数据验证:数据验证是确保数据符合预期标准的过程。它可以通过数据类型、格式、范围、精度、完整性、唯一性等方面进行验证。

  2. 数据比较:数据比较是将两个或多个数据源进行比较,以确保它们之间的一致性和准确性。比较可以通过手动或自动化的方式进行。

  3. 数据抽样:数据抽样是从大型数据集中随机选择一小部分数据进行测试的过程。这可以帮助测试人员快速评估数据的质量,并确定需要进行更深入测试的区域。

  4. 数据完整性测试:数据完整性测试是确保数据集中的所有必需字段都已填写的过程。这可以通过手动或自动化的方式进行。

  5. 数据可靠性测试:数据可靠性测试是确保数据集中的数据在不同的条件下都能够正确地工作的过程。这可以通过模拟不同的情况进行测试。

  6. 数据性能测试:数据性能测试是评估数据处理速度和响应时间的过程。这可以通过模拟大量数据和用户进行测试。

  7. 数据安全性测试:数据安全性测试是确保数据在传输、存储和处理过程中受到保护的过程。这可以通过模拟不同的攻击方式进行测试。

3.1 数据准确性与对比(重要)

1、自身检查

  • 数据自身检查,是指在不和其他数据比较的前提下,用自身数据来检查准确的情况,属于最基本的一种检查。
  • 常见的自身检查包括:检查数值类指标大于0、比值类指标介于0-1范围。这类基础规则,同数据完整性,也可以结合“数据形态工具”辅助测试
  • 举个例子,比如针对订单表,支付金额必然是大于等于0,不会出现负数的情况,编写sql:select count(pay_price) from dw.dws_xx_order where par = 20211025 and pay_price<0, 若结果为0,说明支付金额都是大于0,满足预期;否则若count结果大于0,说明数据存在问题

2、横向数据对比

  • 表内横向对比:
    可以理解为同一张表内,业务上相关联的两个或多个字段,他们存在一定的逻辑性关系,那么就可以用来做数据对比
    比如针对订单表,根据实际业务分析易得:针对任何一家店铺的任意一款商品,都满足订单数 >=下单人数。
  • 表间横向对比:
    可以理解为两张表或多张表之间,其中具有业务关联或者业务含义一致的字段,可以用来做数据对比。
    针对hive里的支付表A和支付表B,里面都有支付金额字段,那么同样维度下的 表A.支付金额 = 表B.支付金额
  • 多套存储之间对比:
    多套数据源,数据计算方式之间的对比(对账系统)
    OLAP与OLTP进行数据对比。
    比如数据报表中心针对支付表,应用层存储分别用到了mysql和kylin,用作主备切换,那么相同维度下的kylin-表A.支付金额 = mysql-表B.支付金额

3、纵向数据对比

  • 纵向对比就是上下游的数据比较,目的是确保重要字段在上下游的加工过程中没有出现问题
  • 比如数仓dw层存在订单的明细表,数据产品dm层存在订单数的聚合表,那么二者在相同维度下的数据统计结果,应该保持一致

4、code review

  • 首先,在进行code review之前的需求评审阶段,我们先要明确数据统计的详细口径是什么。
  • code review的一些常见关注点
    1)关联关系 & 过滤条件:
    关联表使用 outer join 还是 join,要看数据是否需要做过滤,关联关系 on 字句中,左右值类型是否一致。
    关联关系如果是1:1,那么两张表的关联键是否唯一。如果不唯一,那么关联会产生笛卡尔导致数据膨胀
    2)指标的统计口径处理:是否可累加,sum和count(distinct )
    3)insert插入数据:是否支持重跑。等价于看插入时是否有overwrite关键字,如果没有该关键字,重跑数据(多次执行该工作流)时不会覆盖脏数据,而是增量往表插入数据,进而可能会导致最终数据统计翻倍。
3.2 数据安全性

数据安全策略:

  • 遇到有主备切换策略时,测试过程中注意数据正常双写,且通过配置,取数时能在主备数据源之间切换
  • 关注数据查询的权限管控,重点测试横向越权、纵向越权的场景
  • 访问控制:访问控制是对数据访问进行限制,以确保只有授权的用户才能访问数据。访问控制可以采用身份验证、授权、审计等方式进行。
  • 数据备份和恢复:数据备份和恢复是为了防止数据丢失或损坏而采取的措施。备份可以采用本地备份和云备份等方式进行。
  • 数据脱敏:数据脱敏是将敏感数据转换为不敏感的数据,以保护数据的机密性。脱敏可以采用替换、屏蔽、加密等方式进行。
  • 安全审计:安全审计是对数据访问和操作进行跟踪和记录,以便于追踪和分析数据安全事件。审计可以采用日志记录、监控、报告等方式进行。

参考资料:1-有赞数据风控测试团队

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

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

相关文章

BRC20通证的深度科普:它的潜力与如何导入到bitget

​BRC-20通证是什么&#xff1f; BRC-20通证&#xff1a;比特币上的“变形金刚”&#xff1f;&#xff01;不依赖智能合约&#xff0c;它们就像拥有超能力的外星人&#xff0c;直接在比特币的最小单位——聪上刻写JSON代码。哈哈&#xff0c;这比把房子建在乐高积木上还要刺激…

逆水行舟 不进则退

目录 一、前言 二、2023年度总结 三、2024展望未来 一、前言 这是我从工作以来到现在最喜欢的一句话&#xff0c;我想把这句话送给自己也想送给大家。 2019年7月实习到现在已经过去了四年多&#xff0c;进入2024年也迎来了我工作生涯的第五个年头。 在这个行业里&#xff…

Docker五部曲之四:Docker Compose

文章目录 前言Compose应用程序模型Compose规范顶层属性servicenetworkvolumesconfigssecrets 环境变量.env文件environment属性主机shell中的环境变量 Profiles&#xff08;剖面&#xff09;启动剖面自动启动剖面和依赖项解析 多compose.yml文件共享与扩展构建规范构建属性 部署…

网站后台拿Webshell

通过注入或者其他途径&#xff0c;获取网站管理员账号和密码后&#xff0c;找到后台登录地址&#xff0c;登录后&#xff0c;寻找后台漏洞上传网页后门&#xff0c;获取网站的webshell webshell的作用是方便攻击者&#xff0c;webshel是拥有fso权限&#xff0c;根据fso权限的不…

论文阅读:Bayesian GAN

Bayesian GAN 点击访问paper 官方github 半监督学习对比算法 1.简介 贝叶斯 GAN&#xff08;Saatchi 和 Wilson&#xff0c;2017&#xff09;是生成对抗网络&#xff08;Goodfellow&#xff0c;2014&#xff09;的贝叶斯公式&#xff0c;我们在其中学习生成器参数 θ g \th…

mybatisplus(service CRUD 接口)

一、我们在控制器层都是调用Service层&#xff0c;不会直接调用仓储层。现在我给大家介绍一下怎么快速实现Service 的CRUD 定义接口&#xff1a;IProductService 继承IService<实体> package com.saas.plusdemo;import com.baomidou.mybatisplus.extension.service.ISe…

Bootsrap-导航、栅格、及使用案例

文章目录 一、下载并导入Bootstrap中文文档二、Bootstrap初体验三、Boostrap导航栏四、Boostrap栅格五、博客案例六、用户登录界面七、后台管理界面八、引入图标九、Bootstrap动态效果 一、下载并导入Bootstrap中文文档 二、Bootstrap初体验 实现提交按钮&#xff0c;去中文文…

SpringBoot 入门 SpringBoot 与其他项目整合 集成 Druid 数据库连接池 集成 Log 日志 配置修改

目录 1.SpringBoot简介 1.1.什么是SpringBoot 1.2.特点 2.SpringBoot快速入门 2.1.创建SpringBoot项目 2.2.项目目录介绍 2.3.配置修改 2.4.启动SpringBoot 3.SpringBoot与其他项目整合 3.1.整合JDBC 3.2.整合Druid数据库连接池 3.3.整合MyBatis 3.4.整合Log日志 …

科研绘图(四)火山图

火山图是生物信息学中常用的一种图表&#xff0c;用来显示基因表达数据的变化。它通常将每个点表示为一个基因&#xff0c;x轴显示对数比率&#xff08;log ratio&#xff09;&#xff0c;表示基因表达的变化大小&#xff1b;y轴显示-log10(p-value)&#xff0c;表示变化的统计…

跨镜动线分析丨用AI解读顾客行为,助力零售企业运营与增长

步入数字时代&#xff0c;先进技术让传统零售焕发新生。智慧零售以用户为中心&#xff0c;“人”的数据化价值将反哺生产、渠道、销售、运营全场景。 悠络客正式推出“跨镜动线分析”&#xff0c;运用AI技术&#xff0c;深度分析顾客的进店、逛店等一系列行为&#xff0c;助力零…

host没有管理员权限

1 以管理员身份运行 Windows PowerShell 2 输入 notepad C:\Windows\System32\drivers\etc\hosts 3在自动弹出的host文件里添加信息&#xff0c;然后保存即可

Fluids —— Viscosity: honey

目录 Fixed viscosity: honey Point variable viscosity: honey Fixed viscosity: honey SOP FLIP提供的粘性解释器&#xff0c;可对恒定或变化的粘性&#xff1b;以下是恒定粘性的蜂蜜模拟&#xff0c;蜂蜜的特性与粘度和表面张力等参数相关&#xff0c;可观察到典型的缠绕和…

机器学习周报第28周

目录 摘要Abstract一、文献阅读1.题目&#xff1a;2.摘要3.问题描述4.过去方案5.论文方案6.论文模型7.相关代码 摘要 本周阅读了一篇混沌时间序列预测的论文&#xff0c;论文模型主要使用的是时间卷积网络&#xff08;Temporal Convolutional Network&#xff0c;TCN&#xff…

2624. 蜗牛排序

说在前面 &#x1f388;不知道大家对于算法的学习是一个怎样的心态呢&#xff1f;为了面试还是因为兴趣&#xff1f;不管是出于什么原因&#xff0c;算法学习需要持续保持。 题目描述 请你编写一段代码为所有数组实现 snail(rowsCount&#xff0c;colsCount) 方法&#xff0c;…

5.Pytorch模型单机多GPU训练原理与实现

文章目录 Pytorch的单机多GPU训练1)多GPU训练介绍2)pytorch中使用单机多GPU训练DistributedDataParallel(DDP)相关变量及含义a)初始化b)数据准备c)模型准备d)清理e)运行 3)使用DistributedDataParallel训练模型的一个简单实例 欢迎访问个人网络日志&#x1f339;&#x1f339;知…

数学建模day15-时间序列分析

时间序列也称动态序列&#xff0c;是指将某种现象的指标数值按照时间顺序排列而成的数值序列。时间序列分析大致可分成三大部分&#xff0c;分别是描述过去、分析规律和预测未来&#xff0c;本讲将主要介绍时间序列分析中常用的三种模型&#xff1a;季节分解、指数平滑方法和AR…

WEB服务器-Tomcat

3. WEB服务器-Tomcat 3.1 简介 3.1.1 服务器概述 服务器硬件 指的也是计算机&#xff0c;只不过服务器要比我们日常使用的计算机大很多。 服务器&#xff0c;也称伺服器。是提供计算服务的设备。由于服务器需要响应服务请求&#xff0c;并进行处理&#xff0c;因此一般来说…

【AI】人工智能和水下机器视觉

目录 一、初识水下机器视觉 ——不同点 ——难点 二、AI如何助力水下机器视觉 三、应用场景 四、关键技术 水下机器视觉&#xff0c;非常复杂&#xff0c;今天来简单讨论一下。因为目标识别更难。 水下机器视觉是机器视觉技术在水下环境中的应用&#xff0c;它与普通机器…

基于Springboot的网上点餐系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的网上点餐系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&am…