大数据测试方法和工具梳理Word格式文档下载.docx
《大数据测试方法和工具梳理Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《大数据测试方法和工具梳理Word格式文档下载.docx(7页珍藏版)》请在冰豆网上搜索。
在测试应用程序之前,有必要检查数据的质量,并将其视为数据库测试的一部分。
它涉及检查各种字段,如一致性,准确性,重复,一致性,有效性,数据完整性等。
3大数据测试实现被分成三个步
3.1步骤1:
数据分段验证
大数据测试的第一步,也称为pre-Hadoop阶段涉及过程验证。
∙来自各种来源(如RDBMS,博客,社交媒体等)的数据应进行验证,以确保正确的数据被拉入系统
∙将源数据与推送到Hadoop系统中的数据进行比较,以确保它们匹配
∙验证正确的数据被提取并加载到正确的HDFS位置
该阶段可以使用工具Talend或Datameer,进行数据阶段验证。
3.2步骤2:
“MapReduce”验证
大数据测试的第二步是MapReduce的验证。
在这个阶段,测试者在每个节点上进行业务逻辑验证,然后在运行多个节点后验证它们,确保如下操作的正确性:
∙MapReduce进程正常工作
∙在数据上实现数据聚合或隔离规则
∙生成键值对
∙在MapReduce进程后验证数据
3.3步骤3:
输出验证阶段
大数据测试的最后或第三阶段是输出验证过程。
生成输出数据文件,同时把文件移到一个EDW(EnterpriseDataWarehouse:
企业数据仓库)中或着把文件移动到任何其他基于需求的系统中。
在第三阶段的活动包括:
∙检查转换(Transformation)规则被正确应用
∙检查数据完整性和成功的数据加载到目标系统中
∙通过将目标数据与HDFS文件系统数据进行比较来检查没有数据损坏
4架构测试
Hadoop处理非常大量的数据,并且资源密集。
因此,架构测试对于确保大数据项目的成功至关重要。
系统设计不当或设计不当可能导致性能下降,系统可能无法满足要求。
至少,性能和故障转移测试服务应在Hadoop环境中完成。
性能测试包括测试作业完成时间,内存利用率,数据吞吐量和类似的系统指标。
虽然故障转移测试服务的动机是验证数据处理在数据节点故障的情况下无缝地发生
5性能测试
大数据的性能测试包括两个主要方面:
∙数据获取和吞吐量:
在这个阶段,测试人员验证快速系统如何使用来自各种数据源的数据。
测试涉及识别队列在给定时间帧中可以处理的不同消息。
它还包括如何快速地将数据插入到底层数据存储中,例如插入到Mongo和Cassandra数据库中。
∙数据处理:
它涉及验证执行查询或mapreduce作业的速度。
它还包括底层数据存储的数据集中填充时隔离测试数据的过程。
例如,在底层HDFS上运行MapReduce作业
∙子组件性能:
这些系统由多个组件组成,必须单独测试这些组件。
例如,消息被索引和使用的速度,mapreduce作业,查询性能,搜索等。
5.1性能测试方法
大数据应用程序的性能测试涉及大量结构化和非结构化数据的测试,它需要一种特定的测试方法来测试这样的大量数据。
性能测试按此顺序执行
1.对要性能测试的大数据集群的进行设置
2.识别和设计相应的工作负载
3.准备单个客户端(创建自定义脚本)
4.执行测试并分析结果(如果不满足目标,则调整组件并重新执行)
5.最佳配置
5.2性能测试的参数
要验证性能测试的各种参数是
∙数据存储:
数据如何存储在不同的节点中
∙提交日志:
提交日志允许增长的大小
∙并发性:
有多少线程可以执行写和读操作
∙缓存:
调整缓存设置“行缓存”和“密钥缓存”。
∙超时:
连接超时,查询超时等的值。
∙JVM参数:
堆大小,GC收集算法等。
∙降低性能:
排序,合并等
∙消息队列:
消息速率,大小等
6测试环境需求
测试环境需求取决于要测试的应用程序的类型。
对于大数据测试,测试环境应包括
∙它应该有足够的空间用于存储和处理大量的数据
∙它应该具有分布式节点和数据的集群
∙它应该具有最小的CPU和内存利用率,以保持高性能
7大数据测试和传统数据库测试
8大数据场景中使用的工具
8.1针对大数据单个组件测试工具
GridMix针对Hadoop集群的测试基准,它具备评测大规模数据处理系统所需的各个功能模块,包括:
产生数据,生成并提交作业,统计作业完成时间等。
TeraSort针对文本数据的排序。
1TB排序通常用于衡量分布式数据处理框架的数据处理能力。
Terasort是hadoop中的的一个排序作业,在2008年,Hadoop在1TB排序基准评估中赢得第一名,耗时209秒。
YCSB是Yahoo开发的一个专门用来对新一代数据库进行基准测试的工具。
全名是Yahoo!
CloudServingBenchmark。
他们开发这个工具的目的是希望有一个标准的工具用来衡量不同数据库的性能。
YCSB做了很多优化来提高客户端性能,例如在数据类型上用了最原始的比特数组以减少数据对象本身创建转换所需的时间等。
Filebench是一款文件系统性能的自动化测试工具,它通过快速模拟真实应用服务器的负载来测试文件系统的性能。
它不仅可以仿真文件系统微操作(如copyfiles,createfiles,randomread,randomwrite),而且可以仿真复杂的应用程序(如varmail,fileserver,oltp,dss,webserver,webproxy)。
Filebench比较适合用来测试文件服务器性能,但同时也是一款负载自动生成工具,也可用于文件系统的性能。
8.2综合类测试工具,覆盖大数据平台多个功能组件
Hibench是用来在速度方面评估不同的大数据框架的,它包括一系列的Hadoop,Spark,streaming工作负载,包括sort,wordcount,TeraSort,Sleep,SQL,PageRank,Nutchindexing,Bayes,Kmeans,NWeightandenhancedDFSIO,等。
同样也为parkStreaming,Flink,StormandGearpump提供工作负载。
BigDataBench是中科院计算所提出的大数据测试工具,覆盖了结构数据、半结构数据和非结构数据,其负载模拟了搜索引擎、社交网络和电子商务等业务模型。
8.3具体应用领域端到端大数据测试工具
BigBench是基于TPC-DS开发的端到端测试工具,面向零售业务,模拟电子商务的整个流程,主要测试MapReduce和并行DBMS。
9大数据测试中的挑战
9.1自动化
大数据的自动化测试需要有技术专长的人员。
此外,自动化工具不能处理测试期间出现的意外问题
9.2虚拟化
它是测试的必需阶段之一。
虚拟机延迟会在实时大数据测试中产生时序问题。
还有在大数据中管理图像是一个麻烦。
9.3大数据集
∙需要验证更多的数据,需要做的更快
∙需要自动化测试工作
∙需要能够跨不同平台进行测试
9.4性能测试的挑战
∙多样化的技术:
每个子组件属于不同的技术,需要独立测试
∙特定工具的不可用性:
没有单个工具可以执行端到端测试。
例如,NoSQL可能不适合消息队列
∙测试脚本:
需要高度的脚本来设计测试场景和测试用例
∙测试环境:
由于数据量大,需要特殊的测试环境
∙监控解决方案:
可监控整个环境的解决方案有限
∙诊断解决方案:
需要开发定制解决方案下钻到性能瓶颈区域
万维测试部大数据测试研究小组
成员:
王成飞、王亮、袁军才、何鹏林
2017年7月31号
..