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:
- Extrahieren
- Extrahieren Sie relevante Daten
- 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.
- 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-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
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:
- 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
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 |
|
Einschränkungsvalidierung | Stellen Sie sicher, dass die Einschränkungen wie erwartet für eine bestimmte Tabelle definiert sind |
Probleme mit der Datenkonsistenz |
|
Probleme mit der Vollständigkeit |
|
Korrektheitsprobleme |
|
Transformation | Transformation |
Datenqualität |
|
Nullvalidierung | Überprüfen Sie die Nullwerte, wenn für eine bestimmte Spalte „Nicht Null“ angegeben ist. |
Duplikatsprüfung |
|
Datumsüberprüfung | Datumswerte werden in vielen Bereichen der ETL-Entwicklung verwendet
|
Vollständige Datenvalidierung |
|
Datensauberkeit | 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 |
|
Fehler im Zusammenhang mit der Grenzwertanalyse (BVA). |
|
Fehler im Zusammenhang mit der Äquivalenzklassenpartitionierung (ECP). |
|
Eingabe-/Ausgabefehler |
|
Berechnungsfehler |
|
Ladebedingungsfehler |
|
Race-Condition-Fehler |
|
Fehler in der Versionskontrolle |
|
H/W-Fehler |
|
Helfen Sie, Fehler zu beheben |
|
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