大数据测试:功能和性能

翻译自:http://www.guru99.com/big-data-testing-functional-performance.html#1

什么是大数据?

大数据是不能使用传统计算技术处理的大型数据集的集合。这些数据集的测试涉及各种工具,技术和框架来处理。大数据涉及数据创建,存储,检索和分析,在数量,多样性和速度方面都非常出色。您可以在这里了解有关大数据,Hadoop和Mapreduce的更多信息

在本教程中,我们将学习,

<h3 id="1">大数据测试策略</h3>

测试大数据应用程序更多的是验证其数据处理,而不是测试软件产品的个别功能。当涉及到大数据测试时,性能和功能测试是关键。

在大数据测试中,QA工程师使用集群和其他支持组件来验证TB级数据的成功过程。它需要高水平的测试技能,因为过程非常快。过程可以是三种类型

060315_1205_BigDataTest1.png

与此同时,数据质量也是大数据测试的一个重要因素。在测试应用程序之前,有必要检查数据的质量,并应将其视为数据库测试的一部分。它涉及检查各种特征,如一致性,准确性,重复,一致性,有效性,数据完整性等。

<h3 id="2">验证大数据应用程序的测试步骤</h3>

下图给出了测试大数据应用程序阶段的高级概述

060315_1205_BigDataTest2.png

大数据测试大致可分为三个步骤

步骤1:数据分段验证

大数据测试的第一步,也称为pre-Hadoop阶段涉及过程验证。

  • 来自各种来源(如RDBMS,博客,社交媒体等)的数据应进行验证,以确保正确的数据被拉入系统
  • 将源数据与推送到Hadoop系统中的数据进行比较,以确保它们匹配
  • 验证正确的数据被提取并加载到正确的HDFS位置

像工具Talend,Datameer,可用于数据分段的验证

步骤2:“MapReduce”验证

第二步是验证“MapReduce”。在这个阶段,测试人员验证每个节点上的业务逻辑验证,然后在多个节点运行后验证它们,确保

  • Map Reduce进程正常工作
  • 在数据上实现数据聚合或隔离规则
  • 生成键值对
  • 在Map Reduce进程后验证数据

步骤3:输出验证阶段

大数据测试的最终或第三阶段是输出验证过程。生成输出数据文件,并准备根据需要将其移至EDW(企业数据仓库)或任何其他系统。

第三阶段活动包括

  • 检查转换规则是否正确应用
  • 检查数据完整性和成功的数据加载到目标系统中
  • 通过将目标数据与HDFS文件系统数据进行比较来检查没有数据损坏

<h3 id="3">架构测试</h3>
Hadoop处理非常大量的数据,并且资源密集。因此,架构测试对于确保大数据项目的成功至关重要。系统设计不当或设计不当可能导致性能下降,系统可能无法满足要求。至少,性能和故障转移测试服务应在Hadoop环境中完成。

性能测试包括测试作业完成时间,内存利用率,数据吞吐量和类似的系统指标。虽然故障转移测试服务的动机是验证数据处理在数据节点故障的情况下无缝地发生

<h3 id="4">性能测试</h3>

大数据的性能测试包括两个主要方面:

  • 数据获取和吞吐量:在这个阶段,测试人员验证快速系统如何使用来自各种数据源的数据。测试涉及识别队列在给定时间帧中可以处理的不同消息。它还包括如何快速地将数据插入到底层数据存储中,例如插入到Mongo和Cassandra数据库中。
  • 数据处理:它涉及验证执行查询或map reduce作业的速度。它还包括底层数据存储的数据集中填充时隔离测试数据的过程。例如,在底层HDFS上运行Map Reduce作业
  • 子组件性能:这些系统由多个组件组成,必须单独测试这些组件。例如,消息被索引和使用的速度,mapreduce作业,查询性能,搜索等。

性能测试方法

大数据应用程序的性能测试涉及大量结构化和非结构化数据的测试,它需要一种特定的测试方法来测试这样的大量数据。

060315_1205_BigDataTest3.png

性能测试按此顺序执行

  1. 对要性能测试的大数据集群的进行设置
  2. 识别和设计相应的工作负载
  3. 准备单个客户端(创建自定义脚本)
  4. 执行测试并分析结果(如果不满足目标,则调整组件并重新执行)
  5. 最佳配置

性能测试的参数

要验证性能测试的各种参数是

  • 数据存储:数据如何存储在不同的节点中
  • 提交日志:提交日志允许增长的大小
  • 并发性:有多少线程可以执行写和读操作
  • 缓存:调整缓存设置“行缓存”和“密钥缓存”。
  • 超时:连接超时,查询超时等的值。
  • JVM参数:堆大小,GC收集算法等。
  • 降低性能:排序,合并等
  • 消息队列:消息速率,大小等

<h3 id="5">测试环境需求</h3>

测试环境需求取决于要测试的应用程序的类型。对于大数据测试,测试环境应包括

  • 它应该有足够的空间用于存储和处理大量的数据
  • 它应该具有分布式节点和数据的集群
  • 它应该具有最小的CPU和内存利用率,以保持高性能

<h3 id="6">大数据测试 传统数据库测试</h3>

属性 传统数据库测试 大数据测试
数据 使用结构化数据 同时处理结构化数据和非结构化数据
测试方法定义明确和time-tested 测试方法需要集中的研发工作
测试人员可以选择“自动化工具”手动执行“抽样”策略或“完全验证”策略 大数据中的“抽样”策略是一个挑战
基础设施 它不需要特殊的测试环境,因为文件大小有限 它需要特殊的测试环境,因为大的数据大小和文件(HDFS)
验证工具 测试程序使用基于Excel的宏或基于UI的自动化工具 没有定义的工具,范围从广泛从编程工具,如MapReduce到HIVEQL
测试工具可以使用基本的操作知识和较少的培训 它需要一组特定的技能和培训来操作测试工具。此外,工具处于新生阶段,加班也许会带来新的功能。

<h3 id="7">大数据场景中使用的工具</h3>

大数据集群 大数据工具
NoSQL CouchDB,MongoDB,Cassandra,Redis,ZooKeeper,Hbase
MapReduce Hadoop,Hive,Pig,Cascading,Oozie,Kafka,S4,MapR,Flume
存储 S3,HDFS(Hadoop分布式文件系统)
服务器 Elastic,Heroku,Google App Engine,EC2
处理 R,Yahoo!Pipes,Mechanical Turk,BigSheets,Datameer

<h3 id="8">大数据测试中的挑战</h3>

  • 自动化
    大数据的自动化测试需要有技术专长的人员。此外,自动化工具不能处理测试期间出现的意外问题

  • 虚拟化
    它是测试的必需阶段之一。虚拟机延迟会在实时大数据测试中产生时序问题。还有在大数据中管理图像是一个麻烦。

  • 大数据集

    • 需要验证更多的数据,需要做的更快
    • 需要自动化测试工作
    • 需要能够跨不同平台进行测试

性能测试的挑战

  • 多样化的技术:每个子组件属于不同的技术,需要独立测试
  • 特定工具的不可用性:没有单个工具可以执行端到端测试。例如,NoSQL可能不适合消息队列
  • 测试脚本:需要高度的脚本来设计测试场景和测试用例
  • 测试环境:由于数据量大,需要特殊的测试环境
  • 监控解决方案:可监控整个环境的解决方案有限
  • 诊断解决方案:需要开发定制解决方案下钻到性能瓶颈区域

概要

  • 随着数据工程和数据分析的进一步发展,大数据测试是不可避免的。
  • 大数据处理可以是批处理,实时或交互
  • 测试大数据应用的3个阶段
    • 数据分段验证
    • “MapReduce”验证
    • 输出验证阶段
  • 架构测试是大数据测试的重要阶段,因为设计不良可能会导致前所未有的错误和性能下降
  • 大数据的性能测试包括验证
    • 数据吞吐量
    • 数据处理
    • 子组件性能
  • 大数据测试与传统数据测试在数据,基础设施和验证工具方面非常不同
  • 大数据测试的挑战包括虚拟化,测试自动化和处理大型数据集。大数据应用程序的性能测试也是一个问题。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,313评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,369评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,916评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,333评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,425评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,481评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,491评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,268评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,719评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,004评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,179评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,832评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,510评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,153评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,402评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,045评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,071评论 2 352

推荐阅读更多精彩内容