大数据如何进行测试

一、什么是大数据测试

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

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

对比项大数据测试传统数据测试
数据量级需要处理的数据量级较高设计的数据量级较低
数据结构处理的数据包括结构化数据、非结构化数据、和半结构化数据以结构化数据为主
验证工作验证环节多,数据量大,较复杂抽取数据来验证,相对简单
环境要求依赖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验证:对界面功能、交互设计的验证。验证报表页面布局样式、表格格式、字体格式、颜色搭配、报表标题和文案。
  • 交互验证:主要包括:翻页、过滤器、提示、参数、上钻/下钻、多表联动、排序和导出等功能的验证。
  • 更新验证:在源数据出现更新后,验证报表数据是否更新正确
  • 及时验证:主要是针对实时报表生成的及时性验证,验证在及时性方面是否满足业务需求
  • 安全测试:检查报表系统的用户权限,数据安全设置是和合理
  • 性能测试:数据响应时间、报表生成耗时等性能指标进行测试,验证是否符合预期。
  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大数据标准化工作组织:ISO/IEC ITU NIST TPC SPEC TPC和SPEC两个组织关注大数据技术平台的基准测试测试标准: TPCx-HS、TPCx-BB 工具:TeraSort 大数据测试第一阶段 大数据平台(Hadoop平台)基准测试的方法论和具体实施方案: 《大数据平台基准测试第一部分:技术要求》 《大数据平台基准测试第二部分:测试方法》 基准测试主要从性能的角度衡量大数据平台,主要考虑数据生成、负载选择和明确测试 指标等内容。根据Hadoop平台的特点,从NoSQL任务、机器学习、SQL任务、批处理四大 类任务中选择了10个测试用例作为负载。 大数据测试第二阶段 《Hadoop平台基础能力测试方法》 《Hadoop平台性能测试方法》 性能测试在基准测试的基础上进行了升级,如图2所示,增加了SQL用例的比重,按照SQ L任务的类型,从两个维度确立了5类任务,分别是CPU密集型任务、I/O密集型任务、报 表任务、分析型任务、交互式查询。HBase的优势在于并发检索和读的性能,在负载方面 选择了批量写入数据、并发读任务占多、并发更新任务较重、读取更改然后写回4类场景 ,充分检验了HBase数据库的并发执行能力。在机器学习和批处理方面相对基准测试方法 减少了2个用例 Hadoop平台基础能力测试用例分布 Hadoop平台基础能力涵盖了运维管理、可用性、功能、兼容性、安全、多租户和扩展性 等指标,总共38项测试用例: MPP数据库(面向在线分析处理(on-lineanalyticalprocessing,OLAP))的标准化 《MPP数据库基础能力测试方法》 工具: Terasort BigDataBench HBase性能由YCSB(Yahoo!cloudservingbenchmark)工具来测试 ----------------------- 大数据平台测试标准全文共2页,当前为第1页。 大数据平台测试标准全文共2页,当前为第2页。
进行大数据性能测试需要考虑以下几个方面: 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、付费专栏及课程。

余额充值