Syncwork Grid
News

News

ETL-Prozesse automatisiert testen – Qualität erhöhen und Kosten senken

Extract-Transform-Load (kurz ETL) beschreibt den Prozess des Extrahierens von Daten aus Quellsystemen, dem Transformieren dieser in die gewünschte Form und dem Laden bzw. Einlesen der Daten in eine Datenbank. Bei vielschichtigen Datensätzen kann das Prüfen dieses Prozesses auf korrekte Funktionalität und eventuelle Fehler sehr komplex und aufwendig werden. Frühes und häufiges sowie automatisiertes Testen minimiert diesen Aufwand und bietet einige Vorteile.

Das Testen von ETL-Prozessen

Beim Testen wird geprüft, ob die Anforderungen vollständig und ohne unbeabsichtigte Nebeneffekte umgesetzt wurden. Dabei wird innerhalb verschiedener ETL-Infrastrukturen getestet: PowerCenter, Oracle Warehouse Builder, PL / SQL, Talend, etc. Zurzeit gibt es nur wenige Tools zum ETL-Testen, die meist teuer und stark auf ein bestimmtes ETL-Werkzeug zugeschnitten sind. Um trotzdem die Effizienzgewinne einer Automatisierung herbeizuführen, bedarf es eines maßgeschneiderten Ansatzes.

Herausforderungen beim Testen von ETL-Prozessen

Abhängig von Komplexität, Risiko und auch regulatorischen Anforderungen sind unterschiedliche Testarten nötig, um die Qualität sicherzustellen. So ist es nicht immer erforderlich, alle Daten bzw. Anforderungen zu testen, sondern nur ausgewählte Stichproben oder kritische zu testen. Dabei können verschiedene Teststufen und -methoden angewendet werden, wie z.B. Unit Tests, Integrationstests, End-to-End Tests, Grenzwertanalyse und Äquivalenzklassentests.
Wenn ein ETL-Prozess getestet werden soll, muss zunächst der Testumfang in Abwägung der Risiken gegen die Aufwände bestimmt werden. Nach Bedarf können dabei mehrere Methoden gemischt werden, um die gewünschte Balance zu erzielen. Das gewählte Vorgehensmodell kann dann mit einer beliebigen Technologie umgesetzt werden.

Automatisierte Testmethoden

Eine leicht zu automatisierende Methode für das Testen ist, die spezifizierte Logik durch einen unabhängigen Entwickler oder den Fachbereich nachbauen zu lassen und die Ergebnisse mit denen des implementierten ETL-Prozesses zu vergleichen. Eine weitere Möglichkeit ist, die Ergebnisse verschiedener Software-Versionen automatisiert zu vergleichen, um unerwartete Nebeneffekte aufzudecken und den weiteren Testumfang einzugrenzen. Die Automatisierung lässt sich dabei auf eine Vielzahl von Teststufen und -methoden anwenden.

Nutzen automatisierten Testens

Durch die Testautomatisierung werden langwierige, wiederkehrende manuelle Tests (inkl. Regressionstest) vermieden, was nicht nur frühzeitig zu einer besseren Qualität, bzw. Vertrauen in das System führt, sondern auch dauerhaft die Kosten für die Qualitätssicherung senkt. Zudem ermöglicht die einfache automatisierte Ausführung Testern, ohne tiefergehende Fachkenntnisse diese Tests durchzuführen. So lassen sich die Releasezyklen verkürzen und agile Vorgehen in der ETL-Entwicklung werden ermöglicht. Das automatisierte Testen entfaltet seine Wirkung oft schon bei der Implementierung erster Tests sowie nach einigen Testdurchläufen und amortisiert sich bereits nach mehreren Testdurchläufen und Releasewechseln.

Ihr Ansprechpartner

Dr. Albrecht Hoene

Dr. Albrecht Hoene

Lietzenburger Straße 69 10719 Berlin Deutschland
Tel:  +49 (0) 30 854081 - 21