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.

ETL-Tests

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:

Extrahieren-Transformieren-Laden

  1. Extrahieren
  • Extrahieren Sie relevante Daten
  1. Transformieren
  • 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.
  1. Laden Sie
  • 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-Testprozess

ETL-Tests werden in fünf Schritten durchgeführt

  1. Identifizieren von Datenquellen und Anforderungen
  2. Datenerfassung
  3. Implementieren Sie Geschäftslogiken und dimensionale Modellierung
  4. Erstellen und füllen Sie Daten
  5. Erstellen Sie Berichte

ETL-Testprozess

Arten von ETL-Tests

Arten von Tests Testprozess
Produktionsvalidierungstests „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) Diese Art von Tests wird durchgeführt, um zu überprüfen, ob die transformierten Datenwerte die erwarteten Datenwerte sind.
Anwendungsbereiche Upgrades 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 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 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 Diese Tests werden durchgeführt, um sicherzustellen, dass die Daten wie erwartet genau geladen und transformiert werden.
Testen der Datentransformation 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 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 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 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:

  1. 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.
  2. 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

Testszenario Testfälle
Validierung von Zuordnungsdokumenten Überprüfen Sie im Zuordnungsdokument, ob entsprechende ETL-Informationen bereitgestellt werden oder nicht. Das Änderungsprotokoll sollte in jedem Mapping-Dokument aufbewahrt werden.
Validierung
  1. Validieren Sie die Quell- und Zieltabellenstruktur anhand des entsprechenden Zuordnungsdokuments.
  2. Quelldatentyp und Zieldatentyp sollten identisch sein
  3. Die Länge der Datentypen in Quelle und Ziel sollte gleich sein
  4. Stellen Sie sicher, dass Datenfeldtypen und -formate angegeben sind
  5. Die Länge des Quelldatentyps sollte nicht kleiner sein als die Länge des Zieldatentyps
  6. Validieren Sie die Namen der Spalten in der Tabelle anhand des Zuordnungsdokuments.
Einschränkungsvalidierung Stellen Sie sicher, dass die Einschränkungen wie erwartet für eine bestimmte Tabelle definiert sind
Probleme mit der Datenkonsistenz
  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
  1. Stellen Sie sicher, dass alle erwarteten Daten in die Zieltabelle geladen werden.
  2. Vergleichen Sie die Datensatzanzahl zwischen Quelle und Ziel.
  3. Suchen Sie nach abgelehnten Datensätzen
  4. Prüfdaten sollten in der Spalte der Zieltabellen nicht abgeschnitten werden
  5. Grenzwertanalyse prüfen
  6. Vergleicht eindeutige Werte von Schlüsselfeldern zwischen in WH geladenen Daten und Quelldaten
Korrektheitsprobleme
  1. Daten, die falsch geschrieben oder ungenau aufgezeichnet sind
  2. Null-, nicht eindeutige oder außerhalb des gültigen Bereichs liegende Daten
Transformation Transformation
Datenqualität
  1. Nummernprüfung: Die Nummer muss überprüft und validiert werden
  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 Überprüfen Sie die Nullwerte, wenn für eine bestimmte Spalte „Nicht Null“ angegeben ist.
Duplikatsprüfung
  1. Es müssen der eindeutige Schlüssel, der Primärschlüssel und alle anderen Spalten validiert werden, die gemäß den Geschäftsanforderungen eindeutig sein müssen und doppelte Zeilen enthalten
  2. Überprüfen Sie, ob in einer Spalte, die aus mehreren Spalten in der Quelle extrahiert und in einer Spalte zusammengefasst 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 Datumswerte werden in vielen Bereichen der ETL-Entwicklung verwendet

  1. Um das Erstellungsdatum der Zeile zu erfahren
  2. Identifizieren Sie aktive Datensätze gemäß der ETL-Entwicklungsperspektive
  3. Identifizieren Sie aktive Datensätze gemäß den Geschäftsanforderungen
  4. Manchmal werden Aktualisierungen und Einfügungen basierend auf den Datumswerten generiert.
Vollständige Datenvalidierung
  1. Zur Validierung des vollständigen Datensatzes in der Quell- und Zieltabelle abzüglich einer Abfrage in einer besten Lösung
  2. Wir müssen Quelle minus Ziel und Ziel minus Quelle angeben
  3. Wenn eine Minus-Abfrage einen Wert zurückgibt, sollten diese als nicht übereinstimmende Zeilen betrachtet werden
  4. Es müssen mithilfe der Intersect-Anweisung Zeilen zwischen Quelle und Ziel abgeglichen werden
  5. Die von intersect zurückgegebene Anzahl sollte mit den einzelnen Anzahlen der Quell- und Zieltabellen übereinstimmen
  6. Wenn minus Abfragerückgaben von Zeilen und die Anzahl der Schnittmengen kleiner als die Quellanzahl oder die Zieltabelle ist, können wir davon ausgehen, dass doppelte Zeilen vorhanden sind.
Datensauberkeit Unnötige Spalten sollten vor dem Laden in den Staging-Bereich gelöscht werden.

Arten von ETL-Fehlern

Arten von ETL-Fehlern

Art der Fehler BESCHREIBUNG
Fehler in der Benutzeroberfläche/kosmetische Fehler
  • Bezieht sich auf die GUI der Anwendung
  • Schriftstil, 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
  • Mathematische Fehler
  • Die endgültige Ausgabe ist falsch
Ladebedingungsfehler
  • Erlaubt nicht mehrere Benutzer
  • Ermöglicht nicht die vom Kunden erwartete Last
Race-Condition-Fehler
  • Systemabsturz und Aufhängen
  • 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

  1. Stellen Sie sicher, dass die Daten korrekt transformiert werden
  2. Ohne Datenverlust und Kürzung sollten die projizierten Daten in das Data Warehouse geladen werden
  3. Stellen Sie sicher, dass die ETL-Anwendung die Werte entsprechend ablehnt und durch Standardwerte ersetzt und ungültige Daten meldet
  4. 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
  5. Alle Methoden sollten unabhängig von der Sichtbarkeit über entsprechende Unit-Tests verfügen
  6. Um ihre Wirksamkeit zu messen, sollten alle Unit-Tests geeignete Abdeckungstechniken verwenden
  7. Streben Sie eine Behauptung pro Testfall an
  8. Kreation Komponententests die auf Ausnahmen abzielen

Auschecken - Fragen und Antworten zum ETL-Testinterview