什么是大数据测试

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

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

对比项大数据测试传统数据测试
数据量级需要处理的数据量级较高设计的数据量级较低
数据结构处理的数据包括结构化数据、非结构化数据、和半结构化数据以结构化数据为主
验证工作验证环节多,数据量大,较复杂抽取数据来验证,相对简单
环境要求依赖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、性能测试
数据响应时间、报表生成耗时等性能指标进行测试,验证是否符合预期。

更多推荐