Blog

[ETL Testing / Data Warehouse Testing Tutorial] – Hướng dẫn chi tiết

Toàn bộ Hướng dẫn sẽ có trong loạt bài này: 

  • Hướng dẫn # 1 :  Kiểm thử kho dữ liệu thử nghiệm ETL Hướng dẫn giới thiệu
  • Hướng dẫn # 2 :  Kiểm thử ETL bằng Công cụ Informatica PowerCenter
  • Hướng dẫn # 3 :  Thử nghiệm ETL so với DB
  • Hướng dẫn # 4 :  Kiểm thử Business Intelligence (BI): Cách Kiểm tra Dữ liệu Kinh doanh
  • Hướng dẫn # 5 :  10 công cụ kiểm thử ETL hàng đầu

Khách hàng đã được cung cấp nhiều loại sản phẩm khác nhau về cung cấp dịch vụ, được phân phối trong nhiều lĩnh vực dựa trên công nghệ, quy trình và giải pháp. ETL hay kho dữ liệu (Data Warehouse) là một trong những dịch vụ đang phát triển nhanh chóng và thành công.

ETL Informatica Tutorial for Beginners

Thông qua quy trình ETL, dữ liệu được lấy từ hệ thống nguồn, được chuyển đổi theo quy tắc nghiệp vụ và cuối cùng được tải vào hệ thống đích (kho dữ liệu). Kho dữ liệu là một kho lưu trữ toàn doanh nghiệp chứa dữ liệu tích hợp hỗ trợ quá trình ra quyết định kinh doanh. Nó là một phần của kinh doanh thông minh (business intelligence).

Tại sao các tổ chức, doanh nghiệp cần Kho dữ liệu (Data Warehouse)?

Các tổ chức, doanh nghiệp đang mong muốn tạo ra mức độ chuyển đổi công nghệ tiếp theo. Giờ đây, họ đang cố gắng làm cho mình hoạt động hiệu quả hơn nhiều với dữ liệu dễ tương tác.

Phải nói rằng dữ liệu là phần quan trọng nhất của bất kỳ tổ chức nào, nó có thể là dữ liệu hàng ngày hoặc dữ liệu lịch sử. Dữ liệu là xương sống của bất kỳ báo cáo nào và các báo cáo là cơ sở để thực hiện tất cả các quyết định quản lý quan trọng.

Hầu hết các công ty đang tiến một bước trong việc xây dựng kho dữ liệu của họ để lưu trữ và theo dõi dữ liệu thời gian thực cũng như dữ liệu lịch sử. Xây dựng một kho dữ liệu hiệu quả không phải là một công việc dễ dàng. Nhiều tổ chức đã phân phối các phòng ban với các ứng dụng khác nhau chạy trên công nghệ phân tán.

Công cụ ETL được sử dụng để tích hợp hoàn hảo giữa các nguồn dữ liệu khác nhau từ các phòng ban khác nhau. Công cụ ETL sẽ hoạt động như một bộ tích hợp, trích xuất dữ liệu từ các nguồn khác nhau; chuyển đổi nó thành định dạng ưa thích dựa trên các quy tắc chuyển đổi kinh doanh và tải nó trong DB liên kết được gọi là Kho dữ liệu.

Được lập kế hoạch tốt, xác định rõ và phạm vi kiểm tra hiệu quả đảm bảo việc chuyển đổi diễn ra suôn sẻ . Một doanh nghiệp đạt được sức nổi bật thực sự khi các quy trình ETL được xác minh và xác thực bởi một nhóm chuyên gia độc lập để đảm bảo rằng kho dữ liệu là cụ thể và mạnh mẽ.

Kiểm thử ETL hoặc Kiểm thử kho dữ liệu được phân loại thành bốn hoạt động khác nhau bất kể sử dụng công nghệ hoặc công cụ ETL nào:

  • Kiểm thử kho dữ liệu (Data Warehouse Testing) – DWH được xây dựng và xác minh từ đầu. Dữ liệu đầu vào được lấy từ các yêu cầu của khách hàng và các nguồn dữ liệu khác nhau và kho dữ liệu mới được xây dựng và xác minh với sự trợ giúp của các công cụ ETL.
  • Kiểm thử sự di chuyển (Migration Testing) – Trong loại dự án này, khách hàng sẽ có DWH và ETL hiện có, thực hiện công việc nhưng họ đang tìm kiếm công cụ mới để cải thiện hiệu quả.
  • Yêu cầu thay đổi (Change Request) – Trong loại dự án này, dữ liệu mới được thêm từ các nguồn khác nhau vào DWH hiện có. Ngoài ra, có thể có một điều kiện mà khách hàng cần thay đổi quy tắc kinh doanh hiện tại của họ hoặc họ có thể tích hợp quy tắc mới.
  • Kiểm tra Báo cáo (Report Testing) – Báo cáo là kết quả cuối cùng của bất kỳ Kho dữ liệu nào và là đề xuất cơ bản mà DW xây dựng. Báo cáo phải được kiểm tra bằng cách xác nhận layout, dữ liệu trong báo cáo và việc tính toán.

Quy trình ETL

ETL testing

Kỹ thuật kiểm thử ETL

1) Kiểm thử chuyển đổi dữ liệu (Data transformation) : Đảm bảo rằng dữ liệu được chuyển đổi chính xác theo các yêu cầu và quy tắc kinh doanh khác nhau.

2) Kiểm tra số lượng từ Nguồn đến Mục tiêu : Đảm bảo rằng số lượng bản ghi được tải trong mục tiêu phù hợp với số lượng dự kiến.

3) Kiểm tra dữ liệu từ nguồn đến mục tiêu : Đảm bảo rằng tất cả dữ liệu dự kiến ​​được tải vào kho dữ liệu mà không bị mất và cắt bớt dữ liệu.

4) Kiểm thử chất lượng dữ liệu (Data Quality Testing) : Đảm bảo rằng các công cụ ETL từ chối thích hợp, thay thế bằng các giá trị mặc định và báo cáo dữ liệu không hợp lệ.

5) Kiểm thử hiệu suất (Performance Testing): Đảm bảo rằng dữ liệu được tải vào kho dữ liệu trong khung thời gian quy định và dự kiến ​​để xác nhận hiệu suất và khả năng mở rộng.

6) Kiểm thử xác thực Production ( Production Validation Testing): Xác thực dữ liệu trong hệ thống Production  và so sánh nó với dữ liệu nguồn.

7) Kiểm thử tích hợp dữ liệu (Data Integration Testing): Đảm bảo rằng dữ liệu từ các nguồn khác nhau đã được tải đúng cách vào hệ thống đích và tất cả các giá trị ngưỡng đã được kiểm tra.

8) Thử nghiệm di chuyển ứng dụng (Application Migration Testing): Trong thử nghiệm này, đảm bảo rằng ứng dụng ETL đang hoạt động tốt khi chuyển sang hộp hoặc nền tảng mới.

9) Kiểm tra dữ liệu & ràng buộc : Kiểu dữ liệu, độ dài, chỉ mục, các ràng buộc, v.v..

10) Kiểm tra dữ liệu trùng lặp : Kiểm tra xem có bất kỳ dữ liệu trùng lặp nào trong hệ thống đích không. Dữ liệu trùng lặp có thể dẫn đến báo cáo phân tích sai.

Ngoài các phương pháp kiểm tra ETL ở trên, các phương pháp kiểm tra khác như kiểm tra tích hợp hệ thống, kiểm tra chấp nhận người dùng, kiểm tra gia tăng, kiểm tra hồi quy, kiểm tra lại và kiểm tra điều hướng cũng được thực hiện để đảm bảo mọi thứ đều trơn tru và đáng tin cậy.

Quy trình  kiểm thử ETL /  Data Warehouse

Tương tự như bất kỳ kiểm thử khác, quy trình kiểm thử ETL cũng trải qua giai đoạn tương tự.

  • Nắm rõ các yêu cầu nghiệp vụ
  • Xác thực
  • Ước tính kiểm thử: dựa trên một số bảng, độ phức tạp của các quy tắc, khối lượng dữ liệu và hiệu suất của một công việc.
  • Lập kế hoạch kiểm thử: dựa trên các yếu tố đầu vào từ ước tính kiểm thử và yêu cầu nghiệp vụ. Ở đây chúng ta cần xác định rằng cái gì trong phạm vi và cái gì ngoài phạm vi. Chúng ta cũng xem xét các yếu tố phụ thuộc, rủi ro và kế hoạch giảm thiểu trong giai đoạn này.
  • Thiết kế Test case và kịch bả kiểm thử từ tất cả các đầu vào có sẵn. Chúng ta cũng cần thiết kế tài liệu ánh xạ và tập lệnh SQL.
  • Khi tất cả các trường hợp kiểm thử đã sẵn sàng và được chấp thuận, nhóm kiểm thử tiến hành thực hiện kiểm tra trước khi thực hiện và chuẩn bị dữ liệu kiểm tra để kiểm tra
  • Cuối cùng, việc thực thi được thực hiện cho đến khi đáp ứng các tiêu chí. Vì vậy, giai đoạn thực thi bao gồm chạy các công việc ETL, giám sát chạy công việc, thực thi tập lệnh SQL, ghi lại lỗi, kiểm tra lại lỗi và kiểm tra hồi quy.
  • Sau khi hoàn thành thành công, một báo cáo tóm tắt được chuẩn bị và quá trình kết thúc được thực hiện

Hai giai đoạn đầu tức là hiểu yêu cầu nghiệp vụ và xác nhận có thể được coi là các bước trước của quá trình kiểm tra ETL.

Vì vậy, quá trình chính có thể được biểu diễn như sau:

main process

Cần phải xác định chiến lược kiểm thử mà các bên liên quan phải cùng chấp nhận trước khi bắt đầu kiểm thử thực tế. Một chiến lược thử nghiệm được xác định rõ ràng sẽ đảm bảo rằng phương pháp tiếp cận là đúng để đáp ứng yêu cầu kiêm thử.

Kiểm thử ETL / Data Warehouse có thể yêu cầu nhóm kiểm thử viết nhiều câu lệnh SQL hoặc có thể điều chỉnh lại các câu lệnh SQL do nhóm phát triển cung cấp. Trong mọi trường hợp, nhóm kiểm thử phải biết về kết quả mà họ đang cố gắng đạt được khi sử dụng các câu lệnh SQL đó.

Sự khác biệt giữa kiểm thử Cơ sở dữ liệu và Kiểm thử Kho dữ liệu

Có một sự hiểu lầm phổ biến rằng kiểm thử cơ sở dữ liệu và kho dữ liệu là tương tự nhau trong khi thực tế là cả hai đều có hướng kiểm tra khác nhau.

  • Kiểm thử cơ sở dữ liệu được thực hiện bằng cách sử dụng quy mô dữ liệu nhỏ hơn thông thường với loại cơ sở dữ liệu OLTP (Xử lý giao dịch trực tuyến) trong khi kiểm tra kho dữ liệu được thực hiện với khối lượng lớn với dữ liệu liên quan đến cơ sở dữ liệu OLAP (xử lý phân tích trực tuyến).
  • Trong kiểm thử cơ sở dữ liệu, dữ liệu thường được đưa vào từ các nguồn thống nhất trong khi trong kiểm tra kho dữ liệu, hầu hết dữ liệu đến từ các loại nguồn dữ liệu khác nhau không nhất quán về trình tự.
  • Nói chung, chúng ta thực hiện hoạt động CRUD (Create, read, update and delete) duy nhất trong kiểm tra cơ sở dữ liệu trong khi kiểm tra kho dữ liệu, chúng ta sử dụng hoạt động chỉ đọc (Select).
  • Cơ sở dữ liệu chuẩn hóa được sử dụng trong thử nghiệm DB trong khi DB phân cấp được sử dụng trong thử nghiệm kho dữ liệu.

Dưới đây là danh sách các đối tượng được coi là cần thiết để xác thực trong kiểm thử này:

  • Xác minh rằng việc chuyển đổi dữ liệu từ nguồn sang đích hoạt động như mong đợi
  • Xác minh rằng dữ liệu mong đợi được thêm vào hệ thống đích
  • Xác minh rằng tất cả các trường DB và dữ liệu trường được tải mà không bị cắt bớt
  • Xác minh tổng kiểm tra dữ liệu để khớp số bản ghi
  • Xác minh rằng đối với dữ liệu bị từ chối, nhật ký lỗi thích hợp được tạo với tất cả các chi tiết
  • Xác minh các trường giá trị NULL
  • Xác minh rằng dữ liệu trùng lặp không được tải
  • Xác minh tính toàn vẹn của dữ liệu

Thách thức trong kiểm thử ETL

Có rất nhiều thách thức mà chúng ta phải đối mặt khi thực hiện kiểm tra kho dữ liệu.

Dưới đây là một số thách thức mà bạn có thể gặp trong dự án của mình:

  • Dữ liệu không tương thích và trùng lặp
  • Mất dữ liệu trong quá trình ETL
  • Người kiểm tra không có quyền để thực hiện các công việc ETL của riêng họ
  • Khối lượng và độ phức tạp của dữ liệu là rất lớn
  •  Sai sót trong quy trình và thủ tục kinh doanh
  • Sự cố khi thu thập và xây dựng dữ liệu thử nghiệm
  • Môi trường thử nghiệm không ổn định
  • Thiếu thông tin về luồng kinh doanh

Dữ liệu quan trọng đối với các doanh nghiệp để đưa ra các quyết định kinh doanh quan trọng. Kiểm thử ETL đóng một vai trò quan trọng trong việc xác nhận và đảm bảo rằng thông tin kinh doanh là chính xác, nhất quán và đáng tin cậy. Ngoài ra, nó giảm thiểu nguy cơ mất dữ liệu trong quá trình chạy thực tế.

Hy vọng những mẹo này sẽ giúp đảm bảo quy trình ETL của bạn chính xác và việc xây dựng kho dữ liệu bằng cách này là một lợi thế cạnh tranh cho doanh nghiệp của bạn.

    LIÊN HỆ VỚI CHÚNG TÔI ĐỂ NHẬN ĐƯỢC TƯ VẤN MIỄN PHÍ
    Xin vui lòng điền vào form dưới đây. Chúng tôi sẽ liên hệ lại ngay cho bạn khi nhận được thông tin:






    Leave a Reply

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