Các dự án ETL là các dự án được tạo bằng công cụ ETL (Trích xuất - Chuyển đổi - Tải) như SSIS, PowerCenter, v.v.
Chúng thường liên quan đến việc đọc dữ liệu từ nguồn bên ngoài, tải nó vào cơ sở dữ liệu dàn, thực hiện các biến đổi nhất định và tải nó vào cơ sở dữ liệu cuối cùng
Một ví dụ đơn giản là sử dụng SSIS để đọc các tệp excel được cung cấp bởi các giáo viên sử dụng SSIS và tải chúng vào cơ sở dữ liệu. Sau đó viết các thủ tục được lưu trữ hoặc nhiều gói SSIS hơn để tính điểm của từng học sinh và tải dữ liệu đó vào một kho dữ liệu
Sau đó, bạn xây dựng các quy trình được lưu trữ trên đỉnh mart để tạo đầu ra được sử dụng bởi các công cụ báo cáo (SSRS \ Excel \ etc) để tạo trực quan hóa.
Tôi đang cố gắng hiểu làm thế nào để thực hiện TDD và kiểm tra đơn vị thích hợp trong kịch bản này. Các thử nghiệm cho ETL chủ yếu là về việc đảm bảo dữ liệu được tải trong các bảng phân tầng khớp với tập hợp con của dữ liệu từ nguồn. Vì vậy, việc thực hiện một thử nghiệm cho nó dẫn đến việc thực hiện một phiên bản mini của ETL. Đầu ra của SP báo cáo phụ thuộc vào chính dữ liệu trong các bảng, do đó, người ta không thể có một bộ dữ liệu đầu ra ổn định mà không gặp ác mộng bảo trì ngay cả khi bạn tạo cơ sở dữ liệu chứa dữ liệu kiểm tra được lọc
Thí dụ:
Sprint 1: Bảng học sinh chứa Tên, Tuổi, Lớp
Bạn tạo dữ liệu thử nghiệm cho bảng này và thử nghiệm đơn vị dựa trên đó
Sprint 2: Một trường giới tính được thêm vào bảng.
Bây giờ, nếu bạn làm mới dữ liệu trong trường sinh viên để điền thuộc tính giới tính, các trường hợp kiểm tra sẽ bị vô hiệu do dữ liệu thay đổi. Và nếu bạn không, bạn không thể tạo các trường hợp kiểm tra yêu cầu cột giới tính