ETL - Projekte sind Projekte, die mit einem ETL - Tool (Extract - Transform - Load) wie SSIS, PowerCenter usw. Erstellt wurden
Dazu gehören normalerweise das Lesen von Daten aus einer externen Quelle, das Laden in eine Staging-Datenbank, das Durchführen bestimmter Transformationen und das Laden in eine endgültige Datenbank
Ein einfaches Beispiel wäre die Verwendung von SSIS, um von Schullehrern mit SSIS bereitgestellte Excel-Dateien zu lesen und in eine Datenbank zu laden. Schreiben Sie dann gespeicherte Prozeduren oder mehrere SSIS-Pakete, um die Noten jedes Schülers zu berechnen und diese Daten in ein Data Mart \ Warehouse zu laden
Anschließend erstellen Sie gespeicherte Prozeduren auf dem Mart, um eine Ausgabe zu generieren, die von Berichtstools (SSRS \ Excel \ etc) zum Generieren von Visualisierungen verwendet wird.
Ich versuche zu verstehen, wie TDD und ordnungsgemäße Komponententests in diesem Szenario durchgeführt werden. Bei ETL-Tests geht es hauptsächlich darum, sicherzustellen, dass die in die Staging-Tabellen geladenen Daten der richtigen Teilmenge der Daten aus der Quelle entsprechen. Wenn Sie also einen Test dafür implementieren, wird eine Mini-Version der ETL implementiert. Die Ausgabe der Bericht-SPs hängt von den Daten in den Tabellen selbst ab. Ohne einen Wartungs-Alptraum kann man also keinen stabilen Satz von Ausgabedaten haben, selbst wenn Sie eine Datenbank erstellen, die bereinigte Testdaten enthält
Beispiel:
Sprint 1: Die Schülertabelle enthält Name, Alter und Note
Sie erstellen Testdaten für diese Tabelle und darauf aufbauend Unit-Tests
Sprint 2: Ein Geschlechtsfeld wird zur Tabelle hinzugefügt.
Wenn Sie jetzt die Daten im Schülerfeld aktualisieren, um das Attribut gender zu füllen, werden die Testfälle ungültig, da sich die Daten geändert haben. Und wenn Sie dies nicht tun, können Sie keine Testfälle erstellen, für die die Geschlechterspalte erforderlich ist