ETL-Test-Tutorial
Was ist ETL-Test?
ETL-Tests werden durchgeführt, um sicherzustellen, dass die Daten, die nach der Geschäftstransformation von einer Quelle zum Ziel geladen wurden, korrekt sind. Dazu gehört auch die Überprüfung der Daten in verschiedenen Zwischenstufen, die zwischen Quelle und Ziel verwendet werden. ETL steht für Extract-Transform-Load.
Data Warehouse-Tests
Data Warehouse-Tests ist eine Testmethode, bei der die Daten innerhalb eines Data Warehouse auf Integrität, Zuverlässigkeit, Genauigkeit und Konsistenz getestet werden, um dem Datenrahmen des Unternehmens zu entsprechen. Der Hauptzweck von Data-Warehouse-Tests besteht darin, sicherzustellen, dass die integrierten Daten im Data-Warehouse zuverlässig genug sind, damit ein Unternehmen Entscheidungen treffen kann.
Was ist ETL?
ETL steht für Extract-Transform-Load und ist ein Prozess, bei dem Daten vom Quellsystem in das Data Warehouse geladen werden. Daten werden aus einer OLTP-Datenbank extrahiert, entsprechend dem Data Warehouse-Schema transformiert und in die Data Warehouse-Datenbank geladen. Viele Data Warehouses integrieren auch Daten aus Nicht-OLTP-Systemen wie Textdateien, Altsystemen und Tabellenkalkulationen.
Mal sehen wie es funktioniert
Beispielsweise gibt es ein Einzelhandelsgeschäft mit verschiedenen Abteilungen wie Vertrieb, Marketing, Logistik usw. Jede von ihnen verwaltet die Kundeninformationen unabhängig voneinander, und die Art und Weise, wie sie diese Daten speichern, ist sehr unterschiedlich. Die Vertriebsabteilung hat es nach Kundennamen gespeichert, die Marketingabteilung nach Kunden-ID.
Wenn sie nun die Historie des Kunden überprüfen und wissen möchten, welche unterschiedlichen Produkte er/sie aufgrund unterschiedlicher Marketingkampagnen gekauft hat, wäre das sehr mühsam.
Die Lösung besteht darin, a . zu verwenden Data-Warehouse Informationen aus unterschiedlichen Quellen mittels ETL in einer einheitlichen Struktur zu speichern. ETL kann unterschiedliche Datensätze in eine einheitliche Struktur umwandeln.Later Nutzen Sie BI-Tools, um aus diesen Daten aussagekräftige Erkenntnisse und Berichte abzuleiten.
Das folgende Diagramm in diesem ETL-Test-Tutorial zeigt Ihnen den ROAD MAP des ETL-Testprozessablaufs und verschiedener ETL-Testkonzepte:
1) Auszug
- Extrahieren Sie relevante Daten
2) Transform
- Transformieren Sie Daten in das DW-Format (Data Warehouse).
- Build-Schlüssel – Ein Schlüssel besteht aus einem oder mehreren Datenattributen, die eine Entität eindeutig identifizieren. Verschieden Arten von Schlüsseln sind Primärschlüssel, Alternativschlüssel, Fremdschlüssel, zusammengesetzter Schlüssel, Ersatzschlüssel. Das Datawarehouse ist Eigentümer dieser Schlüssel und erlaubt niemals einer anderen Entität, sie zuzuweisen.
- Bereinigung der Daten: Nachdem die Daten extrahiert wurden, geht es in die nächste Phase, der Bereinigung und Anpassung der Daten. Durch die Bereinigung werden Auslassungen in den Daten behoben sowie Fehler identifiziert und behoben. Unter Konformität versteht man die Lösung der Konflikte zwischen den Daten, die inkompatibel sind, sodass sie in einem Unternehmens-Data-Warehouse verwendet werden können. Darüber hinaus erstellt dieses System Metadaten, die zur Diagnose von Quellsystemproblemen verwendet werden und die Datenqualität verbessern.
3) Laden
- Daten in DW (Data Warehouse) laden
- Aggregate erstellen – Beim Erstellen eines Aggregates werden Daten zusammengefasst und gespeichert, die verfügbar sind in Faktentabelle um die Leistung von Endbenutzerabfragen zu verbessern.
ETL-Testprozess
Ähnlich wie andere Testprozesse durchläuft auch ETL verschiedene Phasen. Die verschiedenen Phasen des ETL-Testprozesses sind wie folgt
ETL-Tests werden in fünf Schritten durchgeführt
- Identifizieren von Datenquellen und Anforderungen
- Datenerfassung
- Implementieren Sie Geschäftslogiken und dimensionale Modellierung
- Erstellen und füllen Sie Daten
- Erstellen Sie Berichte
Arten von ETL-Tests
- Produktionsvalidierungstests
Testprozess: „Table Balancing“ oder „Production Reconciliation“ – diese Art von ETL-Tests wird an Daten durchgeführt, während diese in Produktionssysteme verschoben werden. Um Ihre Geschäftsentscheidung zu unterstützen, müssen die Daten in Ihren Produktionssystemen in der richtigen Reihenfolge sein. Informatik Die Datenvalidierungsoption bietet Automatisierungs- und Verwaltungsfunktionen für ETL-Tests, um sicherzustellen, dass Produktionssysteme nicht durch die Daten gefährdet werden. - Quelle zu Target Testen (Validierungstests)
Testprozess: Diese Art von Tests wird durchgeführt, um zu überprüfen, ob die transformierten Datenwerte die erwarteten Datenwerte sind. - Anwendungsbereiche Upgrades
Testprozess: Solche ETL-Tests können automatisch generiert werden, wodurch erhebliche Zeit für die Testentwicklung eingespart wird. Bei dieser Art von Tests wird überprüft, ob die aus einer älteren Anwendung oder einem Repository extrahierten Daten genau mit den Daten in einem Repository oder einer neuen Anwendung übereinstimmen. - Metadatentests
Testprozess: Das Testen von Metadaten umfasst das Testen der Datentypprüfung, der Datenlängenprüfung und der Index-/Einschränkungsprüfung. - Prüfung der Datenvollständigkeit
Testprozess: Um zu überprüfen, ob alle erwarteten Daten von der Quelle in das Ziel geladen werden, wird ein Datenvollständigkeitstest durchgeführt. Einige der Tests, die ausgeführt werden können, sind das Vergleichen und Validieren von Zählungen, Aggregationen und tatsächlichen Daten zwischen der Quelle und dem Ziel für Spalten mit einfacher oder keiner Transformation. - Prüfung der Datengenauigkeit
Testprozess: Diese Tests werden durchgeführt, um sicherzustellen, dass die Daten wie erwartet genau geladen und transformiert werden. - Testen der Datentransformation
Testprozess: Die Datentransformation wird getestet, da sie in vielen Fällen nicht durch das Schreiben einer Quelle erreicht werden kann SQL Abfrage und Vergleich der Ausgabe mit dem Ziel. Möglicherweise müssen für jede Zeile mehrere SQL-Abfragen ausgeführt werden, um die Transformationsregeln zu überprüfen. - Prüfung der Datenqualität
Testprozess:Datenqualitätstests umfassen Syntax- und Referenztests. Um Fehler aufgrund des Datums oder der Bestellnummer während des Geschäftsprozesses zu vermeiden, werden Datenqualitätstests durchgeführt.
Syntaxtests: Es werden fehlerhafte Daten gemeldet, die auf ungültigen Zeichen, Zeichenmustern, falscher Groß- oder Kleinschreibung usw. basieren.
Referenztests: Die Daten werden anhand des Datenmodells überprüft. Beispiel: Kunden-ID
Die Prüfung der Datenqualität umfasst Nummernprüfung, Datumsprüfung, Präzisionsprüfung, Datenprüfung, Nullprüfung usw.
- Inkrementeller ETL-Test
Testprozess: Dieser Test wird durchgeführt, um die Datenintegrität alter und neuer Daten bei Hinzufügung neuer Daten zu überprüfen. Durch inkrementelle Tests wird überprüft, ob die Einfügungen und Aktualisierungen während des inkrementellen ETL-Prozesses wie erwartet verarbeitet werden. - GUI-/Navigationstests
Testprozess: Diese Tests werden durchgeführt, um die Navigations- oder GUI-Aspekte der Front-End-Berichte zu überprüfen.
So erstellen Sie einen ETL-Testfall
ETL-Tests sind ein Konzept, das auf verschiedene Tools und Datenbanken in der Informationsmanagementbranche angewendet werden kann. Das Ziel von ETL-Tests besteht darin, sicherzustellen, dass die Daten, die nach der Geschäftstransformation von einer Quelle zum Ziel geladen wurden, korrekt sind. Dazu gehört auch die Überprüfung der Daten in verschiedenen Zwischenstufen, die zwischen Quelle und Ziel verwendet werden.
Bei der Durchführung von ETL-Tests werden von einem ETL-Tester immer zwei Dokumente verwendet:
- ETL-Zuordnungsblätter:Ein ETL-Zuordnungsblatt enthält alle Informationen zu Quell- und Zieltabellen, einschließlich jeder einzelnen Spalte und deren Suche in Referenztabellen. Ein ETL-Tester muss mit SQL-Abfragen vertraut sein, da ETL-Tests das Schreiben großer Abfragen mit mehreren Verknüpfungen umfassen können, um Daten in jeder ETL-Phase zu validieren. ETL-Zuordnungsblätter bieten eine erhebliche Hilfe beim Schreiben von Abfragen zur Datenüberprüfung.
- DB-Schema der Quelle, Target: Es sollte griffbereit aufbewahrt werden, um alle Details in Kartierungsblättern überprüfen zu können.
ETL-Testszenarien und Testfälle
- Validierung von Zuordnungsdokumenten
Testfälle: Überprüfen Sie im Zuordnungsdokument, ob entsprechende ETL-Informationen bereitgestellt werden oder nicht. Das Änderungsprotokoll sollte in jedem Mapping-Dokument aufbewahrt werden. - Validierung
Testfälle:1) Validieren Sie die Quell- und Zieltabellenstruktur anhand des entsprechenden Mapping-Dokuments.
2) Quelldatentyp und Zieldatentyp sollten identisch sein
3) Die Länge der Datentypen in Quelle und Ziel sollte gleich sein
4) Überprüfen Sie, ob Datenfeldtypen und -formate angegeben sind
5) Die Länge des Quelldatentyps sollte nicht kleiner sein als die Länge des Zieldatentyps
6) Überprüfen Sie die Namen der Spalten in der Tabelle anhand des Zuordnungsdokuments. - Einschränkungsvalidierung
Testfälle: Stellen Sie sicher, dass die Einschränkungen wie erwartet für eine bestimmte Tabelle definiert sind - Probleme mit der Datenkonsistenz
Testfälle:1) Der Datentyp und die Länge für ein bestimmtes Attribut können in Dateien oder Tabellen variieren, obwohl die semantische Definition dieselbe ist.
2) Missbrauch von Integritätsbeschränkungen - Probleme mit der Vollständigkeit
Testfälle:1) Stellen Sie sicher, dass alle erwarteten Daten in die Zieltabelle geladen werden.
2) Vergleichen Sie die Datensatzanzahl zwischen Quelle und Ziel.
3) Überprüfen Sie, ob Datensätze abgelehnt wurden
4) Überprüfen Sie, ob die Daten in der Spalte der Zieltabellen abgeschnitten werden dürfen.
5) Grenzwertanalyse prüfen
6) Vergleicht eindeutige Werte von Schlüsselfeldern zwischen in WH geladenen Daten und Quelldaten - Korrektheitsprobleme
Testfälle:1) Falsch geschriebene oder ungenau erfasste Daten
2) Null-, nicht eindeutige oder außerhalb des Bereichs liegende Daten - Transformation
Testfälle: Transformation - Datenqualität
Testfälle:1) Nummernprüfung: Sie müssen die Nummer prüfen und validieren
2) Datumsprüfung: Sie müssen dem Datumsformat folgen und es sollte in allen Datensätzen gleich sein
3) Präzisionsprüfung
4) Datenprüfung
5) Nullprüfung - Nullvalidierung
Testfälle: Überprüfen Sie die Nullwerte, wenn für eine bestimmte Spalte „Nicht Null“ angegeben ist. - Duplikatsprüfung
Testfälle:1) Der eindeutige Schlüssel, der Primärschlüssel und alle anderen Spalten müssen gemäß den Geschäftsanforderungen eindeutig sein und dürfen keine doppelten Zeilen enthalten.
2) Überprüfen Sie, ob in einer Spalte, die aus mehreren Spalten in der Quelle extrahiert und in einer Spalte kombiniert wird, doppelte Werte vorhanden sind
3) Gemäß den Kundenanforderungen muss sichergestellt werden, dass keine Duplikate in Kombination mehrerer Spalten nur innerhalb des Ziels vorhanden sind - Datumsüberprüfung
Testfälle: Datumswerte werden in vielen Bereichen der ETL-Entwicklung verwendet1) Um das Erstellungsdatum der Zeile zu erfahren
2) Identifizieren Sie aktive Datensätze gemäß der ETL-Entwicklungsperspektive
3) Identifizieren Sie aktive Datensätze gemäß der Perspektive der Geschäftsanforderungen
4) Manchmal werden die Aktualisierungen und Einfügungen basierend auf den Datumswerten generiert. - Vollständige Datenvalidierung
Testfälle:1) Um den gesamten Datensatz in Quell- und Zieltabelle abzüglich einer Abfrage in einer besten Lösung zu validieren
2) Wir brauchen Quelle minus Ziel und Ziel minus Quelle
3) Wenn die Minusabfrage einen Wert zurückgibt, sollten diese als nicht übereinstimmende Zeilen betrachtet werden
4) Muss Zeilen zwischen Quelle und Ziel mithilfe der Intersect-Anweisung abgleichen
5) Die von intersect zurückgegebene Anzahl sollte mit den einzelnen Anzahlen der Quell- und Zieltabellen übereinstimmen
6) Wenn die Minusabfrage Zeilen zurückgibt und die Anzahl der Schnittpunkte kleiner ist als die Quellanzahl oder die Zieltabelle, können wir davon ausgehen, dass doppelte Zeilen vorhanden sind. - Datensauberkeit
Testfälle: Unnötige Spalten sollten vor dem Laden in den Staging-Bereich gelöscht werden.
Arten von ETL-Fehlern
Art der Fehler | Beschreibung |
---|---|
Fehler in der Benutzeroberfläche/kosmetische Fehler |
• Bezogen auf die GUI der Anwendung • Schriftart, Schriftgröße, Farben, Ausrichtung, Rechtschreibfehler, Navigation usw. |
Fehler im Zusammenhang mit der Grenzwertanalyse (BVA). | • Minimal- und Maximalwerte |
Fehler im Zusammenhang mit der Äquivalenzklassenpartitionierung (ECP). | • Gültiger und ungültiger Typ |
Eingabe-/Ausgabefehler |
• Gültige Werte werden nicht akzeptiert • Ungültige Werte akzeptiert |
Berechnungsfehler |
• Rechenfehler • Die endgültige Ausgabe ist falsch |
Ladebedingungsfehler |
• Erlaubt nicht mehrere Benutzer • Lässt die vom Kunden erwartete Auslastung nicht zu |
Race-Condition-Fehler |
• Systemabsturz und -aufhängung • Das System kann keine Client-Plattformen ausführen |
Fehler in der Versionskontrolle |
• Keine Logoübereinstimmung • Keine Versionsinformationen verfügbar • Dies geschieht normalerweise in Regressionstests |
H/W-Fehler | • Das Gerät reagiert nicht auf die Anwendung |
Helfen Sie, Fehler zu beheben | • Fehler in Hilfedokumenten |
Unterschied zwischen Datenbanktests und ETL-Tests
ETL-Tests | Datenbanktests |
---|---|
Überprüft, ob Daten wie erwartet verschoben werden | Das primäre Ziel besteht darin, zu überprüfen, ob die Daten den im Datenmodell definierten Regeln/Standards entsprechen. |
Überprüft, ob die Zählungen in der Quelle und im Ziel übereinstimmen
Überprüft, ob die transformierten Daten den Erwartungen entsprechen |
Stellen Sie sicher, dass keine verwaisten Datensätze vorhanden sind und Fremd-Primärschlüssel-Beziehungen beibehalten werden |
Überprüft, ob die fremden Primärschlüsselbeziehungen während des ETL beibehalten werden | Stellt sicher, dass keine redundanten Tabellen vorhanden sind und die Datenbank optimal normalisiert ist |
Überprüft die geladenen Daten auf Duplikate | Überprüfen Sie bei Bedarf, ob in den Spalten Daten fehlen |
Aufgaben eines ETL-Testers
Die Hauptaufgaben eines ETL-Testers sind in drei Kategorien unterteilt
- Bühnentisch/ SFS oder MFS
- Angewandte Geschäftstransformationslogik
- Target Tabellen werden aus der Stage-Datei oder Tabelle geladen, nachdem eine Transformation angewendet wurde.
Zu den Aufgaben eines ETL-Testers gehören:
- Testen Sie die ETL-Software
- Testkomponenten des ETL-Datawarehouses
- Führen Sie einen datengesteuerten Backend-Test durch
- Erstellen, entwerfen und ausführen Testfälle, Testpläne und Testumgebung
- Identifizieren Sie das Problem und bieten Sie Lösungen für potenzielle Probleme an
- Genehmigen Sie Anforderungen und Designspezifikationen
- Datenübertragungen und Test-Flatfile
- Schreiben von SQL-Abfragen3 für verschiedene Szenarien wie Zähltests
Leistungstests in ETL
Leistungstests in ETL ist eine Testtechnik, um sicherzustellen, dass ein ETL-System die Last mehrerer Benutzer und Transaktionen bewältigen kann. Das Hauptziel von ETL Performance Testing besteht darin, die Sitzungsleistung durch die Identifizierung und Beseitigung von Leistungsengpässen zu optimieren und zu verbessern. Die Quell- und Zieldatenbanken, Mappings, Sitzungen und das System weisen möglicherweise Leistungsengpässe auf.
Eines der besten Tools für Leistungstests/-optimierungen ist Informatica.
Automatisierung von ETL-Tests
Die allgemeine Methodik des ETL-Testens besteht darin, SQL-Skripte zu verwenden oder Daten zu „beobachten“. Diese Ansätze für ETL-Tests sind zeitaufwändig, fehleranfällig und liefern selten vollständige Ergebnisse Testabdeckung. Beschleunigen, Abdeckung verbessern, Kosten senken, verbessern Defekt Erkennungsrate von ETL-Tests in Produktions- und Entwicklungsumgebungen ist Automatisierung das Gebot der Stunde. Ein solches Tool ist Informatica.
Best Practices für ETL-Tests
- Stellen Sie sicher, dass die Daten korrekt transformiert werden
- Ohne Datenverlust und Kürzung sollten die projizierten Daten in das Data Warehouse geladen werden
- Stellen Sie sicher, dass die ETL-Anwendung die Werte entsprechend ablehnt und durch Standardwerte ersetzt und ungültige Daten meldet
- Es muss sichergestellt werden, dass die Daten innerhalb der vorgeschriebenen und erwarteten Zeitrahmen in das Data Warehouse geladen werden, um Skalierbarkeit und Leistung zu bestätigen
- Alle Methoden sollten unabhängig von der Sichtbarkeit über entsprechende Unit-Tests verfügen
- Um ihre Wirksamkeit zu messen, sollten alle Unit-Tests geeignete Abdeckungstechniken verwenden
- Streben Sie eine Behauptung pro Testfall an
- Kreation Komponententests die auf Ausnahmen abzielen
Auschecken - Fragen und Antworten zum ETL-Testinterview