[原创] 浅谈ETL系统架构如何测试?
[原創] 淺談ETL系統架構如何測試?
來新公司已入職3個月時間,由于公司所處于互聯網基金行業,基金天然固有特點,基金業務復雜,基金數據信息眾多,基金經理眾多等,所以大家可想一下,基民要想賺錢真不容易,首先你要在這么多基金中選一個靠譜的基金經理,想獲得一份不錯的基金收益,尤如大海撈針,其碼我對這個沒什么自信。
閑話少說,哪么我們來看看ETL系統架構是咋回事,簡單理解ETL就是將數據抽取,數據轉換,數據加載的一個過程,其中每個公司都有不同業務,如下圖所示:
上圖展示了一個典型的ETL系統架構,其中ETL中間還多了一個數據清洗,碰到這樣的系統,測試工作如何開展呢?我理下思路,列舉一些目前我所在公司對這塊的測試實踐:
1、首先,必須要對ETL核心處理過程進行測試,要確保數據提取,轉換,加載核心處理過程的正確性及完整性;
2、各業務需求點及規則驗證是否被正常轉化,如:我們要將系統抓取的一些非標的數據進行提取,轉換后符合公司自己定義的算法,這塊就比較重要,也是公司核心;
3、各業務需求點及規則對時間要求,性能是否可以滿足,如:我司系統有這樣的需求,對某基金經理,在任職期內,與其他基金經理的業務在10年,3年,1年等不同時間段的回報率等;
4、ETL的測試核心點是數據,諸如數據的準確性,完整性,正確性都應考慮,測試時尤其要多運用等價,邊界及異常值等去檢查驗證,不過建議開發一些測試工具去支持,在實際測試工作中,經常發現數據源抓取的數據不是很完整,有些還是錯的,這些都要在內部測試時,進行嚴謹的檢查;
5、數據遷移測試,由于每次系統升級,不得不進行更新,這樣會造成新舊數據有可能不一致,我們通常采用遷移一部分生產數據在測試環境,來進行檢查驗證;
6、數據擴展性容量測試,初期我們對這塊重視不夠,原以為數據量沒哪么多,但經過一段時間積累,發現源數據是非常龐大,所以針對這塊我們都會去預估,盡可能按照X10,X20倍等這樣的方式進行測試評估。
最后總結下ETL測試其實并不復雜,系統的架構也非常簡單,容易理解,難在于測試數據的復雜性構建,數據兼容性,及數據的完整性,我們在測試時碰到的最頭疼的問題,主要是這幾種,當然最后提一句,ETL系統上線后,必須要有一個好的監控系統配合,否則真是災難。
總結
以上是生活随笔為你收集整理的[原创] 浅谈ETL系统架构如何测试?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu创建、删除文件及文件夹,强制
- 下一篇: [CLPR] 用于加速训练神经网络的二阶