大數(shù)據(jù)測(cè)試:功能和性能

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

什么是大數(shù)據(jù)?

大數(shù)據(jù)是不能使用傳統(tǒng)計(jì)算技術(shù)處理的大型數(shù)據(jù)集的集合。這些數(shù)據(jù)集的測(cè)試涉及各種工具,技術(shù)和框架來處理。大數(shù)據(jù)涉及數(shù)據(jù)創(chuàng)建,存儲(chǔ),檢索和分析,在數(shù)量,多樣性和速度方面都非常出色。您可以在這里了解有關(guān)大數(shù)據(jù),Hadoop和Mapreduce的更多信息

在本教程中,我們將學(xué)習(xí),

<h3 id="1">大數(shù)據(jù)測(cè)試策略</h3>

測(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)證TB級(jí)數(shù)據(jù)的成功過程。它需要高水平的測(cè)試技能,因?yàn)檫^程非???。過程可以是三種類型

060315_1205_BigDataTest1.png

與此同時(shí),數(shù)據(jù)質(zhì)量也是大數(shù)據(jù)測(cè)試的一個(gè)重要因素。在測(cè)試應(yīng)用程序之前,有必要檢查數(shù)據(jù)的質(zhì)量,并應(yīng)將其視為數(shù)據(jù)庫(kù)測(cè)試的一部分。它涉及檢查各種特征,如一致性,準(zhǔn)確性,重復(fù),一致性,有效性,數(shù)據(jù)完整性等。

<h3 id="2">驗(yàn)證大數(shù)據(jù)應(yīng)用程序的測(cè)試步驟</h3>

下圖給出了測(cè)試大數(shù)據(jù)應(yīng)用程序階段的高級(jí)概述

060315_1205_BigDataTest2.png

大數(shù)據(jù)測(cè)試大致可分為三個(gè)步驟

步驟1:數(shù)據(jù)分段驗(yàn)證

大數(shù)據(jù)測(cè)試的第一步,也稱為pre-Hadoop階段涉及過程驗(yàn)證。

  • 來自各種來源(如RDBMS,博客,社交媒體等)的數(shù)據(jù)應(yīng)進(jìn)行驗(yàn)證,以確保正確的數(shù)據(jù)被拉入系統(tǒng)
  • 將源數(shù)據(jù)與推送到Hadoop系統(tǒng)中的數(shù)據(jù)進(jìn)行比較,以確保它們匹配
  • 驗(yàn)證正確的數(shù)據(jù)被提取并加載到正確的HDFS位置

像工具Talend,Datameer,可用于數(shù)據(jù)分段的驗(yàn)證

步驟2:“MapReduce”驗(yàn)證

第二步是驗(yàn)證“MapReduce”。在這個(gè)階段,測(cè)試人員驗(yàn)證每個(gè)節(jié)點(diǎn)上的業(yè)務(wù)邏輯驗(yàn)證,然后在多個(gè)節(jié)點(diǎn)運(yùn)行后驗(yàn)證它們,確保

  • Map Reduce進(jìn)程正常工作
  • 在數(shù)據(jù)上實(shí)現(xiàn)數(shù)據(jù)聚合或隔離規(guī)則
  • 生成鍵值對(duì)
  • 在Map Reduce進(jìn)程后驗(yàn)證數(shù)據(jù)

步驟3:輸出驗(yàn)證階段

大數(shù)據(jù)測(cè)試的最終或第三階段是輸出驗(yàn)證過程。生成輸出數(shù)據(jù)文件,并準(zhǔn)備根據(jù)需要將其移至EDW(企業(yè)數(shù)據(jù)倉(cāng)庫(kù))或任何其他系統(tǒng)。

第三階段活動(dòng)包括

  • 檢查轉(zhuǎn)換規(guī)則是否正確應(yīng)用
  • 檢查數(shù)據(jù)完整性和成功的數(shù)據(jù)加載到目標(biāo)系統(tǒng)中
  • 通過將目標(biāo)數(shù)據(jù)與HDFS文件系統(tǒng)數(shù)據(jù)進(jìn)行比較來檢查沒有數(shù)據(jù)損壞

<h3 id="3">架構(gòu)測(cè)試</h3>
Hadoop處理非常大量的數(shù)據(jù),并且資源密集。因此,架構(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ù)處理在數(shù)據(jù)節(jié)點(diǎn)故障的情況下無縫地發(fā)生

<h3 id="4">性能測(cè)試</h3>

大數(shù)據(jù)的性能測(cè)試包括兩個(gè)主要方面:

  • 數(shù)據(jù)獲取和吞吐量:在這個(gè)階段,測(cè)試人員驗(yàn)證快速系統(tǒng)如何使用來自各種數(shù)據(jù)源的數(shù)據(jù)。測(cè)試涉及識(shí)別隊(duì)列在給定時(shí)間幀中可以處理的不同消息。它還包括如何快速地將數(shù)據(jù)插入到底層數(shù)據(jù)存儲(chǔ)中,例如插入到Mongo和Cassandra數(shù)據(jù)庫(kù)中。
  • 數(shù)據(jù)處理:它涉及驗(yàn)證執(zhí)行查詢或map reduce作業(yè)的速度。它還包括底層數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)集中填充時(shí)隔離測(cè)試數(shù)據(jù)的過程。例如,在底層HDFS上運(yùn)行Map Reduce作業(yè)
  • 子組件性能:這些系統(tǒng)由多個(gè)組件組成,必須單獨(dú)測(cè)試這些組件。例如,消息被索引和使用的速度,mapreduce作業(yè),查詢性能,搜索等。

性能測(cè)試方法

大數(shù)據(jù)應(yīng)用程序的性能測(cè)試涉及大量結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)的測(cè)試,它需要一種特定的測(cè)試方法來測(cè)試這樣的大量數(shù)據(jù)。

060315_1205_BigDataTest3.png

性能測(cè)試按此順序執(zhí)行

  1. 對(duì)要性能測(cè)試的大數(shù)據(jù)集群的進(jìn)行設(shè)置
  2. 識(shí)別和設(shè)計(jì)相應(yīng)的工作負(fù)載
  3. 準(zhǔn)備單個(gè)客戶端(創(chuàng)建自定義腳本)
  4. 執(zhí)行測(cè)試并分析結(jié)果(如果不滿足目標(biāo),則調(diào)整組件并重新執(zhí)行)
  5. 最佳配置

性能測(cè)試的參數(shù)

要驗(yàn)證性能測(cè)試的各種參數(shù)是

  • 數(shù)據(jù)存儲(chǔ):數(shù)據(jù)如何存儲(chǔ)在不同的節(jié)點(diǎn)中
  • 提交日志:提交日志允許增長(zhǎng)的大小
  • 并發(fā)性:有多少線程可以執(zhí)行寫和讀操作
  • 緩存:調(diào)整緩存設(shè)置“行緩存”和“密鑰緩存”。
  • 超時(shí):連接超時(shí),查詢超時(shí)等的值。
  • JVM參數(shù):堆大小,GC收集算法等。
  • 降低性能:排序,合并等
  • 消息隊(duì)列:消息速率,大小等

<h3 id="5">測(cè)試環(huán)境需求</h3>

測(cè)試環(huán)境需求取決于要測(cè)試的應(yīng)用程序的類型。對(duì)于大數(shù)據(jù)測(cè)試,測(cè)試環(huán)境應(yīng)包括

  • 它應(yīng)該有足夠的空間用于存儲(chǔ)和處理大量的數(shù)據(jù)
  • 它應(yīng)該具有分布式節(jié)點(diǎn)和數(shù)據(jù)的集群
  • 它應(yīng)該具有最小的CPU和內(nèi)存利用率,以保持高性能

<h3 id="6">大數(shù)據(jù)測(cè)試 傳統(tǒng)數(shù)據(jù)庫(kù)測(cè)試</h3>

屬性 傳統(tǒng)數(shù)據(jù)庫(kù)測(cè)試 大數(shù)據(jù)測(cè)試
數(shù)據(jù) 使用結(jié)構(gòu)化數(shù)據(jù) 同時(shí)處理結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)
測(cè)試方法定義明確和time-tested 測(cè)試方法需要集中的研發(fā)工作
測(cè)試人員可以選擇“自動(dòng)化工具”手動(dòng)執(zhí)行“抽樣”策略或“完全驗(yàn)證”策略 大數(shù)據(jù)中的“抽樣”策略是一個(gè)挑戰(zhàn)
基礎(chǔ)設(shè)施 它不需要特殊的測(cè)試環(huán)境,因?yàn)槲募笮∮邢?/td> 它需要特殊的測(cè)試環(huán)境,因?yàn)榇蟮臄?shù)據(jù)大小和文件(HDFS)
驗(yàn)證工具 測(cè)試程序使用基于Excel的宏或基于UI的自動(dòng)化工具 沒有定義的工具,范圍從廣泛從編程工具,如MapReduce到HIVEQL
測(cè)試工具可以使用基本的操作知識(shí)和較少的培訓(xùn) 它需要一組特定的技能和培訓(xùn)來操作測(cè)試工具。此外,工具處于新生階段,加班也許會(huì)帶來新的功能。

<h3 id="7">大數(shù)據(jù)場(chǎng)景中使用的工具</h3>

大數(shù)據(jù)集群 大數(shù)據(jù)工具
NoSQL CouchDB,MongoDB,Cassandra,Redis,ZooKeeper,Hbase
MapReduce Hadoop,Hive,Pig,Cascading,Oozie,Kafka,S4,MapR,F(xiàn)lume
存儲(chǔ) S3,HDFS(Hadoop分布式文件系統(tǒng))
服務(wù)器 Elastic,Heroku,Google App Engine,EC2
處理 R,Yahoo!Pipes,Mechanical Turk,BigSheets,Datameer

<h3 id="8">大數(shù)據(jù)測(cè)試中的挑戰(zhàn)</h3>

  • 自動(dòng)化
    大數(shù)據(jù)的自動(dòng)化測(cè)試需要有技術(shù)專長(zhǎng)的人員。此外,自動(dòng)化工具不能處理測(cè)試期間出現(xiàn)的意外問題

  • 虛擬化
    它是測(cè)試的必需階段之一。虛擬機(jī)延遲會(huì)在實(shí)時(shí)大數(shù)據(jù)測(cè)試中產(chǎn)生時(shí)序問題。還有在大數(shù)據(jù)中管理圖像是一個(gè)麻煩。

  • 大數(shù)據(jù)集

    • 需要驗(yàn)證更多的數(shù)據(jù),需要做的更快
    • 需要自動(dòng)化測(cè)試工作
    • 需要能夠跨不同平臺(tái)進(jìn)行測(cè)試

性能測(cè)試的挑戰(zhàn)

  • 多樣化的技術(shù):每個(gè)子組件屬于不同的技術(shù),需要獨(dú)立測(cè)試
  • 特定工具的不可用性:沒有單個(gè)工具可以執(zhí)行端到端測(cè)試。例如,NoSQL可能不適合消息隊(duì)列
  • 測(cè)試腳本:需要高度的腳本來設(shè)計(jì)測(cè)試場(chǎng)景和測(cè)試用例
  • 測(cè)試環(huán)境:由于數(shù)據(jù)量大,需要特殊的測(cè)試環(huán)境
  • 監(jiān)控解決方案:可監(jiān)控整個(gè)環(huán)境的解決方案有限
  • 診斷解決方案:需要開發(fā)定制解決方案下鉆到性能瓶頸區(qū)域

概要

  • 隨著數(shù)據(jù)工程和數(shù)據(jù)分析的進(jìn)一步發(fā)展,大數(shù)據(jù)測(cè)試是不可避免的。
  • 大數(shù)據(jù)處理可以是批處理,實(shí)時(shí)或交互
  • 測(cè)試大數(shù)據(jù)應(yīng)用的3個(gè)階段
    • 數(shù)據(jù)分段驗(yàn)證
    • “MapReduce”驗(yàn)證
    • 輸出驗(yàn)證階段
  • 架構(gòu)測(cè)試是大數(shù)據(jù)測(cè)試的重要階段,因?yàn)樵O(shè)計(jì)不良可能會(huì)導(dǎo)致前所未有的錯(cuò)誤和性能下降
  • 大數(shù)據(jù)的性能測(cè)試包括驗(yàn)證
    • 數(shù)據(jù)吞吐量
    • 數(shù)據(jù)處理
    • 子組件性能
  • 大數(shù)據(jù)測(cè)試與傳統(tǒng)數(shù)據(jù)測(cè)試在數(shù)據(jù),基礎(chǔ)設(shè)施和驗(yàn)證工具方面非常不同
  • 大數(shù)據(jù)測(cè)試的挑戰(zhàn)包括虛擬化,測(cè)試自動(dòng)化和處理大型數(shù)據(jù)集。大數(shù)據(jù)應(yīng)用程序的性能測(cè)試也是一個(gè)問題。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容