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 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
- Trích xuất dữ liệu liên quan
- 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.
- 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
Thử nghiệm ETL được thực hiện trong năm giai đoạn
- Xác định nguồn dữ liệu và yêu cầu
- Thu thập dữ liệu
- Triển khai logic nghiệp vụ và mô hình hóa chiều
- Xây dựng và điền dữ liệu
- Xây dựng báo cáo
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à
- 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.
- 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 |
|
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 |
|
Vấn đề về tính đầy đủ |
|
Vấn đề về tính chính xác |
|
Chuyển đổi | Chuyển đổi |
Chất lượng dữ liệu |
|
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 |
|
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
|
Hoàn tất xác thực dữ liệu |
|
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
Loại lỗi | Mô tả |
---|---|
Lỗi giao diện người dùng/lỗi mỹ phẩm |
|
Lỗi liên quan đến Phân tích giá trị biên (BVA) |
|
Lỗi liên quan đến Phân vùng lớp tương đương (ECP) |
|
Lỗi đầu vào/đầu ra |
|
Lỗi tính toán |
|
Tải lỗi tình trạng |
|
Lỗi tình trạng cuộc đua |
|
Lỗi kiểm soát phiên bản |
|
Lỗi H/W |
|
Lỗi nguồn 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
- Đảm bảo dữ liệu được chuyển đổi chính xác
- 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
- Đả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ệ
- 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
- 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ị
- Để đ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
- Phấn đấu đạt được một khẳng định cho mỗi trường hợp thử nghiệm
- 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