大数据如何进行测试

一、什么是大数据测试

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

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

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

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

二、数据测试

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

2.1、功能测试 

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

2.1.1数据的完整性

数据完整性是指数据记录和信息完整,不存在缺失情况。数据缺失主要包括记录缺失和记录中某个字段信息缺失,两者都会导致统计结果不准确。需要关注两点:数据不多和 数据不少。
数据不多:一般检查全表数据,重要枚举值数据是否重复,以及主键是否唯一

数据不少:
一般检查全表数据或业务相关的重要字段(如日期、品牌、类目和枚举值等)是否缺失。
如果我们知悉数据量,如表中的品牌字段有X条数据,则检查品牌字段的是否有X条数据即可。
如果数据规模本身变动很大,可以通过对比历史数据条数来评估数据波动是否正常。

2.1.2数据的一致性

  • 数据记录规范一致:数据编码和数据格式,如订单ID,从业务来源表到数据仓库每一层中的表都应该是同一种数据类型,且长度需要保持一致。
  • 数据逻辑一致:多数据间的逻辑处理一致,可以通过数据的diff测试来验证数据的一致性。

2.1.3数据的准确性

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

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

3.1、计算逻辑验证

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

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

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

3.3、UI验证和交互验证

  • UI验证:对界面功能、交互设计的验证。验证报表页面布局样式、表格格式、字体格式、颜色搭配、报表标题和文案。
  • 交互验证:主要包括:翻页、过滤器、提示、参数、上钻/下钻、多表联动、排序和导出等功能的验证。
  • 更新验证:在源数据出现更新后,验证报表数据是否更新正确
  • 及时验证:主要是针对实时报表生成的及时性验证,验证在及时性方面是否满足业务需求
  • 安全测试:检查报表系统的用户权限,数据安全设置是和合理
  • 性能测试:数据响应时间、报表生成耗时等性能指标进行测试,验证是否符合预期。
进行大数据性能测试需要考虑以下几个方面: 1. 测试环境:需要确保测试环境和生产环境一致,包括硬件配置、操作系统、软件版本等。测试环境应该具备足够的计算资源和存储资源,以满足测试数据的存储和计算需求。 2. 测试数据:需要使用真实的数据进行测试,以确保测试结果具有可信度。测试数据应该具有多样性和复杂性,包括不同类型的数据、不同大小的数据文件、不同的数据格式等。 3. 测试工具:需要选择适合大数据性能测试的工具,如Apache JMeter、Gatling、Locust等。这些工具可以模拟大量并发用户对系统的请求,以评估系统的性能和可靠性。 4. 测试场景:需要根据实际使用情况,设计不同的测试场景,例如读取数据、写入数据、查询数据、分析数据等。每个场景都应该包括不同的参数设置,以反映真实的使用情况。 5. 测试指标:需要定义合适的性能指标,例如响应时间、吞吐量、并发数、CPU使用率、内存使用率等。这些指标可以帮助评估系统的性能和可靠性,并提供性能优化的参考依据。 6. 测试报告:需要生成详细的测试报告,包括测试结果、性能指标、测试日志、错误日志等。测试报告应该能够清晰地表达测试结果,并提供性能优化的建议。 总之,进行大数据性能测试需要综合考虑多个因素,包括测试环境、测试数据、测试工具、测试场景、测试指标和测试报告等。通过科学合理地设计和执行测试,可以评估系统的性能和可靠性,并提供性能优化的参考依据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值