一、什么是大数据?
大数据是大型数据集的集合,它是不能用传统的计算技术处理的。这些数据集需要运用到各种各样的工具、技术及框架来处理。大数据涉及到数据的创建、存储、检索及分析,这对于容量、多样化及速率都是非常关键的。你可以这里了解到更多关于Big Data, Hadoop and Mapreduce 的信息。
在本教程里,我们将学习到:
步骤一:数据分级验证
步骤二:"MapReduce "验证
步骤三:输出验证阶段
架构测试
性能测试
性能测试方法
参数性能测试
测试环境需求
大数据测试VS传统数据库测试
大数据场景中使用的工具
大数据测试面对的挑战
二、大数据测试策略
大数据应用测试更多是对数据处理的验证,而不是软件产品的单个特征的测试。当谈到大数据测试的时候,性能与功能测试是关键。
在大数据测试中,测试工程师通过使用云服务和其他服务方式来验证成功的处理TB 级别数据的流程,这就需要非常高的测试技能,因为运行过程是非常快的。处理有三种类型:
于此同时,在大数据测试中数据质量也是非常重要的因素。在测试应用之前,校验数据的质量是必要的,应该把它当成数据库测试的一部分。它涉及到校验各种各样的特征如一致性、准确性、可复制性、一致性.有效性及数据完整性等等。
三、验证大数据应用中的测试步骤
下面的图高度概况了在测试大数据应用中的几个阶段
1、大数据测试大概是以下三个步骤
步骤一:数据分级验证
大数据测试的第一步,也叫Pre-Hadoop阶段,涉及到过程验证
验证来自于RDBMS,博客及社交媒体等这些资源数据确保导入系统的数据是正确的。
把比较源数据及数据放到Hadoop系统中确保他们是匹配的。
提取验证正确的数据,然后加载到正确的HDFS位置。
数据分级验证中可以使用Talend,Datameer这样的工具。
步骤二: MapReduce 验证
第二步是MapReduce验证,在这个阶段,测试者需要在每个节点上进行业务逻辑验证然后在多个节点运行之后再次验证,以确保:
Map Reduce过程正确运行
实现数据聚合或者分离
生成键值对
在Map Reduce过程之后验证数据
步骤三:输出验证阶段
大数据测试的最后一个阶段是输出验证过程。生成输出数据文件然后移到EDW(企业数据仓库)或者根据要求移到其他系统
在第三个阶段中要做到:
2、架构测试
Hadoop处理大量数据,资源高度密集。因此,架构测试对于大数据项目的成功是非常关键的,差的或者不当的设计系统可能导致性能退化,系统也没法满足要求。至少,在Hadoop环境下,应该做好性能和故障转移测试服务。
性能测试包括测试工作完成时间,内存利用率,数据吞吐量以及类似系统指标。故障转移测试服务的目的是证明在数据节点失败的情况下数据处理能完好的进行。
3、性能测试
大数据的性能测试包含两点:
数据消费及吞吐量:在这个阶段,测试者要验证快速系统是怎样利用各种各种的数据源来消耗数据。测试包括在队列中不同消息在规定的时间内是否可以被处理。它也包含数据是如何快速地被存放到内存空间,比如存放Mongo和Cassandra数据库的速率。
数据处理:它涉及验证Queries或者Map Reduce执行任务的速度。它也包括当数据集占满内存时测试孤立的数据处理。比如在HDFS上运行Map Reduce任务。
子组件的性能:这些系统由多个组件构成,去测试单独的每一个组件是非常重要的。比如,消息是如何快速的被索引和用尽,Map Reduce任务,查询性能、搜索等等。
.......
来源于《51测试天地》原创测试文章系列(四十四)
喜欢我们的会点赞,爱我们的会分享!