轉載自: http://www.51testing.com/html/87/n-3722487.html
概述
商業信息和數據對於任何一個企業而言都是至關重要的。現在很多公司都投入了大量的人力、資金和時間對這些信息、數據進行分析和整理。
目前,有需要開源的ETL工具,供應商允許用戶直接從他們的官方網站免費下載,但有可能升級到新版或企業版需要訂閱付費。
所以我們需要根據企業的不同業務結構和模型,在選擇ETL工具之前,對其進行分析。在這些開源的ETL工具的幫助下,我們將有機會嘗試在不付需要投入巨額資金的情況下對我們的數據進行分析和整理。
而當前幾乎所有的巨頭軟件供應商都推出了自己的BI或ETL工具。
一些常用的ETL工具
· Talend Open Stduio
· Clover ETL
· Elixir
· Pentaho
· Informatica
· IBM - Cognos Data Manager
· Oracle - Data Integrator
· SAS - Data Integration Studio
· AB Inito, SAP - BUsiness Objects Data Integrator
一旦選擇了ETL工具,下一階段就是對該工具進行測試調研,以進一步了解該工具的特性。
這類工具有助於處理海量的數據和歷史數據,同時必須能執行ETL測試,以確保數據的准確性,因此ETL測試是非常的重要的。
ETL有效的兩種測試類型
· 應用測試
· 數據測試
ETL測試過程
雖然現在有很多的ETL工具用於數據處理,但對於實際業務而言,ETL測試是同樣的重要。
一個良好的ETL測試策略定義可以使得測試過程變得更容易,因此在選擇ETL工具前應該遵循這個基本的測試過程。
ETL測試過程:
· 分析需求:理解業務結構極其特殊要求
· 驗證和測試評估:對進行過程所需的時間和專業知識進行評估
· 測試計划和設計測試環境:基於輸入進行估算,計划並制定ETL環境
· 測試數據的准備和執行:根據實際要求准備和執行測試數據
· 報告:出具實際的報告
其他信息請參見《ETL測試或數據倉庫測試入門》
常見面試題
未來隨着大數據和人工智能的進一步發展,ETL測試在國內的需要必然會從0到有的突破,下面我們就未來國內求職ETL測試崗位可能碰到的面試題進行說明。
問:什么是ETL?
答:ETL是Extracting-Transfroming-Loading的縮寫,指從任何外部系統提取、轉換、載入數據到目標地。這是數據集成過程的三大基本步驟。 Extracting:從源數據中提取目標數據集 Transfroming:將目標數據集進行業務邏輯轉換 Loading:以合適的格式將經過業務邏輯轉換的數據集載入到目標地
問:為什么ETL測試是必須的?
答:
· 為了對從源到目的轉換過程中的數據進行檢查
· 跟蹤整個ETL過程的效率和速度
· 熟悉ETL過程,才能更好的服務於我們的企業實踐
問:ETL測試工程師的主要職責是什么?
答:
· 深入理解ETL工具和過程
· 為ETL測試各階段設計測試場景
· 針對各階段的測試場景實施不同類型的測試
· 對數據質量進行檢查
問:在ETL過程中,維度指什么?
答:維度指匯總數據時進行的排序的組或類別
問:在ETL過程中,什么是Staging Area?
答:Staging Area至在ETL過程中臨時存儲的地方,在這里,我們通常會進行數據清理和重復檢查等處理
問:請解釋下ETL Mapping Sheets(ETL映射表)
答:ETL映射表包含了從源中提取的行和列的所有的信息。該表能幫助我們更好的完成整個ETL過程和ETL測試。
問:請列舉幾個ETL測試常見的用例並解釋說明
答:
· ETL映射表驗證:驗證映射表中的各項信息是否正確
· 數據檢查:驗證數據的准確性、數值、null檢查等等
· 正確性問題: 驗證數據的拼寫是否有錯、數據是否有錯和是否存在空數據等問題
問:請列舉你所知道的ETL bug類型
答:計算錯誤、用戶界面bug、源數據錯誤、邊界錯誤等
