Los proyectos ETL son proyectos creados usando una herramienta ETL (Extraer - Transformar - Cargar) como SSIS, PowerCenter, etc.
Por lo general, esto implica leer datos de una fuente externa, cargarlos en una base de datos provisional, realizar ciertas transformaciones y cargarlos en una base de datos final
Un ejemplo simple sería usar SSIS para leer archivos de Excel proporcionados por maestros de escuela usando SSIS y cargarlos en una base de datos. Luego escriba procedimientos almacenados o más paquetes SSIS para calcular las calificaciones de cada estudiante y cargar esos datos en un data mart \ warehouse
Luego, crea procedimientos almacenados en la parte superior de la tienda para generar resultados que utilizan las herramientas de informes (SSRS \ Excel \ etc.) para generar visualizaciones.
Estoy tratando de entender cómo realizar TDD y pruebas de unidad adecuadas en este escenario. Las pruebas para ETL son principalmente para garantizar que los datos cargados en las tablas de preparación coincidan con el subconjunto correcto de los datos de la fuente. Entonces, implementar una prueba para esto lleva a implementar una versión mini del ETL. La salida de los SP del informe depende de los datos en las tablas mismas, por lo que no se puede tener un conjunto estable de datos de salida sin una pesadilla de mantenimiento, incluso si se crea una base de datos que contenga datos de prueba depurados
Ejemplo:
Sprint 1: la tabla del estudiante contiene Nombre, Edad, Grado
Crea datos de prueba para esta tabla y pruebas unitarias basadas en eso
Sprint 2: se agrega un campo de género a la tabla.
Ahora, si actualiza los datos en el campo del alumno para llenar el atributo de género, los casos de prueba se invalidan ya que los datos cambiaron. Y si no lo hace, no puede crear casos de prueba que requieran la columna de género