Was ist datengetriebenes Testen?
Datengetriebenes Testen ist ein skriptbasiertes Testverfahren, bei dem Testeingaben und erwartete Ergebnisse in einer externen Datenquelle, meist einer Kalkulationstabelle, gespeichert werden. Ein Steuerungsskript oder Testwerkzeug liest diese Eingabedaten und führt die Tests aus. Dabei werden die Eingabewerte aus der Tabelle entnommen und mit den erwarteten Ergebnissen verglichen. Diese Methode wird häufig in Kombination mit Testausführungswerkzeugen oder Mitschnittwerkzeugen eingesetzt, um Tests effizient zu automatisieren und wiederholbar zu machen.
Merkmale von datengetriebenem Testen
- Trennung von Testdaten und Testskripten: Die Testdaten und die Testskripte sind voneinander getrennt, was die Wartbarkeit und Flexibilität erhöht. Änderungen an den Testdaten können ohne Modifikation der Testskripte vorgenommen werden.
- Wiederverwendbarkeit und Skalierbarkeit: Die gleiche Testlogik kann auf verschiedene Daten angewendet werden. Dies ermöglicht das Testen einer Vielzahl von Eingabewerten und Szenarien mit minimalem Aufwand.
- Externe Datenquelle: Daten werden meist in externen Formaten wie Excel-Tabellen oder CSV-Dateien gespeichert, die vom Testwerkzeug oder -skript gelesen werden.
- Automatisierung: Es ermöglicht eine hohe Automatisierung der Tests, da der Testprozess direkt mit den Daten verbunden ist und regelmäßig wiederholt werden kann.
Beispiel
Angenommen, ein Online-Shop-System muss die Berechnung von Versandkosten basierend auf verschiedenen Versandarten und Adressen testen. Statt jeden Testfall manuell zu schreiben, können Testdaten wie folgende in einer Excel-Tabelle gespeichert werden:
| Versandart | Gewicht (kg) | Zielort | Erwartete Versandkosten |
|---|---|---|---|
| Standard | 2 | Deutschland | 5,00 EUR |
| Express | 1 | Frankreich | 10,00 EUR |
| Standard | 10 | USA | 20,00 EUR |
Ein Steuerungsskript liest diese Daten aus der Tabelle und führt für jede Zeile einen Test durch, bei dem die Eingabedaten in das System eingegeben werden und das Ergebnis mit dem erwarteten Versandkostenbetrag verglichen wird.
Vorteile des datengetriebenen Testens
- Effizienz: Es reduziert die Notwendigkeit für das Schreiben wiederholender Testskripte, da dieselbe Testlogik auf unterschiedliche Daten angewendet werden kann.
- Flexibilität: Testdaten können ohne Änderung des Codes angepasst oder erweitert werden, was das Testen verschiedener Szenarien und Randfälle erleichtert.
- Wartbarkeit: Durch die Trennung von Testdaten und Testskripten können Daten leicht aktualisiert oder geändert werden, ohne die Tests selbst neu zu schreiben.
- Skalierbarkeit: Das Testen einer großen Anzahl von Szenarien wird einfacher, da nur neue Daten hinzugefügt werden müssen, anstatt neue Testskripte zu erstellen.
Hinweise für die Praxis
- Datenmanagement: Eine ordnungsgemäße Verwaltung der Testdaten ist entscheidend. Fehlerhafte oder inkonsistente Daten können zu falschen Testergebnissen führen.
- Testdurchführung: Die Datenquelle sollte regelmäßig auf ihre Korrektheit und Vollständigkeit überprüft werden.
- Integration mit Testwerkzeugen: Datengetriebenes Testen wird oft zusammen mit Testautomatisierungstools wie Selenium, JUnit oder TestComplete verwendet, die die Steuerung und Ausführung der Tests automatisieren.
- Fehlerprotokollierung: Bei fehlerhaften Tests sollten klare Protokolle und Berichte erstellt werden, um die Ursache schnell zu identifizieren, insbesondere bei der Verarbeitung großer Datenmengen.
