單元測試要求

用例小類 測試要點 說明 是否已檢查(Y/N)
規范性 命名規范檢查(表、視圖、工作流、字段) 是否符合MaxCompute數倉建設規范管理指南中命名規范的表命名規范。
代碼格式和注釋規范性 是否符合MaxCompute數倉建設規范管理指南中的編碼規范。
表引用規范性 數據不允許跨層引用。
表更新策略規范 建議臨時表均為非分區表,正式表均為分區表。
是否支持重跑 代碼必須支持重跑。
源數據質量 非空值檢查 檢查所用字段是否存在空值,以及代碼對空值處理的策略是否正確。
字段枚舉值檢查 字段的枚舉值是否都在代碼考慮范圍內,是否有可能會出現新值。
主鍵檢查 物理主鍵或邏輯主鍵是否成立。
數據完整性檢查 代碼中引用的數據能否支撐實際需求。
字段間邏輯檢查 字段間的業務邏輯關系是否在數據上成立,例如余額=總的發放-總的回收。
代碼質量/BUG檢查 歷史拉鏈表檢查斷鏈/交叉鏈 使用標準SQL進行檢驗。
數據傾斜檢查 是否存在傾斜的情況,是否有大表join小表未用mapjoin等。
表分區選擇檢查 代碼對表分區的選擇是否正確。
關聯條件檢查 關聯條件是否正確,是否會產生意料外的結果,例如多對多關聯、笛卡爾積。
字段類型檢查 字段類型是否正確,例如:金額字段必須為X數據類型,編號字段必須為X數據類型。
執行效率檢查 單條SQL執行時間不超過30分鐘,單個腳本執行時間不超過60分鐘。
數倉特殊需求 臟數據檢查 檢查是否有臟數據。
增量/全量數據抽取規范 抽取時間大于X分鐘的,則考慮更改為增量抽取。
數倉抽取時間點檢查 數倉抽取時業務系統是否ready,抽取的數據是否完整。
指標特性檢查 細分指標趨勢檢查 例如會員拉鏈表記錄數相比前一天必須是正增長、當日累計值-上日累計值必須大于0。
不同粒度數據轉換正確性 例如細粒度向粗粒度匯總,通常使用最大/最高/最小/最低等過濾條件,如:支用層逾期天數轉換到客戶層指標(最高逾期天數)。最高逾期天數 = Max(支用層逾期天數)。
值域范圍檢查 檢查字段值的范圍是否正確,如:金額>=0,比率<=1,天數<=業務起始日期至今,還款日期>=放款日期。
代碼值分布檢查 從業務邏輯考量字段值的分布情況是否合理。
可累加值與不可累加值檢查 檢查可累加值和不可累加值的處理邏輯正確性,如:計算客戶數總計時需要做去重處理,金額則可以累加。

單元測試用例記錄

序號 用例大類 測試要點 字段 自定義表達式 備注
1 規范性 命名規范檢查(表、視圖、工作流、字段) jrcdm_agt_ovd_ins_detail_fact_dd
2 規范性 是否支持重跑 jrcdm_agt_ovd_ins_detail_fact_dd
3 源數據質量 主鍵檢查 afclms_clms_loan_contract contract_no
4 指標特性檢查 值域范圍檢查 jrcdm_cust_drawndn_fact_ds prin_max_ovd_days, inte_max_ovd_days prin_max_ovd_days>=inte_max_ovd_days 檢驗逾期天數的業務邏輯。
5 指標特性檢查 值域范圍檢查 x_jredw_da_drawndn_ovd_date_info Prin_Ovd_Start_Dt Prin_Ovd_Start_Dt<=Prin_Ovd_End_Dt, Inte_Ovd_Start_Dt <=Inte_Ovd_End_Dt 檢查業務邏輯正確性。
測試結果 測試結果備注 是否轉化監控 監控閾值 創建日期 創建人 所屬項目名稱
通過 2013/7/16 XXX 某項目
通過 2013/7/16 XXX 某項目
通過 2013/7/16 XXX 某項目
通過 <1 2013/7/16 XXX 某項目
未通過 開發代碼中存在以下兩個問題:
  • 未對期次還款日大于當前日期的記錄進行過濾,這部分為未到期記錄,需要排除。
  • 未對記錄中創建時間小于期次還款日的、未結清的期次記錄的逾期結束時間,賦予與逾期開始時間一致的處理。
<1 2013/7/16 XXX 某項目