一、什么是大數(shù)據(jù)?
是一個(gè)大的數(shù)據(jù)集合,通過傳統(tǒng)的計(jì)算技術(shù)無法進(jìn)行處理。這些數(shù)據(jù)集的測(cè)試需要使用各種工具、技術(shù)和框架進(jìn)行處理。大數(shù)據(jù)涉及數(shù)據(jù)創(chuàng)建、、檢索、分析,而且它在數(shù)量、多樣性、速度方法都很出色。
二、大數(shù)據(jù)測(cè)試類型
測(cè)試大數(shù)據(jù)應(yīng)用程序更多的是驗(yàn)證其數(shù)據(jù)處理,而不是測(cè)試軟件產(chǎn)品的個(gè)別功能。當(dāng)涉及到大數(shù)據(jù)測(cè)試時(shí),性能和功能測(cè)試是關(guān)鍵。
在大數(shù)據(jù)測(cè)試中,QA工程師使用集群和其他組件來驗(yàn)證對(duì)TB級(jí)數(shù)據(jù)的成功處理。因?yàn)樘幚矸浅??,所以它需要高水平的測(cè)試技能。處理可以是三種類型:批量、實(shí)時(shí)、交互。
與此同時(shí),數(shù)據(jù)質(zhì)量也是大數(shù)據(jù)測(cè)試的一個(gè)重要因素。在測(cè)試應(yīng)用程序之前,有必要檢查數(shù)據(jù)的質(zhì)量,并將其視為數(shù)據(jù)庫測(cè)試的一部分。它涉及檢查各種字段,如一致性,準(zhǔn)確性,重復(fù),一致性,有效性,數(shù)據(jù)完整性等。
三、大數(shù)據(jù)測(cè)試步驟
下圖給出了測(cè)試大數(shù)據(jù)應(yīng)用程序階段的高級(jí)概述:
大數(shù)據(jù)測(cè)試實(shí)現(xiàn)被分成三個(gè)步。
Step 1:數(shù)據(jù)階段驗(yàn)證
大數(shù)據(jù)測(cè)試的第一步,也稱作pre-hadoop階段該過程包括如下驗(yàn)證:
1、來自各方面的數(shù)據(jù)資源應(yīng)該被驗(yàn)證,來確保正確的數(shù)據(jù)被加載進(jìn)系統(tǒng)
2、將源數(shù)據(jù)與推送到Hadoop系統(tǒng)中的數(shù)據(jù)進(jìn)行比較,以確保它們匹配
3、驗(yàn)證正確的數(shù)據(jù)被提取并被加載到HDFS正確的位置
該階段可以使用工具Talend或Datameer,進(jìn)行數(shù)據(jù)階段驗(yàn)證。
Step 2: MapReduce 驗(yàn)證
大數(shù)據(jù)測(cè)試的第二步是MapReduce的驗(yàn)證。在這個(gè)階段,測(cè)試者在每個(gè)節(jié)點(diǎn)上進(jìn)行業(yè)務(wù)邏輯驗(yàn)證,然后在運(yùn)行多個(gè)節(jié)點(diǎn)后驗(yàn)證它們,確保如下操作的正確性:
1、Map與Reduce進(jìn)程正常工作
2、在數(shù)據(jù)上實(shí)施數(shù)據(jù)聚合或隔離規(guī)則
3、生成鍵值對(duì)
4、在執(zhí)行Map和Reduce進(jìn)程后驗(yàn)證數(shù)據(jù)
Step 3:輸出階段驗(yàn)證
大數(shù)據(jù)測(cè)試的最后或第三階段是輸出驗(yàn)證過程。生成輸出數(shù)據(jù)文件,同時(shí)把文件移到一個(gè)EDW(Enterprise Data Warehouse:企業(yè)數(shù)據(jù)倉庫)中或著把文件移動(dòng)到任何其他基于需求的系統(tǒng)中。在第三階段的活動(dòng)包括:
1、檢查轉(zhuǎn)換(Transformation)規(guī)則被正確應(yīng)用
2、檢查數(shù)據(jù)完整性和成功的數(shù)據(jù)加載到目標(biāo)系統(tǒng)中
3、通過將目標(biāo)數(shù)據(jù)與HDFS文件系統(tǒng)數(shù)據(jù)進(jìn)行比較來檢查沒有數(shù)據(jù)損壞
四、架構(gòu)測(cè)試
Hadoop處理大量的數(shù)據(jù),并且是非常耗費(fèi)資源的。因此,架構(gòu)測(cè)試對(duì)于確保您的大數(shù)據(jù)項(xiàng)目的成功至關(guān)重要。系統(tǒng)設(shè)計(jì)不當(dāng)或設(shè)計(jì)不當(dāng)可能導(dǎo)致性能下降,系統(tǒng)不能滿足要求。至少,性能和故障轉(zhuǎn)移測(cè)試服務(wù)應(yīng)該在Hadoop環(huán)境中完成。
性能測(cè)試包括測(cè)試作業(yè)完成時(shí)間,內(nèi)存使用率,數(shù)據(jù)吞吐量和類似的系統(tǒng)指標(biāo)。而故障轉(zhuǎn)移測(cè)試服務(wù)的動(dòng)機(jī)是為了驗(yàn)證在數(shù)據(jù)節(jié)點(diǎn)發(fā)生故障的情況下數(shù)據(jù)處理是否無縫地發(fā)生
五、性能測(cè)試
大數(shù)據(jù)性能測(cè)試包括兩個(gè)主要的行動(dòng)
數(shù)據(jù)采集??和整個(gè)過程:在這個(gè)階段,測(cè)試人員驗(yàn)證快速系統(tǒng)如何消耗來自各種數(shù)據(jù)源的數(shù)據(jù)。測(cè)試涉及識(shí)別隊(duì)列在給定時(shí)間框架內(nèi)可以處理的不同消息。它還包括如何快速將數(shù)據(jù)插入到底層數(shù)據(jù)存儲(chǔ)中,例如插入到Mongo和Cassandra數(shù)據(jù)庫中。
數(shù)據(jù)處理:它涉及驗(yàn)證執(zhí)行查詢或映射縮減作業(yè)的速度。它還包括在底層數(shù)據(jù)存儲(chǔ)填充到數(shù)據(jù)集中時(shí)獨(dú)立測(cè)試數(shù)據(jù)處理。例如,在底層HDFS上運(yùn)行Map Reduce作業(yè)
子組件性能:這些系統(tǒng)由多個(gè)組件組成,而且必須單獨(dú)測(cè)試每個(gè)組件。例如,消息的索引和消費(fèi)速度有多快,mapreduce作業(yè),查詢性能,搜索等
六、性能測(cè)試方法
大數(shù)據(jù)應(yīng)用性能測(cè)試涉及大量結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)的測(cè)試,并且需要特定的測(cè)試方法來測(cè)試這些海量數(shù)據(jù)。
性能測(cè)試按此順序執(zhí)行
1、過程從設(shè)置要測(cè)試性能的大數(shù)據(jù)群集開始
2、確定和設(shè)計(jì)相應(yīng)的工作量
3、準(zhǔn)備個(gè)人客戶(自定義腳本創(chuàng)建)
4、執(zhí)行測(cè)試并分析結(jié)果(如果不滿足目標(biāo),則調(diào)整組件并重新執(zhí)行)
5、最佳配置
性能測(cè)試的參數(shù)
性能測(cè)試需要驗(yàn)證的各種參數(shù)
1、數(shù)據(jù)存儲(chǔ):數(shù)據(jù)如何存儲(chǔ)在不同的節(jié)點(diǎn)中
2、提交日志:允許增長的提交日志有多大
3、并發(fā)性:有多少個(gè)線程可以執(zhí)行寫入和讀取操作
4、緩存:調(diào)整緩存設(shè)置 行緩存 和 鍵緩存 。
5、超時(shí):連接超時(shí)值,查詢超時(shí)值等
6、JVM參數(shù):堆大小,GC收集算法等
7、地圖降低性能:排序,合并等
8、消息隊(duì)列:消息速率,大小等
測(cè)試環(huán)境需求
測(cè)試環(huán)境需求取決于您正在測(cè)試的應(yīng)用程序的類型。對(duì)于大數(shù)據(jù)測(cè)試,測(cè)試環(huán)境應(yīng)該包含
1、它應(yīng)該有足夠的空間來存儲(chǔ)和處理大量的數(shù)據(jù)
2、它應(yīng)該有分布式節(jié)點(diǎn)和數(shù)據(jù)的集群
3、它應(yīng)該有最低的CPU和內(nèi)存利用率,以保持高性能
七、大數(shù)據(jù)測(cè)試面臨的挑戰(zhàn)
自動(dòng)化
大數(shù)據(jù)的自動(dòng)化測(cè)試需要具有技術(shù)專長的人員。另外,自動(dòng)化工具不具備處理測(cè)試過程中出現(xiàn)的意外問題的能力
虛擬化
這是測(cè)試的一個(gè)不可缺少的階段。虛擬機(jī)延遲會(huì)在實(shí)時(shí)大數(shù)據(jù)測(cè)試中造成計(jì)時(shí)問題。在大數(shù)據(jù)中管理圖像也是一件麻煩事。
大數(shù)據(jù)集
1、需要驗(yàn)證更多的數(shù)據(jù),并需要更快地完成
2、需要自動(dòng)化測(cè)試工作
3、需要能夠跨不同的平臺(tái)進(jìn)行測(cè)試
八、性能測(cè)試挑戰(zhàn)
1、多種技術(shù)組合:每個(gè)子組件屬于不同的技術(shù),需要單獨(dú)測(cè)試
2、不可用的特定工具:沒有一個(gè)工具可以執(zhí)行端到端的測(cè)試。例如,NoSQL可能不適合消息隊(duì)列
3、測(cè)試腳本:需要高度的腳本來設(shè)計(jì)測(cè)試場景和測(cè)試用例
4、測(cè)試環(huán)境:數(shù)據(jù)量大,需要特殊的測(cè)試環(huán)境
5、監(jiān)控解決方案:存在有限的解決方案,可以監(jiān)控整個(gè)環(huán)境
6、診斷解決方案:需要定制解決方案來深入了解性能瓶頸區(qū)域
概要
1、隨著數(shù)據(jù)工程和數(shù)據(jù)分析技術(shù)的不斷進(jìn)步,大數(shù)據(jù)測(cè)試是不可避免的。
2、大數(shù)據(jù)處理可以是批處理,實(shí)時(shí)或交互式處理
3、測(cè)試大數(shù)據(jù)應(yīng)用程序的3個(gè)階段是
數(shù)據(jù)分級(jí)驗(yàn)證
MapReduce 驗(yàn)證
輸出驗(yàn)證階段
4、架構(gòu)測(cè)試是大數(shù)據(jù)測(cè)試的重要階段,因?yàn)樵O(shè)計(jì)不佳的系統(tǒng)可能會(huì)導(dǎo)致前所未有的錯(cuò)誤和性能下降
5、大數(shù)據(jù)的性能測(cè)試包括驗(yàn)證
數(shù)據(jù)吞吐量
數(shù)據(jù)處理
子組件性能
6、大數(shù)據(jù)測(cè)試與傳統(tǒng)數(shù)據(jù)測(cè)試在數(shù)據(jù),基礎(chǔ)架構(gòu)和驗(yàn)證工具方面有很大的不同
7、大數(shù)據(jù)測(cè)試挑戰(zhàn)包括虛擬化,測(cè)試自動(dòng)化和處理大型數(shù)據(jù)集。大數(shù)據(jù)應(yīng)用程序的性能測(cè)試也是一個(gè)問題。
責(zé)任編輯:DJ編輯
文章編輯:CobiNet(寧波)
本公司專注于電訊配件,銅纜綜合布線系列領(lǐng)域產(chǎn)品研發(fā)生產(chǎn)超五類,六類,七類線,屏蔽模塊,配線架及相關(guān)模塊配件的研發(fā)和生產(chǎn)。
?2016-2019寧波科博通信技術(shù)有限公司版權(quán)所有浙ICP備16026074號(hào)