当前位置: 首页 > news >正文

大数据如何进行测试

如何进行大数据测试

  • 什么是大数据测试
    • 一、数据测试
      • 1.1、功能测试
        • 1.1.1数据的完整性
        • 1.1.2数据的一致性
        • 1.1.3数据的准确性
    • 二、大数据系统测试和大数据应用产品测试
      • 2.1、计算逻辑验证
      • 2.2、数据有效性和数据易用性验证
      • 2.3、UI验证和交互验证

什么是大数据测试

大数据测试通常是指对采用大数据技术的系统或者应用的测试。大数据测试可以分成两个维度,一个维度是数据测试,另一个维度是大数据系统测试和大数据应用产品测试。

大数据测试和传统数据测试的不同

对比项大数据测试传统数据测试
数据量级需要处理的数据量级较高设计的数据量级较低
数据结构处理的数据包括结构化数据、非结构化数据、和半结构化数据以结构化数据为主
验证工作验证环节多,数据量大,较复杂抽取数据来验证,相对简单
环境要求依赖HDFS、YARN和Zookeeper等集群环境依赖传统数据库
测试工具依赖Hadoop生态系统组建和ETL 测试工具依赖传统数据库和部分测试工具
测试人员技能门槛高,需要测试人员掌握大数据相关技能技术门槛相对较低

与其他类型的测试一样,大数据测试也需要遵循既定的策略和方法。

一、数据测试

测试类型划分:功能测试、性能测试、和其他非功能性测试

1.1、功能测试

功能测试常用的测试方法有数据完整性、数据一致性、和数据准确性测试。

1.1.1数据的完整性

数据完整性是指数据记录和信息完整,不存在缺失情况。数据缺失主要包括记录缺失和记录中某个字段信息缺失,两者都会导致统计结果不准确。需要关注两点,数据不多,和 数据不少。
数据不多
一般检查全表数据,重要枚举值数据是否重复,以及主键是否唯一
数据不少
一般检查全表数据或业务相关的重要字段(如日期、品牌、类目和枚举值等)是否缺失。
如果我们知悉数据量,如表中的品牌字段有X条数据,则检查品牌字段的是否有X条数据即可。
如果数据规模本身变动很大,可以通过对比历史数据条数来评估数据波动是否正常。

1.1.2数据的一致性

数据一致性主要包括数据记录规范一致、数据逻辑一致和多节点数据一致。
数据记录规范一致:数据编码和数据格式,如订单ID,从业务来源表到数据仓库每一层中的表都应该是同一种数据类型,且长度需要保持一致。

数据逻辑一致:多数据间的逻辑处理一致。
可以通过数据的diff测试来验证数据的一致性。

1.1.3数据的准确性

数据准确性测试主要包括数值检查时间维度对比空间维度对比
数值检查通常需要验证数据值是否在常规范围内,比如人数比例,理论上位于[0,1],是否在业务范围内,这依赖于对数据业务规则的理解。
时间维度对比,即对比同一组数据在不同时间的波动情况。
空间维度对比,即固定时间维度,将当前数据与其他数据进行对比,进一步保证准确性。
上下游数据对比。检查重要字段数据在上下游的加工过程中是否丢失。
与系统内的其他数据对比。
与系统外的其他数据对比。

二、大数据系统测试和大数据应用产品测试

BI报表如何测试,测试点如下:

2.1、计算逻辑验证

1、罗列式:这个是非常简单的报表,就是将源数据根据规则进行罗列,不涉及任何计算。罗列式报表的测试重点是检查罗列项是否与需求一致(不缺项,不多项),罗列项的顺序是否正确,以及是否通过罗列方式正确获得预期数据。
2、统计式:单个源数据经过简单的加减乘除、求和、求平均值等计算方法得到的报表。使用抽查验证方法。还考虑到数据的多样性和偶然性等问题,需要进行多种情况组合抽样验证。
3、算法式:是由一个或者多个数据源,根据一定的公式计算汇总得到的报表。此类报表涉及多数据源、多表、和多业务流程,是报表测试的难点。
在测试的时候,需要重点关注数据来源,业务含义,和计算逻辑等。可以采用抽样统计法、直观观察法、和对照法。
对照法:是验证相同数据在不同报表中等效维度是否一致。

2.2、数据有效性和数据易用性验证

数据有效性:由于源数据会受到数据采集、转换和处理等因素影响,因此可能存在异常数据,这将导致报表出现无效的统计结果。
数据的易用性:是指报表数据能否被用户直观理解。例如数据精度统一,时间格式统一,数据换算单位准确。四舍五入保留统一2位等。

2.3、UI验证和交互验证

1、UI验证
对界面功能、交互设计的验证。验证报表页面布局样式、表格格式、字体格式、颜色搭配、报表标题和文案。
2、交互验证
主要包括:翻页、过滤器、提示、参数、上钻/下钻、多表联动、排序和导出等功能的验证。
3、更新验证
在源数据出现更新后,验证报表数据是否更新正确
4、及时验证
主要是针对实时报表生成的及时性验证,验证在及时性方面是否满足业务需求
5、安全测试
检查报表系统的用户权限,数据安全设置是和合理
6、性能测试
数据响应时间、报表生成耗时等性能指标进行测试,验证是否符合预期。

相关文章:

  • python基础专栏13-python基础篇-控制结构
  • 3.4 创建共用模块-供其它模块使用
  • 通用Excel表格导出(Map类型数据导出为表格)
  • leetcode刷题 (9.1) 动态规划
  • 【C++】如何理解函数调用中的传值和传址
  • 糖尿病会隐身,这些信号一定要重视
  • 智能驾驶功能软件平台设计规范第五部分:定位功能服务接口
  • 框架阶段六:SpringCloud
  • 《effecttive C++》和一些其他C++开发的东西的学习总结(长期更新)
  • 登录测试用例
  • hadoop笔记——YARN部署
  • 目前全球生物识别市场规模迅速扩张,虹膜识别技术也发展迅猛
  • kafka原理解读
  • Java架构师技能点面试题汇总消息队列面试题
  • ora-00922-error-message文档
  • 2017 前端面试准备 - 收藏集 - 掘金
  • Cookie 在前端中的实践
  • docker-consul
  • golang 发送GET和POST示例
  • javascript面向对象之创建对象
  • js面向对象
  • Laravel 菜鸟晋级之路
  • Mysql数据库的条件查询语句
  • sessionStorage和localStorage
  • SpingCloudBus整合RabbitMQ
  • Terraform入门 - 1. 安装Terraform
  • Webpack 4x 之路 ( 四 )
  • XForms - 更强大的Form
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 记录:CentOS7.2配置LNMP环境记录
  • 前端攻城师
  • 算法系列——算法入门之递归分而治之思想的实现
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • C# - 为值类型重定义相等性
  • Linux权限管理(week1_day5)--技术流ken
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #stm32驱动外设模块总结w5500模块
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (六)激光线扫描-三维重建
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (四)鸿鹄云架构一服务注册中心
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)h264中avc和flv数据的解析
  • (转)大道至简,职场上做人做事做管理
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • .NET Core 版本不支持的问题
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .Net CoreRabbitMQ消息存储可靠机制
  • .NET业务框架的构建
  • :如何用SQL脚本保存存储过程返回的结果集
  • @hook扩展分析
  • @RequestMapping-占位符映射