ETL測試過程與其餘測試過程相似,包括一些階段。php
ETL測試的類型html
我還想將ETL測試與數據庫測試進行比較,但在此以前讓咱們看一下有關數據庫測試的ETL測試類型。python
下面給出了與數據庫測試有關的ETL測試類型:git
約束測試:NULL、惟1、主鍵、外鍵、校驗、空值、默認github
重複檢查測試:源表和目標表包含大量具備頻繁重複值的數據,在這種狀況下,測試人員會按照一些數據庫查詢來查找此類重複。數據庫
導航測試:導航涉及應用程序的GUI。 當用戶在整個系統中得到簡單且相關的導航時,用戶會發現應用程序友好。 測試人員必須專一於從用戶的角度避免不相關的導航。apache
初始化測試:執行初始化測試以檢查硬件和軟件要求以及安裝的平臺的組合編程
屬性檢查測試:
執行此測試以驗證源系統和目標系統的全部屬性是否相同後端
從上面的列表中能夠看出,ETL測試與數據庫測試很是類似,但事實是ETL測試涉及數據倉庫測試而不是數據庫測試。api
ETL測試與數據庫測試不一樣,還有其餘一些事實。
讓咱們快速看看它們是什麼:
ETL錯誤列表的表:
bug的類型 | 描述 |
---|---|
計算錯誤 | 因爲數學錯誤,最終輸出錯誤 |
輸入/輸出錯誤 | 接受無效值、拒絕有效值 |
H/W錯誤 | 因爲硬件問題,設備無響應 |
用戶界面錯誤 | 與應用程序的GUI相關 |
加載條件錯誤 | 拒絕多個用戶 |
ETL測試的主要目標是確保提取和轉換的數據是否從源到目標系統準確加載。 ETL測試包括兩個文檔,它們是:
1)ETL映射表:該文檔包含有關源表和目標表及其引用的信息。 映射表提供了在執行ETL測試時建立大SQL查詢的幫助。
2)源和目標表的數據庫模式:應該在具備數據庫模式的映射表中保持更新,以執行數據驗證。
與自動化測試同樣,ETL測試也能夠自動化。 自動ETL測試可減小測試過程當中的時間消耗,並有助於保持準確性。
Informatica Data Validation是一個基於GUI的ETL測試工具,用於提取,[轉換和加載(ETL)。 測試包括數據遷移以前和以後的表的比較。 此類測試可確保數據完整性,即正確加載數據量並以預期格式進入目標系統。
主要特色:
訪問官方網站 :Informatica Data Validation
主要特色 :
訪問官方網站 :QuerySurge
iCEDQ是一個自動化的ETL測試工具,專門針對數據中心項目(如數據倉庫,數據遷移等)所面臨的問題而設計.iCEDQ在源系統和目標系統之間執行驗證,驗證和協調。 它確保遷移後數據是否完整,並避免將錯誤數據加載到目標系統中。
主要特色 :
ETL Validator工具專爲ETL測試和大數據測試而設計。 它是數據集成項目的解決方案。 此類數據集成項目的測試包括各類數據類型,大量數據和各類源平臺。 ETL Validator經過自動化幫助克服這些挑戰,進一步有助於下降成本並最大限度地減小工做量。
QualiDi是一個自動化測試平臺,提供端到端測試和ETL測試。 它能夠自動化ETL測試並提升ETL測試的有效性。 它還能夠減小靜止週期並提升數據質量。 QualiDI很是容易識別不良數據和不合規數據。 QualiDI減小了迴歸週期和數據驗證。
主要特色 :
訪問官方網站: QualiDi
Talend Open Studio for Data Integration是一個開源工具,能夠簡化ETL測試。 它包括全部ETL測試功能和其餘持續交付機制。 在Talend Data Integration工具的幫助下,用戶可使用各類操做系統在遠程服務器上運行ETL做業。
ETL測試確保數據從源系統轉換到目標而不會丟失任何數據,從而遵照轉換規則。
主要特色 :
訪問官方網站:Talend ETL Testing
Codoid的ETL和數據倉庫測試服務包括從源到目標系統的數據遷移和數據驗證。 ETL測試確保在將數據從源加載到目標系統時沒有數據錯誤,沒有錯誤數據或數據丟失。 它能夠快速識別ETL過程當中發生的任何數據錯誤或任何其餘常見錯誤。
主要特色 :
可確保數據倉庫中的數據質量以及從源系統到目標系統的數據完整性驗證。
ETL測試和數據驗證確保從源系統轉換到目標系統的業務信息準確可靠。
自動化測試過程在數據遷移期間和以後執行數據驗證,並防止任何數據損壞。
數據驗證包括目標數據和實際數據之間的計數,聚合和抽查。
自動化測試過程驗證數據類型,數據長度,索引是否準確轉換並加載到目標系統中。
數據質量測試可防止數據錯誤,錯誤數據或任何語法問題。
訪問官方網站:Codoid’s ETL Testing
數據中心測試工具執行強大的數據驗證,以免數據轉換期間的數據丟失或數據不一致等任何故障。 它比較系統之間的數據,並確保加載到目標系統的數據在數據量,數據類型,格式等方面與源系統徹底匹配。
主要特色 :
訪問官方網站:Data-Centric Testing
SSISTester是一個框架,有助於SSIS包的單元和集成測試。 它還有助於在測試驅動的環境中建立ETL過程,從而有助於識別開發過程當中的錯誤。 在實現ETL過程時會建立許多包,這些包須要在單元測試期間進行測試。 集成測試也是「實時測試」。
主要特色 :
訪問官方網站: SSISTester
TestBench是一個數據庫管理和驗證工具。 它是一個獨特的解決方案,可解決與數據庫相關的全部問題。 用戶管理的數據回滾可提升測試效率和準確性。 它還有助於減小環境停機時間。 TestBench報告在測試環境中執行的全部插入,更新和刪除的事務,並捕獲事務以前和以後的數據狀態。
主要特色 :
訪問官方網站: TestBench
QAceGen專門用於生成複雜的測試數據,自動化ETL迴歸套件以及驗證應用程序的業務邏輯。 QAceGen根據ETL規範中定義的業務規則生成測試數據。 它建立了包含數據生成和數據驗證語句的每一個場景。
訪問官方網站: QAceGen
Zuzena是一種爲數據倉庫測試而開發的自動化測試服務。 它用於執行大型項目,如數據倉庫,商業智能,它管理數據並執行集成和迴歸測試套件。 它自動管理ETL執行和結果評估。 它具備普遍的指標,可監控QA目標和團隊績效。
訪問官方網站:uzena Automated Testing
DbFit是一個開源測試工具,在GPL許可下發布。 它爲任何數據庫代碼編寫單元和集成測試。 這些測試易於維護,能夠直接從瀏覽器執行。 這些測試使用表編寫,並使用命令行或Java IDE執行。 它支持主要數據庫,如Oracle,MySQL,DB2,SQL Server,PostgreSQL等。
訪問官方網站: DbFit
AnyDbTest是專爲DBA或數據庫開發人員設計的自動化單元測試工具。 AnyDbTest使用XML編寫測試用例,並容許使用excel電子表格做爲測試用例的來源。 支持標準斷言,如SetEqual,StrictEqual,IsSupersetOf,RecordCountEqual,Overlaps等。它支持各類類型的數據庫,如MySQL,Oracle,SQL Server等。測試能夠包括多個數據庫,即源數據庫能夠是Oracle服務器和目標須要加載數據的數據庫能夠是SQL Server。
訪問官方網站: AnyDbTest
99 Percentage ETL Testing'確保任何數據庫系統的數據完整性和生產協調。 它維護ETL映射表並驗證行和列的源和目標數據庫映射。 它還維護源數據庫和目標數據庫的DB Schema。 它支持生產驗證測試,數據完整性和數據轉換測試。
訪問官方網站: 99 Percentage ETL Testing
ETL測試不只是測試人員的職責,還涉及開發人員,業務分析師,數據庫管理員(DBA)甚至用戶。 ETL測試過程變得相當重要,由於它須要按期制定戰略決策。 ETL測試被視爲企業測試,由於它須要熟悉SDLC,SQL查詢,ETL過程等。