Hướng dẫn kiểm tra ETL

Kiểm tra ETL là gì?

Thử nghiệm ETL được thực hiện để đảm bảo rằng dữ liệu được tải từ nguồn đến đích sau khi chuyển đổi kinh doanh là chính xác. Nó cũng liên quan đến việc xác minh dữ liệu ở các giai đoạn trung gian khác nhau đang được sử dụng giữa nguồn và đích. ETL là viết tắt của Trích xuất-Chuyển đổi-Tải.

Kiểm tra ETL

Kiểm tra kho dữ liệu

Kiểm tra kho dữ liệu là một phương pháp thử nghiệm trong đó dữ liệu bên trong kho dữ liệu được kiểm tra tính toàn vẹn, độ tin cậy, độ chính xác và tính nhất quán nhằm tuân thủ khung dữ liệu của công ty. Mục đích chính của thử nghiệm kho dữ liệu là để đảm bảo rằng dữ liệu tích hợp bên trong kho dữ liệu đủ tin cậy để công ty đưa ra quyết định.

ETL là gì?

ETL là viết tắt của Extract-Transform-Load và đó là quá trình tải dữ liệu từ hệ thống nguồn đến kho dữ liệu. Dữ liệu được trích xuất từ ​​cơ sở dữ liệu OLTP, được chuyển đổi để khớp với lược đồ kho dữ liệu và được tải vào cơ sở dữ liệu kho dữ liệu. Nhiều kho dữ liệu cũng kết hợp dữ liệu từ các hệ thống không phải OLTP như tệp văn bản, hệ thống cũ và bảng tính.

Hãy xem nó hoạt động như thế nào

Ví dụ: có một cửa hàng bán lẻ có các bộ phận khác nhau như bán hàng, tiếp thị, hậu cần, v.v. Mỗi bộ phận xử lý thông tin khách hàng một cách độc lập và cách họ lưu trữ dữ liệu đó khá khác nhau. Bộ phận bán hàng lưu theo tên khách hàng, bộ phận tiếp thị lưu theo id khách hàng.

Bây giờ nếu họ muốn kiểm tra lịch sử của khách hàng và muốn biết những sản phẩm khác nhau mà khách hàng đã mua nhờ các chiến dịch tiếp thị khác nhau thì sẽ rất tẻ nhạt.

Giải pháp là sử dụng một datawarehouse để lưu trữ thông tin từ các nguồn khác nhau trong một cấu trúc thống nhất bằng ETL. ETL có thể chuyển đổi các tập dữ liệu khác nhau thành một cấu trúc thống nhất.Later sử dụng các công cụ BI để rút ra những hiểu biết và báo cáo có ý nghĩa từ dữ liệu này.

Sơ đồ sau đây trong hướng dẫn kiểm thử ETL này cung cấp cho bạn BẢN ĐỒ LỘ TRÌNH của quy trình kiểm thử ETL và nhiều khái niệm kiểm thử ETL khác nhau:

Trích xuất-Chuyển đổi-Tải

  1. Trích xuất
  • Trích xuất dữ liệu liên quan
  1. Chuyển đổi
  • Chuyển đổi dữ liệu sang định dạng DW (Data Warehouse)
  • Khóa xây dựng – Khóa là một hoặc nhiều thuộc tính dữ liệu xác định duy nhất một thực thể. Nhiều các loại chìa khóa là khóa chính, khóa thay thế, khóa ngoại, khóa tổng hợp, khóa thay thế. Kho dữ liệu sở hữu các khóa này và không bao giờ cho phép bất kỳ thực thể nào khác gán chúng.
  • Làm sạch dữ liệu: Sau khi dữ liệu được trích xuất, nó sẽ chuyển sang giai đoạn tiếp theo là làm sạch và tuân thủ dữ liệu. Việc dọn dẹp sẽ loại bỏ những thiếu sót trong dữ liệu cũng như xác định và sửa lỗi. Tuân thủ có nghĩa là giải quyết xung đột giữa các dữ liệu không tương thích để chúng có thể được sử dụng trong kho dữ liệu doanh nghiệp. Ngoài ra, hệ thống này còn tạo siêu dữ liệu được sử dụng để chẩn đoán các sự cố hệ thống nguồn và cải thiện chất lượng dữ liệu.
  1. Phụ tải
  • Tải dữ liệu vào DW (Data Warehouse)
  • Xây dựng tổng hợp – Tạo tổng hợp là tóm tắt và lưu trữ dữ liệu có sẵn trong bảng thực tế để cải thiện hiệu suất truy vấn của người dùng cuối.

Quy trình kiểm tra ETL

Tương tự như các Quy trình thử nghiệm khác, ETL cũng trải qua các giai đoạn khác nhau. Các giai đoạn khác nhau của quá trình thử nghiệm ETL như sau

Quy trình kiểm tra ETL

Thử nghiệm ETL được thực hiện trong năm giai đoạn

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

Quy trình kiểm tra ETL

Các loại thử nghiệm ETL

Các loại thử nghiệm Quá trình kiểm tra
Kiểm tra xác nhận sản xuất “Cân bằng bảng” hoặc “điều chỉnh sản xuất”, loại thử nghiệm ETL này được thực hiện trên dữ liệu khi nó được chuyển vào hệ thống sản xuất. Để hỗ trợ quyết định kinh doanh của bạn, dữ liệu trong hệ thống sản xuất của bạn phải theo đúng thứ tự. Tin học Tùy chọn xác thực dữ liệu cung cấp khả năng quản lý và tự động hóa thử nghiệm ETL để đảm bảo rằng hệ thống sản xuất không bị dữ liệu xâm phạm.
Nguồn tới Target Kiểm tra (Kiểm tra xác nhận) Loại thử nghiệm như vậy được thực hiện để xác nhận xem các giá trị dữ liệu được chuyển đổi có phải là giá trị dữ liệu dự kiến ​​hay không.
Các Ứng Dụng Upgrades Loại thử nghiệm ETL như vậy có thể được tạo tự động, tiết kiệm đáng kể thời gian phát triển thử nghiệm. Loại thử nghiệm này kiểm tra xem dữ liệu được trích xuất từ ​​ứng dụng hoặc kho lưu trữ cũ có giống hệt với dữ liệu trong kho lưu trữ hoặc ứng dụng mới hay không.
Kiểm tra siêu dữ liệu Kiểm tra siêu dữ liệu bao gồm kiểm tra kiểm tra loại dữ liệu, kiểm tra độ dài dữ liệu và kiểm tra chỉ mục/ràng buộc.
Kiểm tra tính đầy đủ của dữ liệu Để xác minh rằng tất cả dữ liệu dự kiến ​​đã được tải vào mục tiêu từ nguồn, việc kiểm tra tính đầy đủ của dữ liệu sẽ được thực hiện. Một số thử nghiệm có thể chạy là so sánh và xác thực số lượng, tổng hợp và dữ liệu thực tế giữa nguồn và đích cho các cột có chuyển đổi đơn giản hoặc không có chuyển đổi.
Kiểm tra độ chính xác của dữ liệu Thử nghiệm này được thực hiện để đảm bảo dữ liệu được tải và chuyển đổi chính xác như mong đợi.
Kiểm tra chuyển đổi dữ liệu Việc kiểm tra chuyển đổi dữ liệu được thực hiện vì trong nhiều trường hợp không thể đạt được bằng cách viết một nguồn SQL truy vấn và so sánh đầu ra với mục tiêu. Có thể cần phải chạy nhiều truy vấn SQL cho mỗi hàng để xác minh các quy tắc chuyển đổi.
Kiểm tra chất lượng dữ liệu Kiểm tra chất lượng dữ liệu bao gồm kiểm tra cú pháp và tham chiếu. Để tránh bất kỳ lỗi nào do ngày tháng hoặc số đơn hàng trong quá trình kinh doanh, việc kiểm tra Chất lượng Dữ liệu được thực hiện.

Kiểm tra cú pháp: Nó sẽ báo cáo dữ liệu bẩn, dựa trên các ký tự không hợp lệ, mẫu ký tự, thứ tự chữ hoa hoặc chữ thường không chính xác, v.v.

Kiểm tra tham khảo: Nó sẽ kiểm tra dữ liệu theo mô hình dữ liệu. Ví dụ: ID khách hàng

Kiểm tra chất lượng dữ liệu bao gồm kiểm tra số lượng, kiểm tra ngày tháng, kiểm tra độ chính xác, kiểm tra dữ liệu, kiểm tra null, v.v.

Thử nghiệm ETL gia tăng Thử nghiệm này được thực hiện để kiểm tra tính toàn vẹn dữ liệu của dữ liệu cũ và mới bằng cách bổ sung dữ liệu mới. Thử nghiệm gia tăng xác minh rằng các phần chèn và cập nhật đang được xử lý như mong đợi trong quá trình ETL gia tăng.
Kiểm tra GUI/Điều hướng Thử nghiệm này được thực hiện để kiểm tra các khía cạnh điều hướng hoặc GUI của báo cáo giao diện người dùng.

Cách tạo trường hợp thử nghiệm ETL

Thử nghiệm ETL là một khái niệm có thể được áp dụng cho các công cụ và cơ sở dữ liệu khác nhau trong ngành quản lý thông tin. Mục tiêu của thử nghiệm ETL là đảm bảo rằng dữ liệu đã được tải từ nguồn đến đích sau khi chuyển đổi kinh doanh là chính xác. Nó cũng liên quan đến việc xác minh dữ liệu ở các giai đoạn trung gian khác nhau đang được sử dụng giữa nguồn và đích.

Trong khi thực hiện kiểm tra ETL, hai tài liệu sẽ luôn được người kiểm tra ETL sử dụng là

  1. Bảng ánh xạ ETL:Bảng ánh xạ ETL chứa tất cả thông tin của bảng nguồn và bảng đích bao gồm từng cột và thông tin tra cứu của chúng trong bảng tham chiếu. Người kiểm tra ETL cần phải thành thạo với các truy vấn SQL vì kiểm tra ETL có thể liên quan đến việc viết các truy vấn lớn với nhiều phép nối để xác thực dữ liệu ở bất kỳ giai đoạn nào của ETL. Bảng ánh xạ ETL cung cấp trợ giúp đáng kể trong khi viết truy vấn để xác minh dữ liệu.
  2. Lược đồ nguồn DB, Target: Nó nên được giữ sẵn để xác minh bất kỳ chi tiết nào trong tờ bản đồ.

Các kịch bản thử nghiệm và trường hợp thử nghiệm ETL

Kịch bản thử nghiệm Các trường hợp kiểm tra
Xác thực tài liệu bản đồ Xác minh tài liệu ánh xạ xem thông tin ETL tương ứng có được cung cấp hay không. Nhật ký thay đổi phải được duy trì trong mọi tài liệu ánh xạ.
THẨM ĐỊNH
  1. Xác thực cấu trúc bảng nguồn và bảng đích dựa vào tài liệu ánh xạ tương ứng.
  2. Kiểu dữ liệu nguồn và kiểu dữ liệu đích phải giống nhau
  3. Độ dài của kiểu dữ liệu ở cả nguồn và đích phải bằng nhau
  4. Xác minh rằng các loại và định dạng trường dữ liệu được chỉ định
  5. Độ dài kiểu dữ liệu nguồn không được nhỏ hơn độ dài kiểu dữ liệu đích
  6. Xác thực tên của các cột trong bảng dựa vào tài liệu ánh xạ.
Xác thực ràng buộc Đảm bảo các ràng buộc được xác định cho bảng cụ thể như mong đợi
Vấn đề về tính nhất quán của dữ liệu
  1. Kiể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.
  2. Lạm dụng các ràng buộc toàn vẹn
Vấn đề về tính đầy đủ
  1. Đảm bảo rằng tất cả dữ liệu dự kiến ​​được tải vào bảng mục tiêu.
  2. So sánh số lượng bản ghi giữa nguồn và đích.
  3. Kiểm tra mọi hồ sơ bị từ chối
  4. Kiểm tra dữ liệu không nên cắt bớt trong cột của 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
Vấn đề về tính chính xác
  1. Dữ liệu bị sai chính tả hoặc ghi không chính xác
  2. Dữ liệu rỗng, không duy nhất hoặc nằm ngoài phạm vi
Chuyển đổi Chuyển đổi
Chất lượng dữ liệu
  1. Kiểm tra số: Cần kiểm tra số và xác thực nó
  2. Kiểm tra ngày: Họ phải tuân theo định dạng ngày và nó phải giống nhau trên tất cả các bản ghi
  3. Kiểm tra độ chính xác
  4. kiểm tra dữ liệu
  5. Kiểm tra null
Xác thực rỗng Xác minh các giá trị null, trong đó “Không phải Null” được chỉ định cho một cột cụ thể.
Kiểm tra trùng lặp
  1. Cần xác thực khóa duy nhất, khóa chính và bất kỳ cột nào khác phải là duy nhất theo yêu cầu kinh doanh là có bất kỳ hàng trùng lặp nào
  2. Kiểm tra xem có tồn tại bất kỳ giá trị trùng lặp nào trong bất kỳ cột nào đang trích xuất từ ​​​​nhiều cột trong nguồn và kết hợp thành một cột không
  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 khi kết hợp nhiều cột trong mục tiêu
Xác thực ngày Giá trị ngày đang sử dụng nhiều lĩnh vực trong phát triển ETL cho

  1. Để biết ngày tạo hàng
  2. Xác định các bản ghi đang hoạt động theo quan điểm phát triển ETL
  3. Xác định các bản ghi đang hoạt động theo quan điểm yêu cầu kinh doanh
  4. Đôi khi dựa trên giá trị ngày, các bản cập nhật và phần chèn được tạo ra.
Hoàn tất xác thực dữ liệu
  1. Để xác thực tập dữ liệu hoàn chỉnh trong bảng nguồn và bảng đích trừ đi một truy vấn trong giải pháp tốt nhất
  2. Chúng ta cần nguồn trừ mục tiêu và mục tiêu trừ nguồn
  3. Nếu truy vấn trừ trả về bất kỳ giá trị nào thì những giá trị đó sẽ được coi là các hàng không khớp
  4. Cần khớp các hàng giữa nguồn và đích bằng cách sử dụng câu lệnh giao nhau
  5. Số lượng được trả về bởi giao lộ phải khớp với số lượng riêng lẻ của bảng nguồn và bảng đích
  6. Nếu truy vấn trừ trả về số hàng và số lượng giao nhau nhỏ hơn số lượng nguồn hoặc bảng đích thì chúng ta có thể coi là tồn tại các hàng trùng lặp.
Làm sạch dữ liệu Các cột không cần thiết phải được xóa trước khi tải vào khu vực tổ chức.

Các loại lỗi ETL

Các loại lỗi ETL

Loại lỗi Mô tả
Lỗi giao diện người dùng/lỗi mỹ phẩm
  • Liên quan đến GUI của ứng dụng
  • Kiểu phông chữ, cỡ chữ, màu sắc, căn chỉnh, lỗi chính tả, điều hướng, v.v.
Lỗi liên quan đến Phân tích giá trị biên (BVA)
  • Giá trị tối thiểu và tối đa
Lỗi liên quan đến Phân vùng lớp tương đương (ECP)
  • Loại hợp lệ và không hợp lệ
Lỗi đầu vào/đầu ra
  • Giá trị hợp lệ không được chấp nhận
  • Giá trị không hợp lệ được chấp nhận
Lỗi tính toán
  • Lỗi toán học
  • Đầu ra cuối cùng bị sai
Tải lỗi tình trạng
  • Không cho phép nhiều người dùng
  • Không cho phép tải dự kiến ​​của khách hàng
Lỗi tình trạng cuộc đua
  • Hệ thống gặp sự cố và treo
  • Hệ thống không thể chạy nền tảng máy khách
Lỗi kiểm soát phiên bản
  • Không có logo phù hợp
  • Không có thông tin phiên bản
  • Điều này thường xảy ra ở Kiểm tra hồi quy
Lỗi H/W
  • Thiết bị không phản hồi với ứng dụng
Lỗi nguồn trợ giúp
  • Lỗi trong tài liệu trợ giúp

Sự khác biệt giữa Kiểm tra cơ sở dữ liệu và Kiểm tra ETL

Kiểm tra ETL Kiểm tra cơ sở dữ liệu
Xác minh xem dữ liệu có được di chuyển như mong đợi hay không Mục tiêu chính là kiểm tra xem dữ liệu có tuân theo các quy tắc/tiêu chuẩn được xác định trong Mô hình dữ liệu hay không
Xác minh xem số lượng trong nguồn và đích có khớp nhau hay không

Xác minh xem dữ liệu được chuyển đổi có đúng như mong đợi hay không

Xác minh rằng không có hồ sơ mồ côi và các mối quan hệ khóa chính ngoài nước được duy trì
Xác minh rằng các mối quan hệ khóa chính nước ngoài được giữ nguyên trong ETL Xác minh rằng không có bảng dư thừa và cơ sở dữ liệu được chuẩn hóa tối ưu
Xác minh sự trùng lặp trong dữ liệu được tải Xác minh xem dữ liệu có bị thiếu trong các cột khi cần thiết không

Trách nhiệm của Người kiểm tra ETL

Trách nhiệm chính của người kiểm tra ETL được chia thành ba loại

  • Bảng giai đoạn/SFS hoặc MFS
  • Áp dụng logic chuyển đổi kinh doanh
  • Target tải bảng từ tệp giai đoạn hoặc bảng sau khi áp dụng chuyển đổi.

Một số trách nhiệm của người kiểm tra ETL là

  • Kiểm tra phần mềm ETL
  • Các thành phần thử nghiệm của kho dữ liệu ETL
  • Thực hiện kiểm tra dựa trên dữ liệu phụ trợ
  • Tạo, thiết kế và thực hiện trường hợp thử nghiệm, kế hoạch kiểm tra và khai thác kiểm tra
  • Xác định vấn đề và đưa ra giải pháp cho các vấn đề tiềm ẩn
  • Phê duyệt yêu cầu và thông số kỹ thuật thiết kế
  • Truyền dữ liệu và kiểm tra tệp phẳng
  • Viết truy vấn SQL3 cho các tình huống khác nhau như kiểm tra số lượng

Kiểm tra hiệu suất trong ETL

Kiểm tra hiệu suất trong ETL là một kỹ thuật thử nghiệm để đảm bảo rằng hệ thống ETL có thể xử lý tải của nhiều người dùng và giao dịch. Mục tiêu chính của ETL Kiểm tra năng suất là tối ưu hóa và cải thiện hiệu suất phiên bằng cách xác định và loại bỏ các tắc nghẽn về hiệu suất. Cơ sở dữ liệu nguồn và đích, ánh xạ, phiên và hệ thống có thể có những hạn chế về hiệu suất.

Một trong những công cụ tốt nhất được sử dụng để Kiểm tra/Điều chỉnh Hiệu suất là Informatica.

Tự động hóa thử nghiệm ETL

Phương pháp chung của kiểm tra ETL là sử dụng tập lệnh SQL hoặc thực hiện “nhãn cầu” dữ liệu.. Các phương pháp kiểm tra ETL này tốn thời gian, dễ xảy ra lỗi và hiếm khi cung cấp đầy đủ Kiểm tra vùng phủ sóng. Để tăng tốc, cải thiện độ bao phủ, giảm chi phí, cải thiện Khiếm khuyết khẩu phần phát hiện của thử nghiệm ETL trong môi trường sản xuất và phát triển, tự động hóa là nhu cầu cấp thiết. Một công cụ như vậy là Informatica.

Thực tiễn tốt nhất để thử nghiệm ETL

  1. Đảm bảo dữ liệu được chuyển đổi chính xác
  2. Dữ liệu dự kiến ​​​​sẽ được tải vào kho dữ liệu mà không bị mất và cắt bớt dữ liệu
  3. Đảm bảo rằng ứng dụng ETL từ chối và thay thế một cách thích hợp bằng các giá trị mặc định và báo cáo dữ liệu không hợp lệ
  4. Cần đảm bảo 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 khả năng mở rộng và hiệu suất
  5. Tất cả các phương pháp phải có bài kiểm tra đơn vị phù hợp bất kể khả năng hiển thị
  6. Để đo lường hiệu quả của chúng, tất cả các bài kiểm tra đơn vị nên sử dụng các kỹ thuật bao phủ thích hợp
  7. Phấn đấu đạt được một khẳng định cho mỗi trường hợp thử nghiệm
  8. Tạo kiểm tra đơn vị nhắm mục tiêu ngoại lệ

Thủ tục thanh toán - Câu hỏi và câu trả lời phỏng vấn kiểm tra ETL