<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # ETL 測試或數據倉庫測試教程 > 原文: [https://www.guru99.com/utlimate-guide-etl-datawarehouse-testing.html](https://www.guru99.com/utlimate-guide-etl-datawarehouse-testing.html) 在我們了解有關 ETL 測試的任何知識之前,了解 ETL 測試對了解商業智能和數據軟件很重要。 讓我們開始吧 - ## 什么是 BI? 商業智能是收集原始數據或業務數據并將其轉變為有用且更有意義的信息的過程。 原始數據是組織日常交易的記錄,例如與客戶的交互,財務管理和員工管理等。 這些數據將用于“報告,分析,數據挖掘,數據質量和解釋,預測分析”。 ## 什么是數據倉庫? 數據倉庫是設計用于查詢和分析而不是用于事務處理的數據庫。 數據倉庫是通過集成來自多個異構源的數據而構建的,它使公司或組織可以合并來自多個源的數據并將分析工作負載與事務工作負載分開。 數據被轉換成高質量的信息,以滿足所有級別用戶的所有企業報告要求。 ![ETL Testing or Datawarehouse Testing : Ultimate Guide](https://img.kancloud.cn/a5/9f/a59fc0127b49df67d600fd12b42b9aa4_800x332.png "ETL Testing or Datawarehouse Testing : Ultimate Guide") ## 什么是 ETL? ETL 代表 Extract-Transform-Load,它是如何將數據從源系統加載到數據倉庫的過程。 從 OLTP 數據庫中提取數據,進行轉換以匹配數據倉庫架構,然后將其加載到數據倉庫數據庫中。 許多數據倉庫還合并了來自非 OLTP 系統的數據,例如文本文件,舊系統和電子表格。 讓我們看看它是如何工作的 例如,有一間零售商店,其銷售,市場,物流等部門各不相同。每個部門都獨立處理客戶信息,并且存儲數據的方式也大不相同。 銷售部門按客戶名稱存儲,而營銷部門按客戶 ID 存儲。 現在,如果他們想查看客戶的歷史記錄,并想知道他/她由于不同的營銷活動而購買了哪些不同的產品; 這將非常乏味。 解決方案是使用數據倉庫使用 ETL 以統一的結構存儲來自不同來源的信息。 ETL 可以將不同的數據集轉換為統一的結構。后來使用 BI 工具從這些數據中獲取有意義的見解和報告。 下圖為您提供了 ETL 流程的 ROAD MAP ![ETL Testing or Datawarehouse Testing : Ultimate Guide](https://img.kancloud.cn/15/a6/15a677ab93c2d397097ea0fb18384f4f_1010x428.png "ETL Testing or Datawarehouse Testing : Ultimate Guide") 1. **提取** * 提取相關數據 2. **轉換** * 將數據轉換為 DW(數據倉庫)格式 * 構建密鑰-密鑰是一個或多個唯一標識實體的數據屬性。 各種類型的鍵是主鍵,備用鍵,外鍵,復合鍵,替代鍵。 數據倉庫擁有這些密鑰,并且永遠不允許任何其他實體分配它們。 * 數據清理:提取數據后,它將進入下一階段,即清理和整理數據。 清除會遺漏數據,并識別并修復錯誤。 一致性意味著解決那些不兼容的數據之間的沖突,以便可以在企業數據倉庫中使用它們。 除了這些之外,該系統還會創建用于診斷源系統問題并改善數據質量的元數據。 3. **加載** * 將數據加載到 DW(數據倉庫)中 * 構建聚合-創建聚合是匯總和存儲事實表中可用的數據,以提高最終用戶查詢的性能。 ## 什么是 ETL 測試? 進行 ETL 測試以確保業務轉換后從源加載到目標的數據是準確的。 它還涉及驗證源和目標之間使用的各個中間階段的數據。 ETL 代表 Extract-Transform-Load。 ## ETL 測試流程 與其他測試過程類似,ETL 也經歷不同的階段。 ETL 測試過程的不同階段如下 ![ETL Testing or Datawarehouse Testing : Ultimate Guide](https://img.kancloud.cn/e9/7b/e97b86fcd003df083cb1922700f0acc6_972x475.png "ETL Testing or Datawarehouse Testing : Ultimate Guide") ETL 測試分為五個階段 1. 識別數據源和需求 2. 數據采集 3. 實施業務邏輯和維度建模 4. 建立并填充數據 5. 建立報告 ![ETL Testing or Datawarehouse Testing : Ultimate Guide](https://img.kancloud.cn/ed/b4/edb4e902119cc947ec8b9855470c73a5_1254x742.png "ETL Testing or Datawarehouse Testing : Ultimate Guide") ## ETL 測試的類型 | 測試類型 | 測試過程 | | 生產驗證測試 | 這種類型的 ETL 測試“表平衡”或“生產對帳”是在將數據移入生產系統時對其進行的。 為了支持您的業務決策,生產系統中的數據必須以正確的順序排列。 [Informatica](/informatica-tutorials.html) 數據驗證選件提供 ETL 測試自動化和管理功能,以確保生產系統不受數據損害。 | | 源到目標測試(驗證測試) | 進行這種類型的測試以驗證轉換后的數據值是否為預期數據值。 | | 應用升級 | 這種類型的 ETL 測試可以自動生成,從而節省了大量的測試開發時間。 這種類型的測試檢查從較舊的應用程序或存儲庫中提取的數據是否與存儲庫或新應用程序中的數據完全相同。 | | 元數據測試 | 元數據測試包括數據類型檢查,數據長度檢查和索引/約束檢查的測試。 | | 數據完整性測試 | 為了驗證所有預期數據都已從源加載到目標中,已完成數據完整性測試。 可以運行的一些測試是比較和驗證具有簡單轉換或不轉換的列的源和目標之間的計數,聚合和實際數據。 | | 數據準確性測試 | 進行此測試是為了確保按預期正確加載和轉換數據。 | | 數據轉換測試 | 測試數據轉換是在許多情況下完成的,因為它無法通過編寫一個源 [SQL](/sql.html) 查詢并將輸出與目標進行比較來實現。 可能需要為每行運行多個 SQL 查詢以驗證轉換規則。 | | 數據質量測試 | 數據質量測試包括語法和參考測試。 為了避免在業務流程中由于日期或訂單號引起的任何錯誤,請執行數據質量測試。 語法測試:根據無效字符,字符模式,不正確的大小寫順序等,將報告臟數據。參考測試:將根據數據模型檢查數據。 例如:客戶 ID 數據質量測試包括數字檢查,日期檢查,精度檢查,數據檢查,空檢查等。 | | 增量 ETL 測試 | 進行此測試以檢查新舊數據之間的舊數據和新數據的數據完整性。 增量測試驗證在增量 ETL 過程中是否按預期處理了插入和更新。 | | GUI /導航測試 | 完成此測試是為了檢查前端報告的導航或 GUI 方面。 | ## 如何創建 ETL 測試用例 ETL 測試是一種概念,可以應用于信息管理行業中的不同工具和數據庫。 **ETL 測試的目的是確保業務轉換后從源加載到目標的數據是準確的。** 它還涉及在源和目標之間使用的各個中間階段驗證數據。 在執行 ETL 測試時,ETL 測試人員將始終使用的兩個文檔是 1. **ETL 映射表:** ETL 映射表包含源表和目標表的所有信息,包括每一列以及它們在參考表中的查找。 ETL 測試人員需要熟悉 SQL 查詢,因為 ETL 測試可能涉及編寫帶有多個聯接的大型查詢以在 ETL 的任何階段驗證數據。 ETL 映射表在編寫用于數據驗證的查詢時提供了重要的幫助。 2. 源,目標的 **DB 模式:**應該方便檢查映射表中的任何細節。 ## ETL 測試場景和測試案例 | 測試場景 | 測試用例 | | 映射文檔驗證 | 驗證映射文檔是否提供了相應的 ETL 信息。 更改日志應保留在每個映射文檔中。 | | 驗證方式 | 1. 根據相應的映射文檔驗證源和目標表結構。 2. 源數據類型和目標數據類型應相同 3. 源數據和目標中的數據類型長度應相等 4. 驗證是否指定了數據字段類型和格式 5. 源數據類型長度應不小于目標數據類型長度 6. 根據映射文檔驗證表中的列名稱。 | | 約束驗證 | 確保按預期為特定表定義了約束 | | 數據一致性問題 | 1. 盡管語義定義相同,但特定屬性的數據類型和長度在文件或表中可能會有所不同。 2. 濫用完整性約束 | | 完整性問題 | 1. 確保將所有預期數據加載到目標表中。 2. 比較源和目標之間的記錄計數。 3. 檢查任何拒絕的記錄 4. 檢查數據不應在目標表的列中被截斷 5. 檢查邊界值分析 6. 比較鍵的唯一值 加載到 WH 的數據和源數據之間的字段 | | 正確性問題 | 1. 拼寫錯誤或記錄不正確的數據 2. 空,非唯一或超出范圍的數據 | | 轉型 | Transformation | | 資料品質 | 1. 編號檢查:需要進行編號檢查并進行驗證 2. 日期檢查:它們必須遵循日期格式,并且在所有記錄中都應相同 3. 精確檢查 4. 數據檢查 5. 空檢查 | | 空驗證 | 驗證空值,其中為特定列指定“ Not Null”。 | | 重復檢查 | 1. 需要驗證唯一鍵,主鍵和其他任何列,因為根據業務需求,它們應該具有唯一的重復行 2. 檢查要提取的任何列中是否存在任何重復值 從源中的多列合并到一列中 3. 根據客戶要求,需要確保僅目標中的多列組合中沒有重復項 | | 日期驗證 | 日期值正在 1. 的 ETL 開發中使用許多領域?要知道行創建日期 2. 根據 ETL 開發的觀點來識別活動記錄 3. 根據業務來識別活動記錄 需求透視圖 4. 有時根據日期值生成更新和插入。 | | 完整的數據驗證 | 1. 要驗證源表和目標表中的完整數據集,以最佳解決方案減去查詢 2. 我們需要提供負目標和目標負源 3. 如果負查詢返回 任何應視為不匹配行的值 4. 需要使用 intersect 語句 5. 在源和目標之間匹配行[intersect]返回的計數應與源表和目標表的單個計數匹配 6. 如果行的負查詢返回和計數相交小于源計數或目標表,則可以考慮存在重復的行。 | | 數據清理 | 在加載到暫存區之前,應刪除不必要的列。 | ## ETL 錯誤的類型 ![ETL Testing or Datawarehouse Testing : Ultimate Guide](https://img.kancloud.cn/8c/f9/8cf9cdefddcb83ca48232d9ccbeb23a7_514x468.png "ETL Testing or Datawarehouse Testing : Ultimate Guide") | **錯誤的類型** | **說明** | | 用戶界面錯誤/外觀錯誤 | * 與應用程序的 GUI * 有關。字體樣式,字體大小,顏色,對齊方式,拼寫錯誤,導航等 | | 邊界值分析(BVA)相關的錯誤 | * 最小值和最大值 | | 等價類分區(ECP)相關的錯誤 | * 無效類型 | | 輸入/輸出錯誤 | * 無效的值不被接受 * 無效的值被接受 | | 計算錯誤 | * 數學錯誤 * 最終輸出錯誤 | | 加載條件錯誤 | * 不允許多個用戶 * 不允許客戶預期的負載 | | 競賽條件錯誤 | * 系統崩潰 & 掛起 * 系統無法運行客戶端平臺 | | 版本控制錯誤 | * 沒有徽標匹配 * 沒有可用的版本信息 * 這通常在 [回歸測試](/regression-testing.html) 中發生 | | 硬件錯誤 | * 設備未響應應用程序 | | 幫助源錯誤 | * 幫助文檔中的錯誤 | ## 數據庫測試和 ETL 測試之間的區別 | ETL 測試 | 數據庫測試 | | 驗證數據是否按預期移動 | 主要目標是檢查數據是否遵循數據模型中定義的規則/標準 | | 驗證源和目標中的計數是否匹配驗證轉換后的數據是否符合預期 | 驗證沒有孤兒記錄,并且保持外-主鍵關系 | | 驗證在 ETL 期間保留了外鍵主鍵關系 | 驗證沒有冗余表,并且數據庫已最佳標準化 | | 驗證加載數據中的重復項 | 驗證所需的列中是否缺少數據 | ## ETL 測試人員的職責 ETL 測試人員的主要職責分為三類 * 登臺/ SFS 或 MFS * 應用業務轉換邏輯 * 應用轉換后,從階段文件或表中加載目標表。 ETL 測試人員的某些職責是 [ * 測試 ETL 軟件 * ETL 數據倉庫的測試組件 * 執行后端數據驅動的測試 * 創建,設計和執行測試用例,測試計劃和測試工具 * 找出問題并為潛在問題提供解決方案 * 批準要求和設計規范 * 數據傳輸和測試平面文件 * 針對各種情況(例如計數測試)編寫 SQL 查詢 3 ## ETL 性能測試和調整 ETL [性能測試](/performance-testing.html)是一項確認測試,旨在確保 ETL 系統可以處理多個用戶和事務的負載。 性能調整的目標是通過消除性能瓶頸來優化會話性能。 要調整或改善會話的性能,您必須確定性能瓶頸并消除它。 性能瓶頸可以在源數據庫和目標數據庫,映射,會話和系統中找到。 用于性能測試的最佳工具之一是 Informatica。 ## ETL 測試自動化 ETL 測試的一般方法是使用 SQL 腳本或對數據進行“眼球處理”。這些 ETL 測試方法耗時,容易出錯并且很少提供完整的測試范圍。 要在生產和開發環境中加速,改善覆蓋范圍,降低成本,提高[缺陷](/defect-management-process.html) ETL 測試的檢測率,自動化是當務之急。 這樣的工具之一就是 Informatica。 ## ETL 測試的最佳做法 1. 確保數據正確轉換 2. 在沒有任何數據丟失和截斷的情況下,應將預計的數據加載到數據倉庫中 3. 確保 ETL 應用程序適當拒絕并替換為默認值并報告無效數據 4. 需要確保在規定和預期的時間范圍內將數據加載到數據倉庫中,以確認可伸縮性和性能 5. 無論可見度如何,所有方法均應具有適當的單元測試 6. 為了衡量其有效性,所有單元測試都應使用適當的覆蓋技術 7. 為每個測試用例爭取一個斷言 8. 創建針對異常的單元測試 結帳- [ETL 測試面試問題&答案](/etl-testing-interview-questions.html)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看