大的歸類三個方面:
一 數據質量
1 數據的完整性: 所有的所都符合BI業務需求。
2 數據的一致性: 經過數據清洗轉化(ETL)能和數據源保持一致。
3 數據的精准性: 在不同的業務規則和業務情景下,值都是正確的。
二 數據性能:數據倉庫能夠給用戶報表和不用的query提供好的性能
三 數據安全行隱私和訪問: 在不同的DW和BI系統下確保數據的安全。
數據倉庫測試的面臨的問題
一 缺乏行業標准和方法:正常的OLTP系統我們可以根據軟件代碼去測試,會有相對應的測試策咯,測試計划,測試案例,以及相對應的腳本。但是對於OLAP DW這樣的系統,測很難有相應的解決方案。
1. OLTP看重代碼但是BI看重數據質量
2. OLTP系統的數據量不大,但是BI DW有着龐大的數據量
3. OLTP系統的業務需求比較清晰,測試案例比較清楚,但是BI DW沒有那么清楚。
4. OLTP系統有成熟的測試系統
二 自動化工具的差別
影響數據倉庫質量因素
一 數據完整性
1. Row Count 比較: a. 增量的ETL job b. 錯誤的ETL 3. 在開發過程中容易丟失的
測試:對每一個表run test case 表容量;(Year, Month, Week)
2. Row Trend 分析:數據總數和歷史趨勢不一致。 1. source的異常變化 2. ETL job和腳本中的異常update和delete操作。
測試:分析總行數的趨勢; 一些重要的列看下趨勢還要看下ditnct;最好看下NULL值 (AVG Row count/7 days)(Row count/day)(Trend/3 days)
3. 數據刷新: 數據源的穩定性和失敗的job
測試: 檢查source和taget運行時間
二 數據一致性
1. ETL 邏輯:數據轉換清洗中的准確性 a. 數據源和目標db的不一致 b. 業務邏輯的不正確(add or update a measure, attribute 等等) c. 丟失外鍵 c 維度表和事實表中重復記錄
2. Cube 多位數據集:a. 錯誤的hierarchy b. measures 不符合業務邏輯 c kpi 邏輯不正確
三 數據的准確性
1. 數據驗證: a. 表結構的改變 b. 列長改變引起的不一致 b. 數據類型不正確
2. 業務邏輯的驗證: a. 維度表的時效性,一般是由於維度變化引起的。b. 一些小於0%或者>100%的異常 c 一些不期待的負值,d ETL中一些錯誤的mapping邏輯 e Email地址明顯的錯誤, 年齡,郵政編碼等。
3. 用戶測試情景:a. 用戶query結果和業務不一致 b 不同系統的報表結果不一樣