ETL-Tests: Ein Überblick

ETL-Tests sind ein unabdingbarer Teil des ETL-Prozesses, der Daten aus einem Quellsystem extrahiert, in einen konsistenten Datentyp transformiert und anschließend in ein einziges Depot lädt. Denn während der Prozess sich auf die Aspekte Extraktion, Transformation und Laden konzentriert, ebnen ETL-Testing-Tools den Weg von der Quelle zum Ziel. Somit können Unternehmen häufige Fehler bei der Informationsübertragung umgehen, um neue Datensätze ohne Hindernisse zu nutzen. Was genau hinter den ETL-Tests steckt, erfahren Sie im Folgenden.

Was sind ETL-Tests?

ETL-Tests bezeichnen die Validierung, Verifizierung und Qualifizierung von Daten. Gleichzeitig verhindern sie Dubletten und Datenverluste. Außerdem stellt das ETL-Testing einerseits sicher, dass die Übertragung der Daten von heterogenen Quellen zum zentralen Data Warehouse unter strenger Einhaltung der Transformationsregeln abläuft. Andererseits gewährleistet der Prozess die Erfüllung sämtlicher Validitätsprüfungen.

Anders als bei dem für Datenbanktests eingesetzten Datenabgleich werden ETL-Tests an Data Warehouse-Systemen durchgeführt und haben das Ziel, relevante Informationen für Analysen und Business Intelligence zu gewinnen.

Wann sind ETL-Tests sinnvoll?

ETL-Tests sind im Grunde immer dann von Vorteil, wenn Unternehmen ETL-Prozesse durchführen. Denn der gesamte Ablauf ist anfällig sowohl für menschliche als auch für systembedingte Fehler. Mithilfe von ETL-Testing lassen sich derartige Fehler leichter lösen, in den meisten Fällen sogar verhindern.

Insbesondere in folgenden Situationen ist das Durchführen eines ETL-Tests sinnvoll:

  • Wenn Sie ein neues Data Warehouse einrichten.
  • Wenn Sie eine Datenquelle zu einem Data Warehouse hinzufügen.
  • Beim Verschieben von Daten von A nach B.
  • Wenn Probleme mit der Datenqualität bestehen oder Sie diese vermuten.
  • Wenn Sie neue Daten im Zuge eines Projektes integrieren.

8 Phasen von ETL-Testprozessen

Effektive ETL-Tests erkennen frühzeitig Probleme mit den Quelldaten – und das noch vor dem Upload in ein Datenrepository. Außerdem lassen sich Inkonsistenzen oder Unklarheiten in Bezug auf die Geschäftsregeln für die Datentransformation und -integration ermitteln. Der ETL-Test-Prozess lässt sich in acht Phasen aufteilen:

  1. Identifizierung von Geschäftsanforderungen: Zunächst ist das Ziel, den Projektumfang klar zu definieren sowie das Datenmodell zu konzipieren und den Geschäftsablauf festzulegen.
  2. Validierung der Datenquellen: Dieser Schritt beinhaltet die Kontrolle der Datenanzahl sowie die Verifizierung, dass der Datentyp den Spezifikationen des Datenmodells entspricht. Dieser Schritt stellt zudem sicher, dass Kontrollschlüssel vorliegen und keine doppelten Daten vorhanden sind.
  3. Konzeption von Testfällen: Im Fokus steht, die ETL-Mapping-Szenarien zu konzipieren, SQL-Skripts zu erstellen und Transformationsregeln zu definieren. Es ist wichtig, auch das Mapping-Dokument zu validieren, damit alle Informationen darin enthalten sind.
  4. Extrahieren von Daten aus Quellsystemen: Anhand der zuvor festgelegten Geschäftsanforderungen erfolgen nun die ETL-Tests. Dabei identifizieren ETL-Spezialisten die Art der vorhandenen Fehler und fassen sie in einem Bericht zusammen. Wichtig: Ohne das Lösen sämtlicher Probleme kann Phase fünf nicht erfolgen.
  5. Anwendung von Transformationslogik: Nun gilt es, die Transformation der Daten sicherzustellen, damit sie wirklich dem Schema des Ziel-Data-Warehouses entsprechen. Im Zuge dessen erfolgt eine Kontrolle der Grenzwerte der Daten sowie die Validierung des Datenflusses.
  6. Laden der Daten ins Ziel-Warehouse: In dieser Phase führen Sie eine Prüfung der Datensatzanzahl durch, sowohl bevor als auch nachdem Sie die Daten von der Quelle in das Data Warehouse verschieben.
  7. Erstellen eines Übersichtsreports: Überprüfen des Layouts, der Möglichkeiten, der Filter und der Exportfunktionen des Übersichtsreports. Mit diesem Bericht erhalten Entscheidungsträger Details und Ergebnisse des Testprozesses. Darin finden sich auch Informationen, ob bestimmte Schritte nicht auszuführen waren und warum.
  8. Test-Abschluss: Abschluss des Tests. In dieser Phase überprüft der ETL-Tester das Tool, seine Funktionen und das ETL-System.

9 Arten von ETL-Tests

ETL-Tests lassen sich zunächst grundsätzlich in vier allgemeine Kategorien einteilen:

  • Prüfung neuer Systeme
  • Migrationsprüfung
  • Änderungsprüfung
  • Berichtsprüfung

Jeder dieser Kategorien lassen sich dann ETL-Tests zuweisen, die Unternehmen bei Bedarf in jeder der acht Phasen ausführen können:

Was in den jeweiligen ETL-Tests konkret passiert, ist im Folgenden näher aufgeschlüsselt.

1. ETL-Test: Produktionsvalidierung

Bei diesem ETL-Test, auch als „Produktionsabgleich“ oder „Tabellenverteilung“ bezeichnet, erfolgt die Validierung der Daten in Produktionssystemen. Gleichzeitig gleichen die ETL-Tester die Daten mit ihren Quelldaten ab. Dadurch verhindern sie eine fehlerhafte Integrität der Daten, gescheiterte Ladeprozesse oder nicht ins System geladene betriebliche Prozesse.

2. ETL-Test: Prüfung der Anzahl von Quell- und Zieldatensätzen

Dieser Test gewährleistet, dass die Anzahl der in die Zieldatenbank geladenen Datensätze mit der erwarteten Menge an Daten übereinstimmt.

3. ETL-Test: Prüfung der Quell- und Zieldaten

Ihre ETL-Tester stellen hiermit sicher, dass sie die Daten schadensfrei in das Zielsystem überführen können und die Datenwerte nach der Transformation den Erwartungen entsprechen.

4. ETL-Test: Metadatenprüfung

Hier geht es darum, Datentyp, Länge, Index und Einschränkungen der ETL-Anwendungsmetadaten (Ladestatistiken, Gesamtwerte beim Abgleich, Metriken zur Datenqualität) zu kontrollieren.

5. ETL-Test: Performanceprüfung

Die Performanceprüfung stellt sicher, dass sich die Daten innerhalb des erwarteten Zeitrahmens in das Data Warehouse laden lassen. Darüber hinaus gewährleistet sie, dass der Testserver bei mehreren Benutzern und Transaktionen eine adäquate Performance und Skalierbarkeit liefert.

6. ETL-Test: Dateninformationsprüfung

Dieser Test umfasst SQL-Abfragen für jede Reihe, die prüfen, ob sämtliche Daten sich gemäß der Geschäftsregeln transformierten.

7. ETL-Test: Datenqualitätsprüfung

Im Rahmen der Prüfung erfolgen sowohl Syntax- als auch Referenztests, um sicherzustellen, dass die ETL-Anwendung ungültige Daten ablehnt und meldet sowie Standardwerte akzeptiert. Die Syntaxtests überprüfen die Daten auf:

  • ungültige Zeichen
  • Muster
  • die Reihenfolge der Groß- und Kleinbuchstaben

Die Referenztests konzentrieren sich auf folgende Faktoren:

  • Anzahl der Daten
  • Datum der Daten
  • Genauigkeit
  • Nullkontrolle

8. ETL-Test: Datenintegrationsprüfung

Hiermit lässt sich bestätigen, dass das Laden der Daten von sämtlichen Quellen in das Ziel-Data Warehouse korrekt erfolgte. Außerdem werden die Thresholdwerte geprüft.

9. ETL-Test: Berichtsprüfung

Es erfolgt eine Prüfung der Daten im Übersichtsreport. Damit lässt sich verifizieren, dass Layout und Funktionalität den Erwartungen entsprechen.

Weitere ETL-Testverfahren

Die Tests während des ETL-Prozesses können auch User-Tests, GUI-Tests und Anwendungsmigrationstests umfassen. So lässt sich gewährleisten, dass die ETL-Architektur auch auf anderen Plattformen gut funktioniert. Ob Datensätze und Updates sich wie erwartet verarbeiten ließen, können inkrementeller ETL-Tests verifizieren.

Herausforderungen von ETL-Tests

Das frühzeitige Erkennen von Herausforderungen im ETL-Test-Prozess ermöglicht es, Engpässe und kostspielige Verzögerungen zu vermeiden. Daher ist es wichtig, gleich zu Anfang ein Quelle-zu-Ziel-Zuordnungsdokument zu erstellen und die Geschäftsanforderungen klar zu definieren. Häufige Änderungen, die dazu führen, dass ETL-Tester die Logik in ihren Skripten ändern müssen, können den Prozess erheblich verlangsamen.

Die ETL-Tester müssen die Datentransformationsanforderungen und die zur Umsetzung erforderliche Zeit genau einschätzen können und die End-User-Anforderungen verstehen. Hier einige weitere Herausforderungen, auf die von Anfang an zu achten ist:

  • während der Migration verlorene oder beschädigte Daten
  • eingeschränkte Verfügbarkeit der Quelldaten
  • Fehleinschätzung der Anforderungen
  • doppelt vorhandene oder unvollständige Daten
  • große Mengen historischer Daten, die ETL-Tests im Zielsystem erschweren
  • eine instabile Testumgebung
  • den Einsatz veralteter ETL-Tools

So finden Sie das beste ETL-Tool

ELT-Testtools steigern die IT-Produktivität und vereinfachen die Analyse von Big Data, um daraus Erkenntnisse zu gewinnen. Die Tools selbst enthalten Verfahren und Regeln zur Datenextraktion und -verarbeitung, sodass Sie auf die herkömmlichen arbeits- und kostenintensiven Programmiermethoden verzichten können.

Ein weiterer Vorteil von ETL-Testtools ist ihre integrierte Kompatibilität mit Cloud-Data Warehouse-, ERP- und CRM-Plattformen wie Amazon Web Services, Salesforce, Oracle, Kinesis, Google Cloud Platform, NetSuite, etc.

Achten Sie beim Vergleich von ETL-Testtools auf diese Funktionen:

  • Grafische Oberfläche für eine einfachere Konzeption und Entwicklung von ETL-Prozessen.
  • Automatische Codeerzeugung für eine schnellere Entwicklung und die Reduzierung von Fehlern.
  • Integrierte Datenkonnektoren für den Zugriff auf Daten, die in Dateiformaten, in einer Datenbank, in einem Anwendungspaket oder in einem älteren System gespeichert sind.
  • Content Management-Systeme, die einen Kontextwechsel für ETL-Entwicklung, Tests und Produktionsumgebungen ermöglichen.
  • Leistungsstarke Debugging-Tools, mit denen Sie Datenflüsse in Echtzeit tracken und das Verhalten Zeile für Zeile protokollieren können.

Mit speziell für Cloud Computing-Architekturen konzipierten Cloud nativen ETL-Tools können Unternehmen die Vorteile eines Data Warehouse voll ausschöpfen.

Die Zukunft von ETL-Tests: AI und die Cloud

Große Organisationen, die handcodierte Skripte und selbstentwickelte Tools verwenden, sind nicht so effizient, wie sie sein könnten. Denn sie haben nicht die Möglichkeit, mit den heutigen ETL-Cloud-Technologien mitzuwachsen. Es ist inzwischen Standard, dass dynamische und flexible DevOps-Teams mithilfe automatisierter kontinuierlicher Bereitstellungspraktiken täglich mehrere Updates für Software-Anwendungen produzieren.

Da DevOps zunehmend auf cloud-basierte Datenumgebungen und -prozesse setzen, benötigen Sie eine automatisierte Datenintegration, die Folgendes beinhalten:

  • ELT-Testtools, die große Datenmengen in Echtzeit – und ohne menschliches Zutun – selbständig verarbeiten können.
  • Datenmanagement-Cloud-Architekturen und „intelligente“ AI-Datenintegrationsassistenten

Das anschließende Video zeigt eine Demonstration von maschinellem Lernen mit Spark. Es veranschaulicht, wie Systeme menschliche Entscheidungen erlernen und ein Klassifizierungsmodell auf der Grundlage dieser Erkenntnisse generieren.
How to Match with Spark and Machine Learning (Datenabgleich mit Spark und maschinellem Lernen):

Nutzen Sie ETL-Tests für Ihr Unternehmen

Umfangreiche ETL-Tests geben Unternehmen nicht nur Vertrauen in die Integrität ihrer Big Data und der aus diesen Daten gewonnenen Erkenntnisse, sondern minimieren auch das geschäftliche Risiko.
Das branchenführende Open Source-ETL-Entwicklungs- und Testtool Talend Open Studio for Data Integration wurde seit 2006 millionenfach heruntergeladen. Sie können es mit einer Apache-Lizenz kostenlos nutzen.

Die subskriptionsbasierte Talend Data Integration-Lösung stellt die gleichen ETL-Testfunktionen sowie Continuous Delivery-Mechanismen der Enterprise-Klasse bereit. Dies ermöglicht ein einfacheres Arbeiten im Team, die Ausführung von ETL-Testjobs auf Remote-Systemen und bietet zudem ein Audit-Tool für qualitative und quantitative ETL-Metriken.

Sind Sie bereit, mit Talend durchzustarten?