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:
1) Trích xuất
- Trích xuất dữ liệu liên quan
2) Biế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.
3) 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
- Kiểm tra xác nhận sản xuất
Quá trình kiểm tra: “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)
Quá trình kiểm tra: 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
Quá trình kiểm tra: 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
Quá trình kiểm tra: 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
Quá trình kiểm tra: Để 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
Quá trình kiểm tra: 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
Quá trình kiểm tra: 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
Quá trình kiểm tra: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
Quá trình kiểm tra: 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
Quá trình kiểm tra: 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
- Xác thực tài liệu bản đồ
Các trường hợp thử nghiệm: 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
Các trường hợp thử nghiệm:1) Xác thực cấu trúc bảng nguồn và bảng đích với 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 các 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 trường dữ liệu và định dạng đượ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 so với tài liệu ánh xạ. - Xác thực ràng buộc
Các trường hợp thử nghiệm: Đả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
Các trường hợp thử nghiệm:1) Kiểu dữ liệu và độ dài của 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 đủ
Các trường hợp thử nghiệm:1) Đảm bảo rằng tất cả dữ liệu mong muố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 bất kỳ hồ sơ nào bị từ chối
4) Kiểm tra dữ liệu không được 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
Các trường hợp thử nghiệm:1) Dữ liệu bị viết 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 nằm ngoài phạm vi - Chuyển đổi
Các trường hợp thử nghiệm: Chuyển đổi - Chất lượng dữ liệu
Các trường hợp thử nghiệm: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
Các trường hợp thử nghiệm: 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
Các trường hợp thử nghiệm: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 có bất kỳ hàng trùng lặp nào
2) Kiểm tra xem có bất kỳ giá trị trùng lặp nào tồn tại trong bất kỳ cột nào được 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 không có sự trùng lặp trong sự kết hợp của nhiều cột chỉ trong mục tiêu - Xác thực ngày
Các trường hợp thử nghiệm: Giá trị ngày đang sử dụng nhiều lĩnh vực trong phát triển ETL cho1) Để 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 các bản cập nhật và chèn được tạo ra dựa trên giá trị ngày tháng. - Hoàn tất xác thực dữ liệu
Các trường hợp thử nghiệm:1) Để xác thực toàn bộ tập dữ liệu trong bảng nguồn và bảng đích trừ đi truy vấn trong giải pháp tốt nhất
2) Chúng ta cần nguồn trừ đi mục tiêu và mục tiêu trừ đi nguồn
3) Nếu truy vấn trừ trả về bất kỳ giá trị nào thì những giá trị đó phải được coi là các hàng không khớp
4) Cần phải 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 trả về bởi intersect 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 kết quả truy vấn trừ trả về số hàng và số giao nhau nhỏ hơn số lượng nguồn hoặc bảng đích thì chúng ta có thể coi như có tồn tại các hàng trùng lặp. - Làm sạch dữ liệu
Các trường hợp thử nghiệm: 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ả Chi tiế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 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) | • Kiểu 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 • Chấp nhận các giá trị không hợp lệ |
Lỗi tính toán |
• Lỗi toán học • Kết quả đầu ra cuối cùng là 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 trọng mong đợi của khách hàng |
Lỗi tình trạng cuộc đua |
• Hệ thống bị sập 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 nào có sẵ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 ứ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
- Đả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