大數(shù)據(jù)測(cè)試之“什么是ETL”?

譯自:https://www.guru99.com/utlimate-guide-etl-datawarehouse-testing.html

一、什么是ETL

ETL代表Extract-Transform-Load,它是如何將數(shù)據(jù)從源系統(tǒng)加載到數(shù)據(jù)倉(cāng)庫(kù)的過(guò)程。從OLTP數(shù)據(jù)庫(kù)中提取數(shù)據(jù),進(jìn)行轉(zhuǎn)換以匹配數(shù)據(jù)倉(cāng)庫(kù)架構(gòu),然后將其加載到數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)庫(kù)中。許多數(shù)據(jù)倉(cāng)庫(kù)還合并了來(lái)自非OLTP系統(tǒng)的數(shù)據(jù),例如文本文件,舊系統(tǒng)和電子表格。

讓我們舉例看看ETL過(guò)程是如何工作的:

例如,一家零售商店有不同的部門(mén),例如銷售,市場(chǎng),物流等。它們各自獨(dú)立地處理客戶信息,并且存儲(chǔ)數(shù)據(jù)的方式也大不相同。銷售部門(mén)按客戶名稱存儲(chǔ),而營(yíng)銷部門(mén)按客戶ID存儲(chǔ)。

現(xiàn)在,如果他們想查看客戶的歷史記錄,并想知道他/她由于不同的營(yíng)銷活動(dòng)而購(gòu)買(mǎi)了哪些不同的產(chǎn)品,這個(gè)過(guò)程將很冗長(zhǎng)復(fù)雜。

解決方案是使用數(shù)據(jù)倉(cāng)庫(kù)使用ETL以統(tǒng)一的結(jié)構(gòu)存儲(chǔ)來(lái)自不同來(lái)源的信息。ETL可以將不同的數(shù)據(jù)集轉(zhuǎn)換為統(tǒng)一的結(jié)構(gòu)。后來(lái)使用BI(商業(yè)智能)工具可以從這些數(shù)據(jù)中獲取有意義的見(jiàn)解和報(bào)告。

下圖為您提供了ETL測(cè)試流程的ROAD MAP和各種ETL測(cè)試概念:

ETL測(cè)試流程

1.提取-E

提取相關(guān)數(shù)據(jù)。

2.轉(zhuǎn)換-T

將數(shù)據(jù)轉(zhuǎn)換為DW(數(shù)據(jù)倉(cāng)庫(kù))格式,構(gòu)建密鑰-密鑰是唯一標(biāo)識(shí)一個(gè)實(shí)體的一個(gè)或多個(gè)數(shù)據(jù)屬性。各個(gè)類型的密鑰是主鍵,交替鍵,外鍵,復(fù)合鍵,代理鍵。數(shù)據(jù)倉(cāng)庫(kù)擁有這些密鑰,并且永遠(yuǎn)不允許任何其他實(shí)體分配它們。數(shù)據(jù)清理:提取數(shù)據(jù)后,它將進(jìn)入下一階段,即清理和整理數(shù)據(jù)。清除會(huì)遺漏數(shù)據(jù),并識(shí)別并修復(fù)錯(cuò)誤。一致性意味著解決那些不兼容的數(shù)據(jù)之間的沖突,以便可以在企業(yè)數(shù)據(jù)倉(cāng)庫(kù)中使用它們。除這些以外,此系統(tǒng)還會(huì)創(chuàng)建用于診斷源系統(tǒng)問(wèn)題并改善數(shù)據(jù)質(zhì)量的元數(shù)據(jù)。

3.加載-L

將數(shù)據(jù)加載到DW(數(shù)據(jù)倉(cāng)庫(kù))中,構(gòu)建聚合-創(chuàng)建聚合是匯總和存儲(chǔ)事實(shí)表中可用的數(shù)據(jù),以提高最終用戶查詢的性能。

二、什么是ETL測(cè)試

進(jìn)行ETL測(cè)試以確保業(yè)務(wù)轉(zhuǎn)換后從源加載到目的地的數(shù)據(jù)是準(zhǔn)確的。它還涉及驗(yàn)證源和目標(biāo)之間使用的各個(gè)中間階段的數(shù)據(jù)。

三、ETL測(cè)試流程

與其他測(cè)試過(guò)程類似,ETL也經(jīng)歷不同的階段。ETL測(cè)試過(guò)程的不同階段如下:

ETL測(cè)試階段

ETL測(cè)試分為五個(gè)階段:識(shí)別數(shù)據(jù)源和需求,數(shù)據(jù)采集,實(shí)施業(yè)務(wù)邏輯和維度建模,建立并填充數(shù)據(jù),建立報(bào)告。

ETL數(shù)據(jù)處理過(guò)程和測(cè)試過(guò)程

四、ETL測(cè)試類型

五、創(chuàng)建ETL測(cè)試用例

ETL測(cè)試是一種概念,可以應(yīng)用于信息管理行業(yè)中的不同工具和數(shù)據(jù)庫(kù)。 ETL測(cè)試的目的是確保業(yè)務(wù)轉(zhuǎn)換后從源加載到目標(biāo)的數(shù)據(jù)是準(zhǔn)確的。 它還涉及驗(yàn)證源和目標(biāo)之間使用的各個(gè)中間階段的數(shù)據(jù)。在執(zhí)行ETL測(cè)試時(shí),ETL測(cè)試人員將始終使用的兩個(gè)文檔:

1、ETL映射表: ETL映射表包含源表和目標(biāo)表的所有信息,包括每一列以及它們?cè)趨⒖急碇械牟檎摇TL測(cè)試人員需要熟悉SQL查詢,因?yàn)镋TL測(cè)試可能涉及編寫(xiě)具有多個(gè)聯(lián)接的大型查詢以在ETL的任何階段驗(yàn)證數(shù)據(jù)。ETL映射表在編寫(xiě)查詢以進(jìn)行數(shù)據(jù)驗(yàn)證時(shí)提供了重要的幫助。

2、源,目標(biāo)的數(shù)據(jù)庫(kù)模式:應(yīng)便于檢查映射表中的任何細(xì)節(jié)。

六、ETL測(cè)試場(chǎng)景和測(cè)試用例

七、ETL的測(cè)試bug類型

ETL的bug類型

ETL錯(cuò)誤類型

八、數(shù)據(jù)庫(kù)測(cè)試和ETL測(cè)試之間的區(qū)別

ETL測(cè)試和數(shù)據(jù)庫(kù)測(cè)試區(qū)別

九、 ETL中的性能測(cè)試

ETL中的性能測(cè)試是一種測(cè)試技術(shù),可確保ETL系統(tǒng)可以處理多個(gè)用戶和事務(wù)的負(fù)載。ETL性能測(cè)試的主要目標(biāo)是通過(guò)識(shí)別和消除性能瓶頸來(lái)優(yōu)化和提高會(huì)話性能。源數(shù)據(jù)庫(kù)和目標(biāo)數(shù)據(jù)庫(kù),映射,會(huì)話和系統(tǒng)可能存在性能瓶頸。用于性能測(cè)試/調(diào)整的最佳工具之一是Informatica。

十、 ETL測(cè)試自動(dòng)化

ETL測(cè)試的一般方法是使用SQL腳本或?qū)?shù)據(jù)進(jìn)行“目測(cè)”。這些ETL測(cè)試方法耗時(shí),容易出錯(cuò)并且很少提供完整的測(cè)試范圍。為了在生產(chǎn)和開(kāi)發(fā)環(huán)境中加速,提高覆蓋范圍,降低成本,提高ETL測(cè)試的缺陷檢測(cè)率,自動(dòng)化是當(dāng)務(wù)之急。一種這樣的工具是Informatica。

十一、 ETL測(cè)試的最佳做法

  1. 確保數(shù)據(jù)正確轉(zhuǎn)換
  2. 在沒(méi)有任何數(shù)據(jù)丟失和截?cái)嗟那闆r下,應(yīng)將預(yù)計(jì)的數(shù)據(jù)加載到數(shù)據(jù)倉(cāng)庫(kù)中
  3. 確保ETL應(yīng)用程序適當(dāng)拒絕并替換為默認(rèn)值并報(bào)告無(wú)效數(shù)據(jù)
  4. 需要確保在規(guī)定和預(yù)期的時(shí)間范圍內(nèi)將數(shù)據(jù)加載到數(shù)據(jù)倉(cāng)庫(kù)中,以確認(rèn)可伸縮性和性能
  5. 無(wú)論可見(jiàn)度如何,所有方法均應(yīng)具有適當(dāng)?shù)膯卧獪y(cè)試
  6. 為了衡量其有效性,所有單元測(cè)試應(yīng)使用適當(dāng)?shù)母采w技術(shù)
  7. 為每個(gè)測(cè)試用例爭(zhēng)取一個(gè)斷言
  8. 創(chuàng)建針對(duì)異常的單元測(cè)試
最后編輯于
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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