單元測試要求

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

單元測試用例記錄

序號 用例大類 測試要點 字段 自定義表達式 備注
1 規(guī)范性 命名規(guī)范檢查(表、視圖、工作流、字段) jrcdm_agt_ovd_ins_detail_fact_dd
2 規(guī)范性 是否支持重跑 jrcdm_agt_ovd_ins_detail_fact_dd
3 源數(shù)據(jù)質(zhì)量 主鍵檢查 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 檢驗逾期天數(shù)的業(yè)務(wù)邏輯。
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 檢查業(yè)務(wù)邏輯正確性。
測試結(jié)果 測試結(jié)果備注 是否轉(zhuǎn)化監(jiān)控 監(jiān)控閾值 創(chuàng)建日期 創(chuàng)建人 所屬項目名稱
通過 2013/7/16 XXX 某項目
通過 2013/7/16 XXX 某項目
通過 2013/7/16 XXX 某項目
通過 <1 2013/7/16 XXX 某項目
未通過 開發(fā)代碼中存在以下兩個問題:
  • 未對期次還款日大于當(dāng)前日期的記錄進行過濾,這部分為未到期記錄,需要排除。
  • 未對記錄中創(chuàng)建時間小于期次還款日的、未結(jié)清的期次記錄的逾期結(jié)束時間,賦予與逾期開始時間一致的處理。
<1 2013/7/16 XXX 某項目