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