在將資料移動到生產資料倉庫系統之前完成ETL測試。它也稱為表平衡或產品協調。ETL測試與資料庫測試的範圍和測試期間遵循的步驟不同。ETL測試是為了確保轉換後從源載入到目標的資料是準確的。它涉及在源和目的地之間使用的各個階段的資料驗證。
與其他測試過程一樣,ETL測試也經歷了一些測試過程。
ETL測試分五個階段進行,如下:
ETL測試的型別是:
1. 新資料倉庫測試:它是從核心構建和驗證的。在此測試中,輸入取自客戶的要求和不同的資料源。但是,新的資料倉庫是在ETL工具的幫助下構建和驗證的。
以下是不同使用者群體的責任:
2. 生產驗證測試:當資料移動到生產系統時,對資料進行此測試。Informatica資料驗證選項提供ETL測試和管理功能的自動化,以確保資料不會危及生產系統。
3. 目標測試源(驗證):完成此類測試以驗證轉換了預期資料值的資料值。
4. 應用程式升級:自動生成此類ETL測試,從而節省測試開發時間。此類測試檢查從較舊的應用程式中提取的資料與新應用程式中的資料完全相同。
5. 後設資料測試:後設資料測試包括測量資料型別,資料長度和檢查索引/約束。
6. 資料準確性測試:完成此測試是為了確保資料按預期準確載入和轉換。
7. 資料轉換測試:在許多情況下完成資料轉換測試。通過編寫一個源SQL查詢並將輸出與目標進行比較無法實現。需要為每一行執行多個SQL查詢以驗證轉換規則。
8. 資料品質測試:資料品質測試包括語法和參考測試。為避免在業務流程期間由於日期或訂單號而導致的任何錯誤,資料品質已完成。語法測試:它將根據無效字元,字元模式,不正確的大寫或小寫順序等報告臟資料。參考測試:它將根據資料模型檢查資料。例如,客戶ID資料品質測試包括數位檢查,日期檢查,精確檢查,日期檢查等。
12. 更改請求:在這種情況下,資料已新增到現有資料倉庫。可能存在客戶需要更改當前業務規則的情況,或者他們可以整合新規則。
13. 報告測試:資料倉庫的最終結果,報告測試。應通過驗證報告中的資料和布局來測試。報告是建立重要業務決策的重要資源。
ETL測試涉及的任務是:
ETL和資料庫測試涉及資料驗證,但兩者都不相同。ETL測試通常對資料倉庫中的資料執行,而資料庫測試則在事務系統上執行。資料從不同的應用程式進入事務資料庫。
ETL測試涉及以下操作:
在資料庫測試中執行的操作
資料庫測試側重於資料準確性,資料的正確性和有效值。
資料庫測試執行以下操作:
例如,月份數列的值不應大於12。
ETL和資料庫測試的區別如下:
功能/專案 | ETL測試 | 資料庫測試 |
---|---|---|
首要目標 | 執行ETL測試以進行BI報告的資料提取,轉換和載入。 | 執行資料庫測試以驗證和整合資料。 |
業務需求 | ETL測試用於資訊,預測和分析報告。 | 資料庫測試用於整合來自多個應用程式和伺服器影響的資料。 |
適用系統 | ETL測試包含無法在業務流環境中使用的歷史資料。 | 資料庫測試包含業務流程所在的事務系統。 |
建模 | 使用多維方法。 | 使用ER方法 |
資料庫型別 | ETL測試適用於OLAP系統。 | 資料庫測試用於OLTP系統。 |
資料型別 | ETL使用具有較少連線,更多索引和聚合的反規範化資料。 | 資料庫使用帶連線的規範化資料。 |
常用工具 | 使用QuerySurge,Informatica等工具。 | QTP,Selenium工具用於資料庫測試。 |
ETL效能測試用於確保ETL系統是否可以處理多個使用者和事務的預期負載。效能測試涉及ETL系統上的伺服器端工作負載。
如何執行ETL測試效能?
以下是測試ETL測試效能的以下步驟:
第1步:找出生產中轉化的負荷。
第2步:將建立相同負載的新資料或將其從生產資料移動到本地伺服器。
第3步:禁用ETL,直到生成所需的程式碼。
第4步:從資料庫表中計算所需的資料。
第5步:記下ETL的最後一次執行並啟用ETL。它將獲得足夠的壓力來轉換已建立並執行它的整個負載。
第6步:完成ETL後,計算建立的資料。
應注意的基本表現:
在ETL測試中,我們專注於資料準確性,以確保資料是否按照我們的預期準確載入到目標系統。
以下是執行資料準確性應遵循的步驟:
值比較:在值比較中,將源系統和目標系統中的資料與最小或無轉換進行比較。可以使用各種ETL工具進行ETL測試。例如,Informatica中的源限定符轉換。
表示式轉換也可以在資料準確性測試中執行。可以在SQL語句中使用一組運算子來檢查源和目標系統中的資料準確性。
檢查關鍵資料列:可以通過比較源系統和目標系統中的不同值來檢查關鍵資料列。
SELECT cust_name, order_id, city, count(*) FROM customer GROUP BY cust_name, order_id, city;
執行資料轉換非常複雜,因為無法通過編寫單個SQL查詢並將輸出與目標進行比較來實現。要對資料轉換進行ETL測試,我們必須為每一行編寫多個SQL查詢以驗證轉換規則。
要為資料轉換執行成功的ETL測試,需要從源系統中選擇足夠的樣本資料以應用轉換規則。
執行ETL測試以進行資料轉換的重要步驟是:
第1步: 第一步是為輸入資料和預期結果建立方案。現在我們將與業務客戶驗證ETL測試。ETL測試是在設計期間收集需求的最佳方法,可用作測試的一部分。
第2步:第二步是根據場景建立測試資料。ETL開發人員將使用場景電子試算表自動化填充資料集的整個過程,以便在情況發生變化時提供多功能性和行動性。
第3步:利用資料分析,結果將比較源和目標資料之間每個欄位中的值的範圍和提交。
第4步:將驗證ETL生成欄位的準確處理。例如,代理鍵。
第5步:將驗證倉庫中與資料模型或設計中指定的資料型別相同的資料型別。
第6步:將在測試參照完整性的表之間建立資料的場景。
第7步:將驗證資料中的父對子關係。
第8步:最後,我們將執行查詢轉換。查詢查詢應該是直接的,沒有任何資料收集,並且預期根據源表只返回一個值。我們可以直接在源限定符中加入查詢表。如果不是這種情況,我們將編寫一個查詢,它將查詢表與源表中的主表連線,並將比較目標中相應列中的資料。
ETL測試的目的是確保業務轉換後從源到目標的載入資料是準確的。
ETL測試適用於資訊管理行業中的不同工具和資料庫。
在ETL測試效能期間,ETL測試程式始終使用的兩個文件是:
1. ETL對映表:ETL對映表包含源表和目標表的所有資訊,包括每個列及其在參照表中的查詢。ETL測試程式需要熟悉SQL查詢,因為ETL測試可能涉及編寫具有多個聯接的大查詢以在ETL的任何階段驗證資料。在編寫資料驗證查詢時,ETL對映表提供了重要幫助。
2. 源(目標)的DB模式:應該可以存取它以驗證對映表中的任何細節。
ETL測試場景 | 測試用例 |
---|---|
對映文件驗證 | 將驗證對映文件是否提供了ETL資訊,紀錄檔更改應保留在每個對映文件中。 |
驗證 | 1.將使用相應的對映文件驗證目標和源表結構。2.源表和目標表的資料型別應該相同。3.源和目標的資料型別的長度應該相同。4.我們將驗證資料欄位型別和指定的格式。4.源資料型別的長度不應小於目標資料型別的長度。 |
約束驗證 | 應根據使用者的期望為特定表定義約束。 |
資料一致性問題 | 1.資料型別和特定屬性的長度可以通過語意定義在檔案或表中變化。2.完整性約束的濫用。 |
完整性問題 | 1.在這裡,必須確保將所有預期的資料載入到目標表中。2.在源和目標之間比較記錄計數。3.將檢查被拒絕的記錄。4.不應在截斷表的列中截斷資料。5.檢查邊界值分析。6.將比較倉庫中載入的資料和源資料之間關鍵欄位的唯一值。 |
正確性問題 | 1.此方案用於更正拼寫錯誤或不準確記錄的資料。2.要更正資料,則為null,非唯一且超出範圍。 |
轉型/轉換 | 此方案用於檢查轉換。 |
資料品質 | 1.此方案用於檢查數位並驗證它。2.資料檢查:此方案將遵循日期格式,並且對於所有記錄應該相同。3.精確檢查。4.資料檢查。5. null檢查 |
Null 驗證 |
此方案將驗證null 值,其中為特定列指定not null 值。 |
重複檢查 | 1.檢查唯一鍵,主鍵和任何其他列的驗證,根據具有任何重複行的業務需求,該列應該是唯一的。2.檢查從多個列源中提取的任何列中是否存在任何重複值,並將它們組合成一列。3.根據用戶端要求,需要確保在僅具有目標的多個列的組合中沒有重複項。 |
日期驗證 | 1.使用開發中的許多區域來了解行建立日期。2.根據ETL開發視角識別現有記錄。3.有時在日期值上,會生成更新和插入。 |
資料清潔度 | 在載入到臨時區域之前,應刪除不必要的列。 |
ETL錯誤的型別 | 描述 |
---|---|
使用者介面錯誤 | 這些錯誤與應用程式的圖形化使用者介面有關,例如顏色,字型樣式,導航,拼寫檢查等。 |
輸入/輸出錯誤 | 在這種型別的錯誤中,應用程式開始使用無效值,並且拒絕有效值。 |
邊界值分析錯誤 | 這些錯誤檢查最小值和最大值。 |
計算錯誤 | 計算錯誤顯示數學錯誤,大多數時候最終輸出錯誤。 |
載入條件錯誤 | 這些型別的錯誤不允許多個使用者。它不允許使用者接受的資料。 |
競爭條件錯誤 | 在這種錯誤中,系統將無法正常執行。它開始崩潰或掛起。 |
等價類分割區錯誤 | 此類錯誤會導致無效或無效的型別。 |
版本控制錯誤 | 這些型別的錯誤通常出現在回歸測試中,並且不提供有關版本的任何資訊。 |
硬體錯誤 | 在這種型別的錯誤中,裝置不會按預期響應應用程式。 |
幫助源錯誤 | 這個錯誤將導致幫助文件中的錯誤。 |
ETL測試人員負責驗證資料源,應用轉換邏輯,並在目標表中載入資料,提取資料。
ETL測試人員的職責是:
驗證源系統中的表。它涉及以下型別的操作:
應用轉換邏輯。在載入資料之前應用轉換邏輯。它涉及以下操作:
資料載入。資料從暫存區域載入到目標系統。它涉及以下操作:
ETL測試人員也需要測試測試用例和工具。它涉及以下操作:
ETL測試的好處/優點如下:
ETL測試的缺點如下:
ETL測試人員也需要測試測試用例和工具。它涉及以下操作: