大數據測試類型&大數據測試步驟


一、什么是大數據?

大數據是一個大的數據集合,通過傳統的計算技術無法進行處理。這些數據集的測試需要使用各種工具、技術和框架進行處理。大數據涉及數據創建、存儲、檢索、分析,而且它在數量、多樣性、速度方法都很出色。

二、大數據測試類型

測試大數據應用程序更多的是驗證其數據處理,而不是測試軟件產品的個別功能。當涉及到大數據測試時,性能和功能測試是關鍵。

在大數據測試中,QA工程師使用集群和其他組件來驗證對TB級數據的成功處理。因為處理非常快,所以它需要高水平的測試技能。處理可以是三種類型:批量、實時、交互。

 

與此同時,數據質量也是大數據測試的一個重要因素。在測試應用程序之前,有必要檢查數據的質量,並將其視為數據庫測試的一部分。它涉及檢查各種字段,如一致性,准確性,重復,一致性,有效性,數據完整性等。

三、大數據測試步驟

下圖給出了測試大數據應用程序階段的高級概述:

 

大數據測試實現被分成三個步。

Step 1:數據階段驗證

大數據測試的第一步,也稱作pre-hadoop階段該過程包括如下驗證:

1、來自各方面的數據資源應該被驗證,來確保正確的數據被加載進系統

2、將源數據與推送到Hadoop系統中的數據進行比較,以確保它們匹配

3、驗證正確的數據被提取並被加載到HDFS正確的位置

該階段可以使用工具Talend或Datameer,進行數據階段驗證。

Step 2:"MapReduce"驗證

大數據測試的第二步是MapReduce的驗證。在這個階段,測試者在每個節點上進行業務邏輯驗證,然后在運行多個節點后驗證它們,確保如下操作的正確性:

1、Map與Reduce進程正常工作

2、在數據上實施數據聚合或隔離規則

3、生成鍵值對

4、在執行Map和Reduce進程后驗證數據

Step 3:輸出階段驗證

大數據測試的最后或第三階段是輸出驗證過程。生成輸出數據文件,同時把文件移到一個EDW(Enterprise Data Warehouse:企業數據倉庫)中或着把文件移動到任何其他基於需求的系統中。在第三階段的活動包括:

1、檢查轉換(Transformation)規則被正確應用

2、檢查數據完整性和成功的數據加載到目標系統中

3、通過將目標數據與HDFS文件系統數據進行比較來檢查沒有數據損壞

四、架構測試

Hadoop處理大量的數據,並且是非常耗費資源的。因此,架構測試對於確保您的大數據項目的成功至關重要。系統設計不當或設計不當可能導致性能下降,系統不能滿足要求。至少,性能和故障轉移測試服務應該在Hadoop環境中完成。

性能測試包括測試作業完成時間,內存使用率,數據吞吐量和類似的系統指標。而故障轉移測試服務的動機是為了驗證在數據節點發生故障的情況下數據處理是否無縫地發生

五、性能測試

大數據性能測試包括兩個主要的行動

數據采集​​和整個過程:在這個階段,測試人員驗證快速系統如何消耗來自各種數據源的數據。測試涉及識別隊列在給定時間框架內可以處理的不同消息。它還包括如何快速將數據插入到底層數據存儲中,例如插入到Mongo和Cassandra數據庫中。

  • 數據處理:它涉及驗證執行查詢或映射縮減作業的速度。它還包括在底層數據存儲填充到數據集中時獨立測試數據處理。例如,在底層HDFS上運行Map Reduce作業
  • 子組件性能:這些系統由多個組件組成,而且必須單獨測試每個組件。例如,消息的索引和消費速度有多快,mapreduce作業,查詢性能,搜索等

六、性能測試方法

大數據應用性能測試涉及大量結構化和非結構化數據的測試,並且需要特定的測試方法來測試這些海量數據。

 

性能測試按此順序執行

1、過程從設置要測試性能的大數據群集開始

2、確定和設計相應的工作量

3、准備個人客戶(自定義腳本創建)

4、執行測試並分析結果(如果不滿足目標,則調整組件並重新執行)

5、最佳配置

  • 性能測試的參數

性能測試需要驗證的各種參數

1、數據存儲:數據如何存儲在不同的節點中

2、提交日志:允許增長的提交日志有多大

3、並發性:有多少個線程可以執行寫入和讀取操作

4、緩存:調整緩存設置“行緩存”和“鍵緩存”。

5、超時:連接超時值,查詢超時值等

6、JVM參數:堆大小,GC收集算法等

7、地圖降低性能:排序,合並等

8、消息隊列:消息速率,大小等

測試環境需求

測試環境需求取決於您正在測試的應用程序的類型。對於大數據測試,測試環境應該包含

1、它應該有足夠的空間來存儲和處理大量的數據

2、它應該有分布式節點和數據的集群

3、它應該有最低的CPU和內存利用率,以保持高性能

七、大數據測試面臨的挑戰

自動化

大數據的自動化測試需要具有技術專長的人員。另外,自動化工具不具備處理測試過程中出現的意外問題的能力

虛擬化

這是測試的一個不可缺少的階段。虛擬機延遲會在實時大數據測試中造成計時問題。在大數據中管理圖像也是一件麻煩事。

大數據集

1、需要驗證更多的數據,並需要更快地完成

2、需要自動化測試工作

3、需要能夠跨不同的平台進行測試

八、性能測試挑戰

1、多種技術組合:每個子組件屬於不同的技術,需要單獨測試

2、不可用的特定工具:沒有一個工具可以執行端到端的測試。例如,NoSQL可能不適合消息隊列

3、測試腳本:需要高度的腳本來設計測試場景和測試用例

4、測試環境:數據量大,需要特殊的測試環境

5、監控解決方案:存在有限的解決方案,可以監控整個環境

6、診斷解決方案:需要定制解決方案來深入了解性能瓶頸區域

概要

1、隨着數據工程和數據分析技術的不斷進步,大數據測試是不可避免的。

2、大數據處理可以是批處理,實時或交互式處理

3、測試大數據應用程序的3個階段是

  • 數據分級驗證
  • “MapReduce”驗證
  • 輸出驗證階段

4、架構測試是大數據測試的重要階段,因為設計不佳的系統可能會導致前所未有的錯誤和性能下降

5、大數據的性能測試包括驗證

  • 數據吞吐量
  • 數據處理
  • 子組件性能

6、大數據測試與傳統數據測試在數據,基礎架構和驗證工具方面有很大的不同

7、大數據測試挑戰包括虛擬化,測試自動化和處理大型數據集。大數據應用程序的性能測試也是一個問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM