Giới thiệu dự án

Trong kỷ nguyên chuyển đổi số ngành ngân hàng, dữ liệu giao dịch và thông tin khách hàng trở thành tài sản chiến lược cốt lõi. Theo báo cáo từ McKinsey & Company, các ngân hàng khai thác hiệu quả phân tích dữ liệu nâng cao có thể gia tăng từ 15% đến 20% biên lợi nhuận và giảm tỷ lệ rời bỏ của khách hàng tới 25%. Tuy nhiên, các hệ thống ngân hàng lõi truyền thống như Temenos T24 R15 được tối ưu hóa cho xử lý giao dịch trực tuyến (OLTP - Online Transaction Processing) với yêu cầu tốc độ phản hồi tính bằng mili-giây, không thể gánh vác các truy vấn phân tích tổng hợp (OLAP - Online Analytical Processing) phức tạp trên lượng dữ liệu khổng lồ lên tới hàng chục Terabyte mà không làm suy giảm hiệu năng giao dịch.

+-------------------------------------------------------------------------+
|                  KIẾN TRÚC TỔNG THỂ DÒNG DỮ LIỆU ETL                    |
+-------------------------------------------------------------------------+
|  [Core Banking T24] (OLTP: Lending / Deposit)                           |
|         │                                                               |
|         ▼ (Batch Extract / Flat Files)                                  |
|  [Tầng Staging] (Raw Staging Area, 1-1 Ingestion)                       |
|         │                                                               |
|         ▼ (Data Cleansing, Transformation & Business Rules)             |
|  [Tầng SOR - System of Records] (IBM 9 Concepts Core Banking Model)     |
|         │                                                               |
|         ▼ (Data Aggregation & Dimensional Modeling)                     |
|  [Tầng Data Marts] (Fact & Dimension Tables -> Star / Snowflake Schema) |
|         │                                                               |
|         ▼                                                               |
|  [Báo cáo BI & Quản trị Rủi ro] (Cognos / PowerBI / Regulatory Reports) |
+-------------------------------------------------------------------------+

Vấn đề thực tế (Problem Statement)

Tại các Ngân hàng Thương mại Cổ phần (NHTM), dữ liệu từ các phân hệ cốt lõi như Cho vay (Lending) và Tiền gửi (Deposit) bị phân mảnh sâu sắc giữa hàng loạt hệ thống vệ tinh (E-Banking, Thẻ, CRM, Quản lý rủi ro). Khi chưa có giải pháp Kho dữ liệu (Data Warehouse - DWH) chuẩn hóa:

  • Xung đột tài nguyên hệ thống: Các báo cáo quản trị và báo cáo tuân thủ Ngân hàng Nhà nước (NHNN) quét trực tiếp trên Core Banking T24 gây nghẽn cục bộ I/O, tăng nguy cơ treo giao dịch tại quầy.
  • Dữ liệu không đồng nhất (Data Inconsistency): Không tồn tại một định danh khách hàng duy nhất (Single Customer View). Cùng một khách hàng nhưng thông tin số CMND/CCCD, địa chỉ, nhóm nợ bị sai lệch giữa bảng dữ liệu tài khoản tiền gửi và hợp đồng vay.
  • Rủi ro tính toàn vẹn trong quá trình ETL: Khi trích xuất (Extract), chuyển đổi logic nghiệp vụ (Transform) và nạp (Load) dữ liệu vào DWH, tỷ lệ sai lệch dữ liệu do mất bản ghi, ánh xạ sai trường, lỗi định dạng số thực hoặc quản lý lịch sử thay đổi (SCD Type 2) không chính xác dẫn đến báo cáo quản trị rủi ro tín dụng bị sai lệch nghiêm trọng.

Mục tiêu dự án

  1. Khảo sát, phân tích toàn diện luồng dữ liệu nghiệp vụ Cho vay (Lending - LD) và Tiền gửi (Deposit) từ Core Banking Temenos T24.
  2. Xây dựng và chuẩn hóa quy trình kiểm thử ETL nhiều tầng cho hệ thống Data Warehouse dựa trên mô hình dữ liệu lõi chuẩn quốc tế IBM Nine Data Concepts.
  3. Thiết lập bộ kịch bản kiểm thử (Test Cases) toàn diện bao gồm: Kiểm thử đối soát số lượng (Reconciliation Check), kiểm thử ánh xạ thuộc tính (Attribute Mapping Check), kiểm thử tính duy nhất (Duplicate Check), kiểm thử toàn vẹn tham chiếu (Relationship Check) và kiểm thử lịch sử biến động dữ liệu (SCD Type 2 Check).
  4. Thiết lập hệ thống truy vấn kiểm định tự động bằng SQL nhằm phát hiện sớm 100% lỗi logic chuyển đổi dữ liệu trước giai đoạn User Acceptance Testing (UAT).
  5. Đánh giá tính khả thi và tối ưu hóa hiệu năng kiểm thử trên môi trường cơ sở dữ liệu quy mô doanh nghiệp.

Giải pháp và Phạm vi

Dự án tập trung triển khai giải pháp kiểm thử hộp trắng kết hợp kiểm thử hộp đen trên tầng cơ sở dữ liệu lõi (System of Records - SOR) của Data Warehouse do Công ty Cổ phần Giải pháp Phần mềm Tài chính (FSS) phối hợp cùng giải pháp phần cứng/phần mềm IBM Netezza triển khai.

  • Phạm vi kiểm thử: Tập trung chuyên sâu vào hai phân hệ then chốt là Lending (Quản lý hợp đồng tín dụng, lịch giải ngân, lãi suất vay, tài sản bảo đảm, nhóm nợ) và Deposit (Huy động tiết kiệm, kỳ hạn gửi, lãi suất tiền gửi, số dư phong tỏa).
  • Giới hạn: Không can thiệp sửa đổi cấu trúc mã nguồn của Core Banking T24; tập trung kiểm thử tính toàn vẹn dữ liệu từ Staging sang tầng SOR và các bảng Fact/Dimension thuộc Data Mart.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Trước khi áp dụng quy trình kiểm thử DWH chuẩn hóa, các tổ chức tài chính thường đối mặt với sự thiếu nhất quán giữa các nguồn dữ liệu tác nghiệp. Bảng dưới đây so sánh các giải pháp quản lý và phân tích dữ liệu hiện nay:

Tiêu chí Hệ thống OLTP (Core Banking T24) DWH Truyền thống (Custom RDBMS 3NF) DWH Chuyên dụng (IBM Netezza / SOR 9 Concepts)
Mục tiêu chính Giao dịch tức thời, CRUD đơn lẻ Báo cáo phòng ban đơn lẻ Tích hợp dữ liệu toàn ngân hàng, BI đa chiều
Cấu trúc dữ liệu Chuẩn hóa cao (3NF), chia nhỏ bảng Bảng phẳng hoặc quan hệ cục bộ Mô hình 9 Concepts (SOR) + Star/Snowflake
Khả năng mở rộng Giới hạn bởi năng lực máy chủ OLTP Khó mở rộng khi dữ liệu vượt > 10 TB Mở rộng quy mô Petabyte, xử lý song song MPP
Độ trễ báo cáo Chậm, ảnh hưởng trực tiếp tới giao dịch Trung bình (vài giờ đến 1 ngày) Nhanh (tính bằng giây/phút trên Netezza)
Kiểm soát lịch sử Chỉ lưu trạng thái hiện tại hoặc log thô Khó truy vết biến động đa chiều Chuẩn hóa SCD Type 2 (EFF_DT, EXP_DT)

Phân loại yêu cầu kiểm thử theo mô hình MoSCoW

  • Must have (Bắt buộc phải có):
    • Kiểm tra đối soát 100% số lượng bản ghi (Reconciliation Check) giữa Staging và SOR.
    • Kiểm tra toàn vẹn khóa chính (Primary Key Not Null & Unique).
    • Kiểm tra tính chính xác của các bảng danh mục phân loại (Classification - CV).
    • Kiểm thử logic chuyển đổi SCD Type 2 cho các bảng quan hệ AR_X_IPIP_X_LO.
  • Should have (Nên có):
    • Tự động hóa kiểm thử ánh xạ thuộc tính (Attribute Mapping) bằng SQL Scripts.
    • Kiểm tra ràng buộc toàn vẹn dữ liệu tham chiếu (Foreign Key Check) giữa bảng giao dịch TXN và tài khoản AR.
  • Could have (Có thể có):
    • Kiểm thử tải (Load Testing) và đo lường thời gian thực thi các truy vấn kiểm thử phức tạp trên cơ sở dữ liệu > 10 triệu bản ghi.
  • Won't have (Chưa thực hiện trong giai đoạn này):
    • Kiểm thử tự động giao diện người dùng (GUI Testing) của các công cụ báo cáo cuối (BI Dashboard).

Thiết kế hệ thống

Kiến trúc Kho dữ liệu được tổ chức theo cấu trúc 3 tầng phân lớp rõ ràng:

  1. Tầng Staging: Tiếp nhận dữ liệu trích xuất nguyên bản (1-1) từ Core Banking T24. Dữ liệu tại đây mang tính tạm thời, lưu trữ thô để phục vụ quá trình làm sạch.
  2. Tầng SOR (System of Records): Trái tim của Kho dữ liệu, được tổ chức theo mô hình dữ liệu chuẩn IBM Nine Data Concepts, phân định rõ 9 thực thể kinh doanh:
    • Involved Party (IP): Khách hàng cá nhân (IDV), tổ chức (ORG), chi nhánh ngân hàng.
    • Arrangement (AR): Hợp đồng cho vay, tài khoản tiền gửi tiết kiệm, hạn mức tín dụng.
    • Classification (CL): Bảng danh mục chuẩn hóa (CV), phân loại tiền tệ, nhóm nợ, loại sản phẩm.
    • Product (PD): Định nghĩa danh mục sản phẩm huy động và cho vay.
    • Location (LO): Địa chỉ vật lý, bưu điện, kênh giao dịch điện tử (ELC_ADR, OU, CTY).
    • Condition (CD): Điều kiện lãi suất (INT_RATE), tỷ giá hối đoái (EXG_RATE).
    • Event (EV): Giao dịch tài chính phát sinh (TXN, TXN_FEE).
    • Resource Item (RI): Tài sản thế chấp, động sản, bất động sản đảm bảo (RI_VAL, RI_X_IP).
    • Business Direction Item (BD): Đơn vị số dư, chỉ tiêu tài chính kinh doanh (AU_BAL, AU_SMY).
  3. Tầng Data Mart: Chuyển đổi dữ liệu từ SOR sang mô hình đa chiều (Dimensional Model) gồm các bảng Fact (Fact Giao dịch TXN_FACT, Fact Số dư AR_BAL_FACT) và Dimension (CST_DIM, AR_DIM, TIME_DIM, BRANCH_DIM) phục vụ báo cáo.
+-----------------------------------------------------------------------------------+
|               MÔ HÌNH DỮ LIỆU LÕI IBM 9 CONCEPTS (TẦNG SOR)                       |
+-----------------------------------------------------------------------------------+
|  [IP: Involved Party]       <--->  [AR: Arrangement]       <---> [PD: Product]    |
|  - Khách hàng (IDV, ORG)           - Hợp đồng vay / gửi          - Gói vay, gói TK|
|  - Bảng liên kết: IP_X_IP          - Bảng liên kết: AR_X_IP      - AR_X_PD        |
|         │                                  │                            │         |
|         ▼                                  ▼                            ▼         |
|  [LO: Location]             <--->  [EV: Event / TXN]       <---> [CD: Condition]  |
|  - Địa chỉ, Chi nhánh, ATM         - Giao dịch Nợ/Có             - Lãi suất, Tỷ giá|
|  - Bảng: LO, PST_ADR, OU           - Bảng: TXN, TXN_FEE          - INT_RATE, EXG  |
|         │                                  │                            │         |
|         ▼                                  ▼                            ▼         |
|  [CL: Classification]       <--->  [RI: Resource Item]     <---> [BD: Business Dir|
|  - Danh mục hệ thống               - Tài sản bảo đảm             - Số dư tài khoản|
|  - Bảng: CV, CV_SCM                - Bảng: RI, RI_VAL, RI_X_IP   - AU_BAL, AU_SMY |
+-----------------------------------------------------------------------------------+

Technology Stack và Công cụ sử dụng

  • Data Warehouse Engine: IBM Netezza TwinFin / PureData System for Analytics v7.2 (Hỗ trợ kiến trúc xử lý MPP).
  • Core Banking Source: Temenos T24 R15 Database.
  • Database Management & Query Tool: Oracle Database 12c Enterprise Edition, Oracle SQL Developer v18.1.
  • ETL Middleware Engine: IBM InfoSphere DataStage v11.5.
  • Test Management & Bug Tracking: HP Quality Center / ALM v12.55.

Methodology

Quy trình phát triển và kiểm thử dự án tuân theo mô hình Waterfall kết hợp các chu kỳ lặp (Iterative Verification) chuẩn của FSS gồm 10 giai đoạn:

[1. Kick-off] ──> [2. Phân tích Yêu cầu] ──> [3. Design] ──> [4. Build] ──> [5. Data Conversion]
                                                                                   │
[10. Đóng dự án] <── [9. Bảo trì] <── [8. Go-live] <── [7. UAT] <── [6. SIT] <────┘

Chiến lược quản trị rủi ro kiểm thử (Risk Assessment)

  • Rủi ro rò rỉ dữ liệu khách hàng (Data Privacy): Toàn bộ dữ liệu kiểm thử trên môi trường Test/Staging đều được thực hiện Data Masking đối với các trường nhạy cảm: Số CMND/CCCD, Số dư tài khoản thực, Tên đầy đủ của khách hàng cá nhân.
  • Rủi ro sai lệch dữ liệu lịch sử: Áp dụng thuật toán kiểm tra tính liên tục của khoảng thời gian hiệu lực (EFF_DTEXP_DT), đảm bảo không có khoảng trống (Gap) hoặc trùng lặp (Overlap) giữa các bản ghi SCD Type 2.

Implementation và kết quả

Development Process & Testing Scripts

Quá trình kiểm thử ETL được triển khai theo thứ tự ưu tiên cấu trúc phụ thuộc:

  1. Kiểm thử bảng Phân loại (Classification - CV) ->
  2. Kiểm thử bảng Master & Sub-Master (IP, IDV, ORG, AR) ->
  3. Kiểm thử bảng Quan hệ (AR_X_IP, AR_X_AR, IP_X_LO) ->
  4. Kiểm thử bảng Giao dịch (TXN, AU_BAL).

Dưới đây là các câu lệnh SQL kiểm thử chuẩn hóa được xây dựng và thực thi trong dự án:

1. Kiểm thử đối soát số lượng bản ghi (Reconciliation Check)

Đảm bảo toàn bộ các bản ghi hợp lệ từ bảng nguồn của phân hệ Cho vay (T24 LD_CONTRACT_BALANCES) được nạp đầy đủ vào bảng AR (Arrangement) của tầng SOR:

-- Kiểm tra chênh lệch số lượng bản ghi giữa Staging và SOR
SELECT 
    (SELECT COUNT(1) FROM STG_T24_LD_CONTRACT WHERE RECORD_STATUS = 'LIVE') AS STG_COUNT,
    (SELECT COUNT(1) FROM SOR_AR WHERE SRC_STM_ID = 'T24_LD' AND AR_TP_ID = 'LOAN') AS SOR_COUNT,
    (SELECT COUNT(1) FROM STG_T24_LD_CONTRACT WHERE RECORD_STATUS = 'LIVE') - 
    (SELECT COUNT(1) FROM SOR_AR WHERE SRC_STM_ID = 'T24_LD' AND AR_TP_ID = 'LOAN') AS DIFF_COUNT
FROM DUAL;

2. Kiểm thử tính duy nhất và toàn vẹn khóa chính (Duplicate & Original Key Check)

Xác thực không tồn tại bất kỳ bản ghi trùng lặp nào trên khóa định danh duy nhất nguồn (UNQ_ID_SRC_STM):

-- Kiểm tra trùng lặp khóa nghiệp vụ trong bảng Khách hàng cá nhân (IDV)
SELECT UNQ_ID_SRC_STM, COUNT(*) AS DUPLICATE_COUNT
FROM SOR_IDV
WHERE SRC_STM_ID = 'T24'
GROUP BY UNQ_ID_SRC_STM
HAVING COUNT(*) > 1;

-- Kiểm tra ràng buộc NOT NULL của các trường bắt buộc
SELECT COUNT(1) AS INVALID_NULL_RECORDS
FROM SOR_AR
WHERE AR_ID IS NULL 
   OR PRIM_CST_ID IS NULL 
   OR AR_TP_ID IS NULL;

3. Kiểm thử ánh xạ thuộc tính (Attribute Mapping Check)

Xác minh giải thuật ánh xạ từ bảng nguồn phân hệ Tiền gửi (T24 ACCOUNT) sang bảng thỏa thuận SOR_AR:

-- So sánh giá trị thuộc tính giữa Staging và SOR cho phân hệ Deposit
SELECT 
    STG.ACCOUNT_NUMBER   AS STG_ACC_NO,
    SOR.UNQ_ID_SRC_STM   AS SOR_ACC_NO,
    STG.OPENING_DATE     AS STG_OPN_DT,
    SOR.AR_EFF_DT        AS SOR_EFF_DT,
    STG.CATEGORY_CODE    AS STG_CAT,
    SOR.GL_CGY_CODE      AS SOR_CAT
FROM STG_T24_ACCOUNT STG
INNER JOIN SOR_AR SOR 
    ON STG.ACCOUNT_NUMBER = SOR.UNQ_ID_SRC_STM 
   AND SOR.SRC_STM_ID = 'T24_DEPOSIT'
WHERE STG.OPENING_DATE <> SOR.AR_EFF_DT
   OR STG.CATEGORY_CODE <> SOR.GL_CGY_CODE;

4. Kiểm thử toàn vẹn lịch sử SCD Type 2 (Slowly Changing Dimension Type 2 Check)

Xác thực khi khách hàng cập nhật số điện thoại hoặc địa chỉ, bản ghi cũ phải được đóng ngày (EXP_DT) và bản ghi mới được kích hoạt với EXP_DT = '2400-01-01':

-- Kiểm tra tính hợp lệ của vòng đời bản ghi SCD Type 2 trong bảng quan hệ AR_X_IP
SELECT 
    AR_ID, 
    IP_ID, 
    EFF_DT, 
    EXP_DT
FROM SOR_AR_X_IP
WHERE EFF_DT >= EXP_DT 
   OR (EXP_DT <> TO_DATE('2400-01-01', 'YYYY-MM-DD') AND EXP_DT > SYSDATE);

Testing và validation

Quá trình kiểm thử System Integration Testing (SIT) và chuẩn bị dữ liệu UAT đã thực hiện trên tập dữ liệu kiểm thử thực tế của ngân hàng với quy mô phân hệ Lending (hơn 1.200.000 hợp đồng vay) và phân hệ Deposit (hơn 3.500.000 tài khoản tiền gửi).

Hạng mục kiểm thử Số lượng Test Cases Tỷ lệ Đạt (Pass Rate) Lỗi phát hiện (Defects) Thời gian xử lý TB
Kiểm thử Bảng Phân loại (CL - CV) 45 100% 2 (Lỗi thiếu mã danh mục) 2 giờ
Kiểm thử Khách hàng (IP - IDV/ORG) 120 100% 14 (Lỗi trùng mã CMT/Hộ chiếu) 4 giờ
Kiểm thử Phân hệ Lending (AR, AR_X_RI) 215 99.5% 23 (Lỗi ánh xạ lãi suất thả nổi) 6 giờ
Kiểm thử Phân hệ Deposit (AR, AR_FIX_TERM) 180 100% 11 (Lỗi định dạng ngày đáo hạn) 3 giờ
Kiểm thử SCD Type 2 & Quan hệ (AR_X_IP) 95 100% 8 (Lỗi chồng lấn khoảng hiệu lực) 5 giờ
Tổng cộng 655 99.8% 58
+-------------------------------------------------------------------------+
|                  BIỂU ĐỒ PHÂN BỐ LỖI THEO MỨC ĐỘ                        |
+-------------------------------------------------------------------------+
|  [Blocker / Critical: 8.6%]  ████ (5 lỗi)                               |
|  [Major: 36.2%]              █████████████████ (21 lỗi)                 |
|  [Medium: 41.4%]             ████████████████████ (24 lỗi)              |
|  [Minor: 13.8%]              ██████ (8 lỗi)                             |
+-------------------------------------------------------------------------+
|  Tổng số Defect phát hiện và đóng: 58/58 (100% Fixed & Verified)       |
+-------------------------------------------------------------------------+

Kết quả đạt được

  • Độ chính xác dữ liệu (Data Accuracy): Đạt 99.998% độ toàn vẹn dữ liệu khi đồng bộ từ T24 sang tầng SOR sau khi hoàn thiện khắc phục toàn bộ 58 lỗi được phát hiện qua các vòng kiểm thử.
  • Rút ngắn thời gian truy vấn báo cáo: Dữ liệu sau khi kiểm thử và nạp chuẩn xác vào tầng SOR/Data Mart giúp giảm thời gian tổng hợp báo cáo dư nợ và tiền gửi từ 4-6 giờ trên hệ thống tác nghiệp xuống còn dưới 3 phút trên DWH.
  • Phát hiện sớm lỗi hệ thống nguồn: Quy trình kiểm thử đã phát hiện 12 trường hợp dữ liệu rác tồn tại từ hệ thống Core Banking cũ (tài khoản không có chủ sở hữu hợp lệ, ngày giải ngân lớn hơn ngày đáo hạn), hỗ trợ bộ phận nghiệp vụ làm sạch dữ liệu nguồn trước khi Go-live chính thức.

Đổi mới và đóng góp

Cải tiến kỹ thuật nổi bật

  1. Chuẩn hóa khung kiểm thử ETL theo mô hình 9 Concepts: Thay vì viết các câu lệnh kiểm thử ngẫu nhiên theo từng bảng riêng lẻ, đề tài xây dựng bộ ma trận ánh xạ (Mapping Test Matrix) có cấu trúc từ khái niệm nghiệp vụ (Business Concepts) đến tầng vật lý, giúp kiểm soát 100% thuộc tính của phân hệ Lending và Deposit.
  2. Kỹ thuật kiểm thử tự động hóa vòng đời bản ghi (SCD Type 2 Automation): Đưa ra công thức kiểm định logic đóng/mở bản ghi lịch sử, ngăn chặn hoàn toàn lỗi nhân bản dữ liệu khách hàng khi có biến động thông tin nhân thân.
  3. So sánh với các giải pháp trên thị trường:
Tiêu chí Giải pháp Kiểm thử Thủ công Truyền thống Giải pháp Kiểm thử Tích hợp của Đề tài
Phương pháp tiếp cận So sánh mẫu ngẫu nhiên (Sampling Check 5-10%) Kiểm thử toàn bộ 100% dữ liệu bằng SQL Scripts
Độ phủ kiểm thử (Coverage) Thấp (< 40% các trường dữ liệu) Toàn diện (100% trường dữ liệu theo SRS)
Khả năng phát hiện lỗi SCD-2 Rất khó, dễ bỏ sót biến động lịch sử Tự động quét trùng lấn khoảng thời gian (EFF_DT/EXP_DT)
Chi phí thời gian kiểm thử Tốn 15-20 ngày công cho mỗi chu kỳ SIT Giảm 65% thời gian, hoàn thành trong 5-6 ngày

Ứng dụng thực tế và triển khai

Tình huống ứng dụng thực tiễn (Use Cases)

  • Kiểm soát rủi ro phân loại nhóm nợ (Lending Module): Dữ liệu hợp đồng vay và lịch sử trả nợ từ phân hệ Lending được ETL chính xác vào các bảng AR, AR_LCS, IP_X_GRP. Hệ thống quản trị rủi ro tự động trích xuất dữ liệu để tính toán phân loại nợ nhóm 1 đến nhóm 5 theo đúng Thông tư của NHNN.
  • Báo cáo thanh khoản tiền gửi (Deposit Module): Phân hệ Deposit nạp dữ liệu kỳ hạn (AR_FIX_TERM) và số dư (AU_BAL) vào Data Mart, cho phép Giám đốc Khối Nguồn vốn phân tích cấu trúc kỳ hạn huy động vốn và dự báo áp lực chi trả lãi suất theo thời gian thực.

Lộ trình triển khai hệ thống (Implementation Roadmap)

Tuần 1-2: Khảo sát SRS, Data Dictionary T24 & Mô hình hóa 9 Concepts
Tuần 3-4: Thiết kế Test Plan, Ma trận Mapping & Bộ kịch bản Test Cases
Tuần 5-8: Thực thi kiểm thử tầng Staging -> SOR (SIT Vòng 1 & Vòng 2)
Tuần 9-10: Kiểm thử chuyển đổi dữ liệu lịch sử (Data Conversion Testing)
Tuần 11-12: Hỗ trợ kiểm thử nghiệm thu người dùng (UAT) & Chuẩn bị Go-live

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  • Các câu lệnh kiểm thử SQL hiện tại vẫn được kích hoạt bán tự động thông qua công cụ quản lý cơ sở dữ liệu (Oracle SQL Developer), chưa được đóng gói hoàn toàn thành một khung kiểm thử tự động liên tục (CI/CD Pipeline for Data).
  • Việc kiểm thử hiệu năng truy vấn trên các tập dữ liệu cực lớn (> 50 triệu bản ghi giao dịch TXN) phụ thuộc nhiều vào tài nguyên phần cứng máy chủ Netezza tại thời điểm test.

Hướng phát triển

  • Ứng dụng các công cụ kiểm thử tự động hóa dữ liệu mã nguồn mở như Great Expectations hoặc QuerySurge để tự động tạo báo cáo kiểm thử ETL.
  • Mở rộng phạm vi kiểm thử sang các phân hệ phức tạp khác của Core Banking như: Mua bán ngoại tệ (FX), Nghiệp vụ phái sinh (DX), Tài trợ thương mại (TF) và Thẻ tín dụng (Card Management).
  • Nghiên cứu tích hợp kiểm thử dòng dữ liệu thời gian thực (Real-time Streaming Data Testing) sử dụng kiến trúc Apache Kafka kết hợp Spark Streaming.

Đối tượng hưởng lợi

+-------------------------------------------------------------------------+
|                     ĐỐI TƯỢNG HƯỞNG LỢI CHÍNH                           |
+-------------------------------------------------------------------------+
|  [Sinh viên HTTTQL / CNTT]    ──> Nắm vững kiến trúc DWH & chuẩn 9 Concepts|
|  [Kỹ sư QA / Data Tester]     ──> Bộ SQL Test Script mẫu & phương pháp SCD|
|  [Ngân hàng & Tổ chức TC]     ──> Báo cáo tài chính sạch, giảm 65% thời gian|
|  [Nhà nghiên cứu DWH/BI]      ──> Tài liệu thực nghiệm chuẩn hóa mô hình SOR|
+-------------------------------------------------------------------------+
  • Sinh viên chuyên ngành Hệ thống thông tin quản lý & CNTT: Nắm bắt mô hình kiến trúc dữ liệu ngân hàng chuẩn quốc tế (IBM 9 Concepts) và các kỹ năng truy vấn SQL nâng cao phục vụ kiểm thử dữ liệu thực tế.
  • Kỹ sư kiểm thử phần mềm (QA/QC) & Kỹ sư Dữ liệu (Data Engineers): Sở hữu bộ khung phương pháp kiểm thử ETL, biểu mẫu Test Cases chi tiết và các kỹ thuật xử lý dữ liệu lịch sử SCD Type 2 có thể tái sử dụng trực tiếp trong các dự án DWH doanh nghiệp.
  • Các Ngân hàng và Tổ chức Tài chính: Nâng cao chất lượng dữ liệu báo cáo tài chính và quản trị, giảm thiểu tối đa rủi ro pháp lý do sai lệch số liệu báo cáo gửi Ngân hàng Nhà nước, tiết kiệm hàng trăm giờ đối soát dữ liệu thủ công.
  • Nhà nghiên cứu và Chuyên gia BI: Cung cấp tài liệu thực nghiệm có giá trị cao về sự phối hợp giữa hệ thống OLTP (Temenos T24) và hệ thống phân tích OLAP chuyên dụng (IBM Netezza).

Câu hỏi thường gặp

1. Yêu cầu kỹ thuật tối thiểu để triển khai bộ kịch bản kiểm thử này là gì?

Hệ thống kiểm thử yêu cầu máy chủ cơ sở dữ liệu cài đặt Oracle Database 11g/12c hoặc IBM Netezza Emulator, RAM tối thiểu 16GB, dung lượng ổ đĩa khả dụng từ 100GB trở lên cho môi trường Test. Phía máy trạm kiểm thử cần cài đặt công cụ quản trị Oracle SQL Developer hoặc DBeaver có hỗ trợ kết nối JDBC/ODBC.

2. Làm thế nào để xử lý sự cố khi số lượng bản ghi giữa Staging và SOR bị lệch (Reconciliation Failure)?

Khi phát hiện lệch số lượng bản ghi:

  • Bước 1: Kiểm tra điều kiện lọc (WHERE RECORD_STATUS = 'LIVE') tại bảng Staging xem có bỏ sót bản ghi trạng thái hủy/đóng hay không.
  • Bước 2: Kiểm tra log lỗi của công cụ ETL (DataStage) để tìm các bản ghi bị từ chối (Rejection Logs) do vi phạm kiểu dữ liệu hoặc vượt độ dài trường (Data Truncation).
  • Bước 3: Kiểm tra bảng danh mục phân loại CV xem có mã phân loại mới từ nguồn T24 chưa được cấu hình tại tầng SOR hay không.

3. Phương pháp kiểm thử này có thể áp dụng cho các hệ thống Core Banking khác ngoài T24 không?

Có. Do mô hình cơ sở dữ liệu lõi SOR của IBM là mô hình chuẩn hóa trung lập với mọi hệ thống nguồn, quy trình kiểm thử này có thể áp dụng hoàn hảo cho các Core Banking khác như Oracle FLEXCUBE, Finacle hay Silverlake, chỉ cần điều chỉnh bảng ánh xạ (Mapping Sheet) từ hệ thống nguồn tương ứng sang tầng Staging.

4. Chi phí và thời gian triển khai một hệ thống kiểm thử DWH ngân hàng là bao nhiêu?

Thông thường, giai đoạn kiểm thử (SIT & UAT) chiếm khoảng 25% đến 30% tổng ngân sách và thời gian của một dự án DWH (kéo dài từ 3 đến 6 tháng tùy thuộc vào số lượng phân hệ nghiệp vụ). Việc áp dụng quy trình kiểm thử chuẩn hóa giúp tiết kiệm từ 40% đến 50% chi phí khắc phục lỗi phát sinh sau khi hệ thống đã Go-live.

5. Cơ chế xử lý đối với các bảng lưu lịch sử SCD Type 2 có làm chậm hiệu năng kiểm thử không?

Các truy vấn kiểm thử SCD Type 2 thường quét trên tập dữ liệu lớn. Để tối ưu hiệu năng, người kiểm thử cần đảm bảo các chỉ mục (Index) trên các cột khóa nghiệp vụ (UNQ_ID_SRC_STM), ngày hiệu lực (EFF_DT) và ngày hết hạn (EXP_DT) đã được khởi tạo đầy đủ trước khi thực thi các kịch bản kiểm tra toàn vẹn.


Kết luận

Đề tài khóa luận "Kiểm thử Data warehouse cho phân hệ Lending và Deposit trong ngân hàng" đã giải quyết thành công bài toán đảm bảo chất lượng và tính toàn vẹn dữ liệu trong quá trình chuyển dịch dữ liệu từ hệ thống ngân hàng lõi Temenos T24 sang Kho dữ liệu tập trung. Thông qua việc áp dụng chuẩn kiến trúc IBM Nine Data Concepts và xây dựng quy trình kiểm thử ETL nhiều lớp chặt chẽ (Reconciliation, Attribute Mapping, Duplicate, Relationship và SCD Type 2), dự án đã đạt tỷ lệ chính xác dữ liệu 99.998%, loại bỏ toàn bộ 58 lỗi nghiệp vụ nghiêm trọng trước giai đoạn vận hành chính thức.

Kết quả nghiên cứu không chỉ mang lại giá trị thực tiễn to lớn cho các tổ chức ngân hàng trong việc xây dựng hệ thống báo cáo Business Intelligence tin cậy phục vụ ra quyết định chiến lược, mà còn đóng góp một khung phương pháp luận kiểm thử dữ liệu thực nghiệm chuẩn mực cho cộng đồng kỹ thuật phần mềm và hệ thống thông tin quản lý tài chính.