ETL Testing và Data Warehouse Testing (Phần 2)

4 min read

Tiếp nối phần 1 viết về các thuật ngữ cơ bản cần biết về ETL testing thì hôm nay sẽ nói sâu hơn về quy trình và cách tạo test cases để test ETL như thế nào.

Tại sao phải thực hiện test ETL?

ETL Testing (Extract, Transform, Load) là quá trình đảm bảo rằng dữ liệu được tải từ các nguồn đến các điểm đích sau khi chuyển đổi dữ liệu là chính xác. Và ETL testing cũng liên quan đến việc xác minh dữ liệu tại các giai đoạn đang được sử dụng ở giữa nguồn và đích.

Quy trình thực hiện test ETL

ETL testing được thực hiện trong 5 giai đoạn:

  1. Xác định yêu cầu và các nguồn dữ liệu
  2. Thu thập dữ liệu
  3. Triển khai logic nghiệp vụ và mô hình hóa kích thước
  4. Xây dựng và lấy dữ liệu
  5. Xây dựng báo cáo

Tạo test cases test ETL

Trong khi thực hiện kiểm thử ETL, có 2 tài liệu luôn được 1 Tester ETL sử dụng đó là:

1. Sơ đồ DB của nguồn và đích:

Cần được note rõ ràng cẩn thận để xác minh bất kỳ chi tiết nào trong các bảng ánh xạ

2. Bảng ánh xạ ETL:

Bảng ánh xạ ETL chứa tất cả thông tin các bảng nguồn và đích gồm mỗi cột và các tra cứu tương ứng. Nó giúp tester viết các câu truy vấn để xác minh dữ liệu. Tester ETL cần phải biết và hiểu rõ các truy vấn SQL. Test ETL có thể phải viết các câu truy vấn lớn với nhiều bảng để xác thực dữ liệu ở bất kỳ giai đoạn nào của ETL.

Testplan và test cases để thực hiện test ETL

Test planTest cases
Xác minh tài liệu ánh xạXác minh tài liệu ánh xạ xem liệu thông tin ETL tương ứng có được cung cấp hay không. Thay đổi Log nên duy trì trong mọi tài liệu ánh xạ.
Xác minh ràng buộcĐảm bảo các ràng buộc được xác định cho bảng cụ thể là chính xác và đúng như mong muốn.
Nhất quán dữ liệuKiểu dữ liệu và độ dài cho một thuộc tính cụ thể có thể khác nhau trong các tệp hoặc bảng mặc dù định nghĩa ngữ nghĩa là giống nhau.
Xác nhận
cấu trúc dữ liệu
Xác nhận cấu trúc bảng nguồn và đích dựa trên tài liệu ánh xạ tương ứng. Loại dữ liệu nguồn và dữ liệu đích nên giống nhau, độ dài của các loại phải bằng nhau,… Xác thực tên của các cột trong bảng dựa trên tài liệu ánh xạ.
Các vấn đề về tính đầy đủ1. Đảm bảo rằng tất cả các dữ liệu mong đợi được tải vào bảng đích.
2. So sánh số lượng bản ghi giữa nguồn và đích.
3. Kiểm tra các bản ghi bất kỳ bị bỏ đi.
4. Kiểm tra dữ liệu không nên bị rút ngắn trong cột của các bảng mục tiêu.
5. Kiểm tra phân tích giá trị biên.
6. So sánh các giá trị duy nhất của các trường khóa giữa dữ liệu được tải vào WH và dữ liệu nguồn.
Xác thực dữ liệu hoàn chỉnh1. Để xác thực tập dữ liệu hoàn chỉnh trong các bảng nguồn và đích trừ đi một truy vấn trong một giải pháp tốt nhất.
2. Cần lấy dữ liệu nguồn trừ dữ liệu đích và ngược lại. Nếu câu truy vấn trừ trả về bất kỳ giá trị nào thì những giá trị này nên được xem là các hàng không khớp.
3. Cần khớp các hàng giữa dữ liệu nguồn và đích sử dụng câu lệnh giao nhau.
4. Số lượng được trả về từ các câu lệnh giao nhau nên khớp với số lượng đơn lẻ của các bảng dữ liệu nguồn và đích.
5. Nếu câu truy vấn trừ trả về các hàng và số lượng đếm được từ câu lệnh giao nhau nhỏ hơn số lượng số lượng của bảng nguồn hoặc đích thì chúng ta có thể coi như có các hàng trùng lặp.
Tính đúng đắn của dữ liệu1. Dữ liệu mà bị sai chính tả hoặc ghi không chính xác.
2. Dữ liệu null, không duy nhất hoặc ngoài phạm vi.
Chất lượng dữ liệu1. Kiểm tra số liệu: Các con số cần kiểm tra và xác nhận.
2. Kiểm tra ngày tháng: Dữ liệu phải tuân theo định dạng ngày tháng và nó cần phải giống nhau ở tất cả.
3. Kiểm tra độ chính xác.
4. Kiểm tra dữ liệu.
5. Kiểm tra null
Kiểm tra trùng lặp1. Cần xác thực khóa chính và cột bất kỳ nên là duy nhất theo yêu cầu nghiệp vụ đang có bất kỳ hàng trùng lặp nào.
2. Kiểm tra nếu bất kỳ giá trị nào trùng lặp tồn tại trong bất kỳ cột nào mà đang trích xuất từ nhiều cột ở dữ liệu nguồn và kết hợp chúng lại thành 1 cột.
3. Theo yêu cầu của khách hàng, cần đảm bảo rằng không có sự trùng lặp kết hợp nhiều cột trong mục tiêu.
4. Theo yêu cầu khách hàng, cần đảm bảo rằng không có giá trị trùng trong sự kết hợp của nhiều cột mục tiêu duy nhất.
Độ sạch của dữ liệuCác cột không cần thiết nên được xóa trước khi tải vào khu vực trung gian để tránh làm tốn bộ lưu trữ dẫn đến thời gian thực hiện quy trình xử lý lâu hơn và không cần thiết.

Avatar photo

Leave a Reply

Your email address will not be published. Required fields are marked *