Les projets ETL sont des projets créés à l'aide d'un outil ETL (Extraire - Transformer - Charger) tel que SSIS, PowerCenter, etc.
Il s'agit généralement de lire les données d'une source externe, de les charger dans une base de données intermédiaire, d'effectuer certaines transformations et de les charger dans une base de données finale
Un exemple simple serait d'utiliser SSIS pour lire les fichiers Excel fournis par les enseignants utilisant SSIS et les charger dans une base de données. Ensuite, écrivez des procédures stockées ou plusieurs packages SSIS pour calculer les notes de chaque étudiant et charger ces données dans un magasin de données \ entrepôt
Vous créez ensuite des procédures stockées au-dessus du magasin pour générer une sortie qui est utilisée par les outils de génération de rapports (SSRS \ Excel \ etc) pour générer des visualisations.
J'essaie de comprendre comment effectuer TDD et les tests unitaires appropriés dans ce scénario. Les tests pour les ETL consistent principalement à s'assurer que les données chargées dans les correspondances des tables de transfert sont le bon sous-ensemble des données de la source. Donc, l'implémentation d'un test pour cela conduit à l'implémentation d'une mini version de l'ETL. La sortie des rapports SP dépend des données dans les tables elles-mêmes, donc on ne peut pas avoir un ensemble stable de données de sortie sans un cauchemar de maintenance même si vous créez une base de données contenant des données de test nettoyées
Exemple:
Sprint 1: le tableau des étudiants contient le nom, l'âge, la classe
Vous créez des données de test pour ce tableau et des tests unitaires basés sur ce
Sprint 2: un champ de genre est ajouté au tableau.
Maintenant, si vous actualisez les données dans le champ étudiant pour remplir l'attribut de genre, les cas de test sont invalidés depuis la modification des données. Et si vous ne le faites pas, vous ne pouvez pas créer de cas de test qui nécessitent la colonne de sexe