InputLab

Effektive schemabasierte Testdatengenerierung

Junge Frau arbeitet an einem Laptop. Auf dem Bildschirm sieht man einen Programmcode.
Automatisierte Testdatenerzeugung ermöglicht ein umfangreiches und kosteneffizientes Testen von Software-Anwendungen mit strukturierten Datenformaten.© AdobeStock/ijeab

Motivation

Die Entwicklung verlässlicher und sicherer Software-Systeme verlangt systematisches und umfassendes Testen. Da strukturierte und standardisierte Datenformate über viele Software-Anwendungen hinweg zum Austausch von Daten genutzt werden, müssen die verwendeten Systeme robust und sicher auch mit manipulierten oder fehlerhaften Datensätzen umgehen können. Die für die Tests benötigten Testdaten können für strukturierte Formate, die unter anderem in elektronischen Rechnungen verwendet werden, bislang nur händisch erzeugt werden. Dadurch sind diese in ihrer Verfügbarkeit begrenzt und entsprechend kostenintensiv.

Ziele und Vorgehen

Die Forschenden im Vorhaben „InputLab“ entwickeln Verfahren zur automatischen Erzeugung von Testdaten für Datenformate, für die ein Datenschema vorliegt. Solche Schemas werden in Standardisierungsverfahren für digitale Formate mitdefiniert und tragen zur Interoperabilität verschiedener Software-Systeme bei. Die im Vorhaben generierten Testdaten können genutzt werden, um Fehlverhalten in Anwendungen auszulösen, zu diagnostizieren und reparieren. Dabei können auch subtile Fehler erkannt werden, die sich nicht durch drastisches Verhalten wie Software-Abstürze zeigen. So können schwerwiegende Probleme und Kosten vermieden werden. Damit Entwicklungsteams die Datensätze für ihre Zwecke einfacher verwenden können, sollen diese flexibel an die Eigenschaften von Beispieldatensätzen anpassbar sein.

Innovationen und Perspektiven

Durch die Projektentwicklungen wird der vielfältige Bedarf an hochwertigen Testdaten für Software-Systeme mit strukturierten Formaten adressiert. Dabei soll eine möglichst kleine Anzahl an Datensätzen eine große Bandbreite fehlerhafter oder manipulierter Datenpunkte abdecken, um effektive und kosteneffiziente Tests zu ermöglichen. Gleichzeitig kann mit den erzeugten Testdaten eine Vielzahl unterschiedlicher Software-Anwendungen auf Schwachstellen untersucht und somit nachhaltig sicherer gestaltet werden.