3、大數(shù)據(jù)測試

前言

在個人看來,大數(shù)據(jù)測試可以歸為一個測試體系。因為它不僅要驗證正常的業(yè)務(wù)功能,還要針對大數(shù)據(jù)所使用的工具/框架進行測試,這需要大數(shù)據(jù)測試人員掌握大數(shù)據(jù)技術(shù),比如說Hadoop生態(tài)圈的技術(shù):Hadoop生態(tài)圈技術(shù)棧

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

大數(shù)據(jù)是指那些數(shù)據(jù)量特別大、數(shù)據(jù)類別特別復(fù)雜的數(shù)據(jù)集,這種數(shù)據(jù)集不能用傳統(tǒng)的數(shù)據(jù)庫進行轉(zhuǎn)存、管理和處理。

大數(shù)據(jù)測試策略

1、基本功能測試

不管是什么樣的測試,首先要保證的就是基本功能的正確性。從黑盒層面來看,大數(shù)據(jù)測試可以看成三個步驟:


大數(shù)據(jù)黑盒視圖

1、原始數(shù)據(jù)->大數(shù)據(jù)處理
這里要測試的是原始數(shù)據(jù)的正確性,比如數(shù)據(jù)來源是埋點,那么就需要保證埋點上報的正確性,也就是對埋點進行測試。
測試文檔可以是埋點測試文檔
2、大數(shù)據(jù)處理
這里要測試的是大數(shù)據(jù)對原始數(shù)據(jù)處理的正確性,大數(shù)據(jù)對原始數(shù)據(jù)處理完后,會把處理后的數(shù)據(jù)保存在一個/多個數(shù)據(jù)倉庫中(比如es),這時候可以通過查詢數(shù)據(jù)倉庫的數(shù)據(jù)來進行。
測試文檔可以是詳細設(shè)計文檔
3、前端展示
前端展示的數(shù)據(jù),有兩個可能性:
a.展示的數(shù)據(jù)直接來源于大數(shù)據(jù)(比如clickhouse)
b.展示的數(shù)據(jù)是經(jīng)過后端處理的
所以這里的測試,是需要根據(jù)具體的業(yè)務(wù)和實際的技術(shù)方案來進行
測試文檔可以是需求文檔

2、大數(shù)據(jù)處理步驟的測試

步驟圖示

從上圖可以看出,大數(shù)據(jù)處理步驟大體上可以分成三個步驟:

  • 1、原始數(shù)據(jù)進入大數(shù)據(jù)步驟
    首先要確保原始數(shù)據(jù)在到達hdfs/kafka前的正確性
    1.確保原始數(shù)據(jù)正確進入系統(tǒng)中
    因為原始數(shù)據(jù)可能來源于埋點、關(guān)系型數(shù)據(jù)庫、日志系統(tǒng)、其它系統(tǒng)等地方,所以要首先保證原始數(shù)據(jù)能夠正確進入系統(tǒng),有可能在進入時候因為數(shù)據(jù)格式不匹配而報錯
    2.確保加載進來的數(shù)據(jù)和原始數(shù)據(jù)是一樣的
    當(dāng)原始數(shù)據(jù)進入系統(tǒng)后,需要看下加載進來的數(shù)據(jù)是否和原始數(shù)據(jù)一樣,或者說是否符合下一步所需的數(shù)據(jù)格式標(biāo)準(zhǔn)。
    3.確保數(shù)據(jù)正確提取和加載到hdfs/kafka

  • 2、數(shù)據(jù)在計算框架中的處理(ETL)
    當(dāng)文件存入HDFS之后就要通過MapReduce進行處理了。這個階段可能出現(xiàn)的問題包括但不限于編碼不對、節(jié)點配置錯誤、聚合不正確、輸出格式不對等問題。一般需要進行如下的測試:
    1.MapReduce進程正常工作
    2.數(shù)據(jù)處理完成,輸出文件正確
    3.驗證map時生成的key-value是否正確
    4.驗證reduce結(jié)束后聚合是否正確
    5.輸出格式是否符合要求

  • 3、處理后的數(shù)據(jù)輸出階段
    此階段主要是生成處理過的最終數(shù)據(jù)文件以及存放到數(shù)據(jù)倉庫。一般需要進行如下的測試:
    1.檢查轉(zhuǎn)換規(guī)則被正確應(yīng)用
    2.檢查數(shù)據(jù)加載到目標(biāo)系統(tǒng)中且完整
    3.通過將目標(biāo)數(shù)據(jù)與HDFS文件系統(tǒng)數(shù)據(jù)進行比較來檢查沒有數(shù)據(jù)損壞

這些過程中,可以通過Hive得到分析報告來做進一步的驗證。

hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供簡單的sql查詢功能,可以將sql語句轉(zhuǎn)換為MapReduce任務(wù)進行運行。 其優(yōu)點是學(xué)習(xí)成本低,可以通過類SQL語句快速實現(xiàn)簡單的MapReduce統(tǒng)計,不必開發(fā)專門的MapReduce應(yīng)用,十分適合數(shù)據(jù)倉庫的統(tǒng)計分析。

PS.上面2和3,摘自http://www.mamicode.com/info-detail-2156972.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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