博客

數據倉庫和ETL測試自動化關鍵考量

寫者 :

韋恩Yaddow

數據遷移/整合/ETL谘詢

日期顯示 :三月24,2020

編輯注解:Wayne Yaddow獨立顧問20多年經驗引導J.P等組織數據遷移/整合/ETL測試項目摩根大通公司、瑞士信用公司、標準普爾公司、AIG公司、Oppenheimer基金公司、IBM公司和Clear3000公司韋恩還教IIST國際軟件測試學院課程數據倉庫,ETL數據集成測試繼續指導數大ETL測試和教程項目谘詢可聯係Waynewyaddow@gmail.com.

導 言

DW開發的一個特征是頻繁發布高質量數據供用戶反饋和接受DWETLs每次迭代結束時,預計數據表質量足以滿足ETL下階段這一目標要求對質量保證方法和工具采取獨特的方法最先指整合質量評估努力和自動化到ETL開發迭代

測試自動化對整合ETL測試至關重要人工測試在一個高度迭代適應性開發環境中不切實際人工測試有兩個關鍵問題

第一,它耗時過長,因此對頻繁提供工作軟件具有重大抑製作用。團隊主要依賴人工測試最終推延測試到專用測試期,允許錯誤累積

第二,人工ETL測試不完全可重複性回歸測試求接受並適應變化時,我們必須始終確信前迭代中的特征“done,complete!”

測試自動化需要初始規劃並持續努力,但技術團隊接受自動化後,項目成功就更有保證。

數據倉庫測試自動化

數據倉測試自動化描述為使用工具控製:1)測試執行2)實際結果與預測結果對比3)測試先決條件設置,以及其他測試控製與測試報告函數測試自動化通常需要自動化人工過程,該過程已經使用正式測試過程

人工ETL測試可能發現多數據缺陷,但過程費時費力此外,人工測試可能無法有效發現某些種類缺陷。DW測試自動化需要寫測試程序,否則需要人工完成測試實現自動化後,可快速多次運行這種方法往往是成本效率最高的dW方法,維護壽命可能長,因為即使是小補丁或倉庫存續期間加固都可能導致先前工作特征破解

ETL開發綜合自動化測試提出了一套獨特的挑戰。當前自動化測試工具設計軟件開發並不容易適應數據庫ETL項目大數據量可令自動測試任務艱巨DW結構種類繁多使這些挑戰更加複雜化,因為它們涉及多數據庫,需要特殊編碼數據提取、變換和加載,數據清洗、數據彙總和數據濃縮

測試自動化工具可貴工具通常與人工測試並用但它們從長遠看可提高成本效益,特別是在回歸測試中反複使用時。

DWETL流程測試自動化目標

實現自動化、何時實現自動化或甚至是否真的需要自動化是測試(或開發)團隊必須做出的關鍵決策選擇產品正確性能自動化大都決定自動化成功

避免自動化不穩定特征或正在變化的特征今日,尚沒有已知商業工具或一套方法/過程可表示結束DW測試的全麵結束Informica、微軟等主ETL工具商不推廣任何一個測試工具解答ETL自動化測試

ETL測試自動化共同目標
  • 自動化盡可能多的DW測試周期活動
  • 開發回歸測試套件係統測試和製作監控
  • 聚焦數字財務信息促進守法和財務報告
  • 識別錯配缺失數據
  • 剖析dW性能
  • 向審計師保證DW內所有財務信息可信
  • 調和輸入和變換過程間數據
  • 減少人工測試工作量,常有數千SQL腳本
  • 驗證源端與dW
  • 驗證所有數據,而不僅僅是子集或樣本
  • 驗證複雜數據變換規則
  • 在每個ETL進程後驗證目標數據

可能還需要自動化測試,因為處理複雜,源和目標數多需要檢驗。沒有自動化,這些檢驗往往費用高或在某些情況下無法人工操作

ETL函數常申請測試自動化
  • 數據彙總處理
  • 數據清洗歸檔
  • 尺寸表數據負載
  • 端到端測試
  • 提取變換負載驗證測試
  • 事實表數據加載
  • 文件/數據加載驗證
  • 增量負載測試
  • 加載和可縮放性測試
  • 性能測試
  • 回歸測試
  • 安全測試
  • 源數據測試和剖析
  • Stage數據驗證
  • BI報表測試

對大多數DW開發工作而言,ETL測試過程設計是為了檢驗並實現數據質量高功能ETL工具選擇(例如Informica、SSIS、DataStage、內部開發等)令DW項目嚴重關切。

判定ETL測試實現自動化

技巧是想出什麼需要自動化, 和如何處理這項任務數組問題必須在自動化測試中加以考慮,例如:

  • 自動化測試需要多少錢
  • 由誰實現自動化
  • 測試工具應用開源商業)
  • 測試結果如何報告
  • 由誰解釋測試結果
  • 腳本維護由何組成
  • 啟動程序後測試腳本會怎麼樣

圖1顯示人工比數持續時間實例自動測試案例樣本集

時間段實例自動測試案例樣本集測試案例寬度=

圖1對比人工測試時間測試執行時間

自動化DW測試的首要目標是覆蓋加載DW最關鍵函數-源數據對齊對齊

ETL自動化測試的好處和局限性
ETL測試自動化挑戰
  • 多源目標表記錄
  • 測試數據同步所有DW表
  • 通過自動化測試商業智能或解析報告
福利類
  • 快速執行測試案例自動化可加速測試案例實現
  • 可複用測試套房結果測試腳本使用自動化工具創建後,可存取方便回用
  • 易斯測試報告多自動化工具的一個有吸引力特征是它們生成報表和測試記錄的能力此類能力準確表示數據狀況,清晰識別缺陷並用於合規審核
  • 減少人手重整費用修複缺陷後人工測試或重測試所花的時間可用於IT部門內的其他創舉
潛在限製
  • 無法消除人工測試自動化可用於多項應用和測試案例,但無法完全取代人工測試複雜測試案例將仍然存在,自動化可能無法捕捉所有案例,而用戶驗收測試則需要終端用戶常手動運行測試因此,在這一流程中必須正確混合自動化測試和人工測試。
  • 成本工具自動化測試工具可能費用高昂,視其大小和功能而定。乍一看,企業可能不認為這是必備成本單靠可複用性可快速化化為資產
  • 培訓成本某些自動化工具可能複雜使用並可能需要培訓啟動測試者不僅要接受軟件培訓,還要接受自動化測試規劃過程培訓。
  • 自動化需要有效規劃、準備和專用資源自動化測試成功高度依賴清晰測試要求和測試啟動前謹慎測試案例開發因為每個組織DW應用都可能是獨一無二的,自動測試工具不常創建測試案例不幸測試案例開發仍然是人工過程
開始ETL測試自動化

並非所有ETL測試都適合自動化評估上述狀況以確定哪幾類自動化將有益於測試過程和需要多少評價測試需求並識別可用自動測試固定的無效性QA團隊花很多時間測試回歸效果最大

開發商業案例自動化測試自動化測試通常比人工測試增加成本,因此,為了向企業傳遞值,IT必須先立案處理。

評估選項評估IT部門當前狀態和需求後,調查哪些工具適合組織測試過程和環境選項可能包括供應商、開源、內部工具或工具組合

典型自動ETL測試假想

敏捷化和其他現代開發原理是自動化測試將認知應用到DW

一個重要的DW測試考量是運行測試數將繼續增長以驗證附加功能

圖2端對端ETL測試

圖2顯示四大端對端ETL測試關於數據自動化測試,每個測試切入點的重點是驗證數據完整性

實施測試自動化時,數據可以從源層通過ETL處理跟蹤到DW加載,然後最終跟蹤前端應用或報表如果前端應用或報表發現有損數據,執行自動化套件可幫助更快地判定問題是否出自數據源、ETL進程、DW數據庫/datamart或商業情報報告

性能測試使用相同的測試切入點聚焦加載子響應特征類似策略用於數據完整性驗證以確定性能問題源子係統性能可在所識別測試切入點測量

注重快速定位複雜DW架構中的數據和性能問題為提高開發效率、縮短構建周期並實現發布目標提供了關鍵工具

結論

自動化測試工具在下列情況下使用最有幫助

  • 複用平凡任務ETL進程開發後,他們會接觸多版修改和多版測試-每個版本都必須測試通過生成測試腳本一次,自動化測試允許重用未來版本
  • 回歸測試每當修改數據或業務規則時,使用人工方法測試者必須遍曆每個函數,並確保它不影響係統的任何其他部分。自動化回歸測試執行測試案例快速實現
  • 多重組合環境日益複雜,許多假設情況必須檢查,自動測試可快速運行多例測試組合,使用幾本腳本
  • 可重新使用性:當源係統新版引入時,可重新使用這些自動化測試並盡量減少回歸測試

測試自動化快速成為人工測試的基本替代物,更多公司正在尋找成功應用自動化的工具和戰略這一趨勢導致測試自動化工具大幅增長,這些工具基礎是Steumi、Katalon Studio、Appium等多項

然而,為充分利用這些自動化工具,DW和BI質量A團隊必須擁有適當的編程技巧加法企業正變得更加敏捷,應用程序更新頻率更高

多IT專家預測持續測試者與開發者之間的知識差距必須並將會縮小自動ETL測試工具比傳統人工法大大減少測試代碼耗時其它好處包括創建可複用代碼並降低人事和重整相關費用

獲取自動化DW測試知識並使用工具判定對QA項目是否正確

寫者 :

韋恩Yaddow

數據遷移/整合/ETL谘詢

日期顯示 :三月24,2020
Baidu
map