ビッグデータとは何ですか?
大規模なデータセットは、従来の技術計算処理を使用して大規模なデータセットではありません。様々なツール、技術、及び処理フレームワークを有するこれらの試験データセット。ビッグデータは、データの作成、保存、検索および分析を含む、数、多様性とスピードが非常に優れています。ここでは、ビッグデータ、HadoopのMapReduceのとについての詳細を学ぶことができます
このチュートリアルでは、我々は学びます、
- 大規模なデータのテスト戦略
- 大きなデータ検証テストステップアプリケーション
- アーキテクチャ試験
- 性能試験
- 環境試験の要件
- 大規模な従来のデータベースのデータのテストテスト
- シーンで使用されるビッグデータツール
- 大規模なデータ・テスト・課題
大規模なデータのテスト戦略
そのデータアプリケーションを検証するために、より広範なテストではなく、ソフトウェア製品の個々の機能テストよりも、データの処理です。それは大規模なデータのテストになると、パフォーマンスおよび機能テストが鍵となります。
大きなデータ試験において、QAエンジニアは、検証成功TBレベルデータの処理をサポートするために、クラスタと他のコンポーネントを使用します。プロセスは非常に高速であるので、テストにスキルの高いレベルを必要とします。プロセスは、以下の3つの種類があります
同時に、データ品質は、大規模なデータのテストで重要な要因です。アプリケーションをテストする前に、データの品質をチェックする必要があり、データベースのテストの一部と考えるべきです。そのような一貫性、精度、繰り返し性、一貫性、効率、データの整合性などの様々な機能を調べるためにも関します。
大きなデータ検証テストステップアプリケーション
次の図に示すビッグデータアプリケーションのテストフェーズの高レベルの概要
大規模試験データは、大きく3つのステップに分けることができます
ステップ1:データ・セグメントを確認
また、事前のHadoopステージとして知られている大規模なデータ・テストの最初のステップは、検証のプロセスを含みます。
- (等RDBMS、ブログ、ソーシャルメディア、など)は、様々なソースからのデータは、正しいデータがシステムに引き込まれることを保証するために検証されなければなりません
- データとソースデータは、それらが一致していることを確認するために比較のHadoopシステムをプッシュ
- 正しいデータを抽出し、正しい位置HDFSにロードされていることを確認
ツール才能、Datameerように、データセグメントを確認するために使用することができます
ステップ2: "MapReduceの" 確認してください
第二段階は、「MapReduceの」を確認することです。この段階では、ビジネスロジックテスターは、各ノード上で認証を確認した後、彼らは確実にするために、複数のノードで実行されていることを確認します
- 地図は、プロセスを減らして正常に動作しています
- 単離またはデータで実装データ集約ルール
- 生成键值对
- 在Map Reduce进程后验证数据
步骤3:输出验证阶段
大数据测试的最终或第三阶段是输出验证过程。生成输出数据文件,并准备根据需要将其移至EDW(企业数据仓库)或任何其他系统。
第三阶段活动包括
- 检查转换规则是否正确应用
- 检查数据完整性和成功的数据加载到目标系统中
- 通过将目标数据与HDFS文件系统数据进行比较来检查没有数据损坏
架构测试
Hadoop处理非常大量的数据,并且资源密集。因此,架构测试对于确保大数据项目的成功至关重要。系统设计不当或设计不当可能导致性能下降,系统可能无法满足要求。至少,性能和故障转移测试服务应在Hadoop环境中完成。
性能测试包括测试作业完成时间,内存利用率,数据吞吐量和类似的系统指标。虽然故障转移测试服务的动机是验证数据处理在数据节点故障的情况下无缝地发生
性能测试
大数据的性能测试包括两个主要方面:
- 数据获取和吞吐量:在这个阶段,测试人员验证快速系统如何使用来自各种数据源的数据。测试涉及识别队列在给定时间帧中可以处理的不同消息。它还包括如何快速地将数据插入到底层数据存储中,例如插入到Mongo和Cassandra数据库中。
- 数据处理:它涉及验证执行查询或map reduce作业的速度。它还包括底层数据存储的数据集中填充时隔离测试数据的过程。例如,在底层HDFS上运行Map Reduce作业
- 子组件性能:这些系统由多个组件组成,必须单独测试这些组件。例如,消息被索引和使用的速度,mapreduce作业,查询性能,搜索等。
性能测试方法
大数据应用程序的性能测试涉及大量结构化和非结构化数据的测试,它需要一种特定的测试方法来测试这样的大量数据。
性能测试按此顺序执行
- 对要性能测试的大数据集群的进行设置
- 识别和设计相应的工作负载
- 准备单个客户端(创建自定义脚本)
- 执行测试并分析结果(如果不满足目标,则调整组件并重新执行)
- 最佳配置
性能测试的参数
要验证性能测试的各种参数是
- 数据存储:数据如何存储在不同的节点中
- 提交日志:提交日志允许增长的大小
- 并发性:有多少线程可以执行写和读操作
- 缓存:调整缓存设置“行缓存”和“密钥缓存”。
- 超时:连接超时,查询超时等的值。
- JVM参数:堆大小,GC收集算法等。
- 降低性能:排序,合并等
- 消息队列:消息速率,大小等
测试环境需求
测试环境需求取决于要测试的应用程序的类型。对于大数据测试,测试环境应包括
- 它应该有足够的空间用于存储和处理大量的数据
- 它应该具有分布式节点和数据的集群
- 它应该具有最小的CPU和内存利用率,以保持高性能
<h3 id="6">大数据测试 传统数据库测试</h3>
属性 | 传统数据库测试 | 大数据测试 |
---|---|---|
数据 | 使用结构化数据 | 同时处理结构化数据和非结构化数据 |
测试方法定义明确和time-tested | 测试方法需要集中的研发工作 | |
测试人员可以选择“自动化工具”手动执行“抽样”策略或“完全验证”策略 | 大数据中的“抽样”策略是一个挑战 | |
基础设施 | 它不需要特殊的测试环境,因为文件大小有限 | 它需要特殊的测试环境,因为大的数据大小和文件(HDFS) |
验证工具 | 测试程序使用基于Excel的宏或基于UI的自动化工具 | 没有定义的工具,范围从广泛从编程工具,如MapReduce到HIVEQL |
测试工具可以使用基本的操作知识和较少的培训 | 它需要一组特定的技能和培训来操作测试工具。此外,工具处于新生阶段,加班也许会带来新的功能。 |
大数据场景中使用的工具
大数据集群 | 大数据工具 |
---|---|
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 |
大数据测试中的挑战
-
自动化
大数据的自动化测试需要有技术专长的人员。此外,自动化工具不能处理测试期间出现的意外问题 -
虚拟化
它是测试的必需阶段之一。虚拟机延迟会在实时大数据测试中产生时序问题。还有在大数据中管理图像是一个麻烦。 -
大数据集
- 需要验证更多的数据,需要做的更快
- 需要自动化测试工作
- 需要能够跨不同平台进行测试
性能测试的挑战
- 多样化的技术:每个子组件属于不同的技术,需要独立测试
- 特定工具的不可用性:没有单个工具可以执行端到端测试。例如,NoSQL可能不适合消息队列
- 测试脚本:需要高度的脚本来设计测试场景和测试用例
- 测试环境:由于数据量大,需要特殊的测试环境
- 监控解决方案:可监控整个环境的解决方案有限
- 诊断解决方案:需要开发定制解决方案下钻到性能瓶颈区域
概要
- 随着数据工程和数据分析的进一步发展,大数据测试是不可避免的。
- 大数据处理可以是批处理,实时或交互
- 测试大数据应用的3个阶段架构测试是大数据测试的重要阶段,因为设计不良可能会导致前所未有的错误和性能下降
- 数据分段验证
- “MapReduce”验证
- 输出验证阶段
- 大数据的性能测试包括验证大数据测试与传统数据测试在数据,基础设施和验证工具方面非常不同
- 数据吞吐量
- 数据处理
- 子组件性能
- 大数据测试的挑战包括虚拟化,测试自动化和处理大型数据集。大数据应用程序的性能测试也是一个问题。
作者:杰克家的猫
链接:https://www.jianshu.com/p/397eb4bb4ea8
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。