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

3 min read

Bài trước đã viết về quy trình và test cases có ETL nên bài hôm nay sẽ nói về các loại bug và trách nhiệm của ETL tester.

Trách nhiệm của ETL tester

Các trách nhiệm chính của một ETL tester được chia làm 3 loại:

  • Stage table/ SFS or MFS
  • Logic chuyển đổi nghiệp vụ được áp dụng
  • Tải dữ liệu từ bảng nguồn vào file hoặc bảng nguồn qua bảng đích khi áp dụng chuyển đổi dữ liệu

Một số trách nhiệm của một ETL tester:

  • Kiểm thử phần mềm ETL.
  • Kiểm thử các thành phần của WH ETL.
  • Thực hiện kiểm thử dựa trên dữ liệu phụ trợ.
  • Tạo, thiết kế và thực thi testcase, test plan và kiểm thử độ cứng.
  • Xác định các vấn đề và cung cấp các giải pháp cho các vấn đề tiềm ẩn.
  • Phê duyệt các yêu cầu và các thông số kỹ thuật thiết kế.
  • Truyền dữ liệu và kiểm thử tập tin phẳng (VD: file CSV, file TSV,..)
  • Viết các câu truy vấn SQL cho các kịch bản khác nhau.

Các loại bug ETL

Loại bugMô tả
User interface bugs/cosmetic bugs– Liên quan tới GUI của ứng dụng
– Font style, font size, colors, loại font chữ, kích thước font, màu sắc, căn chỉnh, lỗi chính tả,…
Boundary Value Analysis (BVA) related bugCác giá trị min và max.
Equivalence Class Partitioning (ECP) related bugLoại đúng và không.
H/W bugThiết bị không đáp ứng với các ứng dụng.
Race Condition bugs– Hệ thống bị chết và treo
– Hệ thống không thể chạy trên nền tảng máy khách.
Load Condition bugs– Không cho phép nhiều người dùng
– Không cho phép khách hàng tải dữ liệu như mong đợi.
Version control bugs– Không có thông tin phiên bản
– Điều này thường xảy ra trong kiểm thử hồi quy.
Source bugs– Lỗi trong tài liệu Help.
Calculation bugs– Các lỗi liên quan đến tính toán
Input/Output bugs– Các giá trị đúng không chấp nhận được
– Các giá trị sai chấp nhận được

Ngoài những phần trên thì còn một vài thông tin cũng nên tìm hiểu thêm như:

Các thực hành tốt nhất đối với kiểm thử ETL

  1. Chắc chắn dữ liệu được chuyển đổi một cách chính xác.
  2. Nỗ lực cho một khẳng định chắc chắn đối với mỗi trường hợp kiểm thử
  3. Không có bất kỳ dữ liệu nào bị mất và các dữ liệu dự kiến được cắt ngắn nên được tải vào kho dữ liệu
  4. Để đo lường hiệu quả của việc kiểm thử thì tất cả các kiểm thử đơn vị nên sử dụng các kỹ thuật bao phủ phù hợp
  5. Đảm bảo rằng ứng dụng ETL từ chối và thay thế bằng các giá trị mặc định cũng như báo cáo dữ liệu không hợp lệ một cách thích hợp.
  6. Cần đảm bảo dữ liệu được tải trong kho dữ liệu trong khoảng thời gian quy định và như dự kiến để xác nhận khả năng mở rộng cũng như hiệu suất.
  7. Tất cả các phương pháp nên có các kiểm thử đơn vị phù hợp bất kể tầm nhìn.
  8. Tạo ra các kiểm thử đơn vị mà mục tiêu ngoại lệ.

Sự khác nhau giữa test CSDL và test ETL:

Test ETLTest CSDL
Đảm bảo không lặp dữ liệu trong quá trình tải dữ liệuĐảm bảo liệu dữ liệu có bị thiếu ở những nơi yêu cầu hay không
Đảm bảo liệu dữ liệu có được di chuyển như mong đợi hay khôngMục tiêu kiểm tra xem liệu dữ liệu có tuân theo các quy tắc / tiêu chuẩn được định nghĩa trong mô hình dữ liệu hay không
Đảm bảo số lượng dữ liệu nguồn và đích có khớp nhau không. Liệu chuyển đổi dữ liệu có như mong đợi hay khôngĐảm bảo không có các bảng dự phòng và CSDL được chuẩn hóa 1 cách tối ưu
Đảm bảo mối quan hệ giữa khóa chính và khóa ngoại được lưu trong ETLĐảm bảo không có bản ghi mồ côi nào và mối quan hệ giữa khóa chính và khóa ngoại được duy trì đúng
Avatar photo

Leave a Reply

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