Neue Software muss intensiv getestet werden, um eine gute Qualität zu erreichen.

Bild: iStock, sdecoret

Gute Tests effizient erstellen Software-Fehler mit Algorithmus bekämpfen

16.11.2020

Um bei neu entwickelter Software eine hohe Qualität zu erreichen, ist effektives Testen enorm wichtig. Ein Forschungsteam der Universität Passau versucht im DFG-Projekt STUNT, den Prozess effizient zu automatisieren, indem es einen neuartigen Algorithmus auf die Suche nach möglichst vielen Fehlern schickt.

Gute Software muss fehlerfrei sein und deshalb mit Tests auf „Herz und Nieren“ geprüft werden. Die Programmiererinnen und Programmierer versuchen dabei beispielsweise herauszufinden, was sie in eine App eingeben müssen, um sie zum Absturz zu bringen.

Gute Tests effizient erstellen

Da das Erstellen guter Tests schwierig und fehleranfällig ist, gibt es Bestrebungen, die Testerzeugung zu automatisieren. In herkömmlichen Verfahren wird dabei auf Informationen über den Quellcode des Programms zurückgegriffen und ein Wert errechnet, wie nahe man dem Finden eines Fehlers gekommen ist. Diese Vorgehensweise hat sich leider nur als bedingt als effektiv erwiesen.

Das DFG-Projekt „STUNT – Improving Software Testing Using NovelTy“ unter der Leitung von Professor Gordon Fraser, Inhaber des Lehrstuhls für Software Engineering II an der Universität Passau, setzt nun auf einen neuen Ansatz zur Testerzeugung: Novelty Search. Ein Algorithmus soll dabei die App auf möglichst viele Arten benutzen, um möglichst viele Fehler aufzudecken. „Man kann nie wissen, wo der Defekt liegt. Je mehr unterschiedliche Wege wir durchlaufen, desto größer die Chance, Fehler zu finden“, so Prof. Dr. Fraser.

Verfahren stammt aus der Robotik

Die Messung der „Novelty“ gibt dabei an, wie unterschiedlich die gefundenen Wege waren, die ausprobiert wurden, und somit, wie detailreich getestet wurde.

Die Idee zu diesem Verfahren stammt ursprünglich von den Forschern Joel Lehman und Kenneth O. Stanley von der University of Central Florida und wird bisher nur im Bereich der Robotik eingesetzt. Im Rahmen des Projektes versucht das Passauer Forschungsteam, den Algorithmus auch auf Software Testing anzuwenden.

Dabei können Fraser und sein Team auf Ergebnisse und die Infrastruktur ihres vergangenen Projektes GReaTest aufbauen, das sich bereits mit der Optimierung automatisch generierter Tests in Bezug auf deren Nutzerfreundlichkeit befasste.

Die Deutsche Forschungsgemeinschaft (DFG) fördert das Projekt STUNT über einen Zeitraum von drei Jahren. Es startet im Frühjahr 2021 mit der Erforschung von Möglichkeiten zur Messung von Novelty. Langfristiges Ziel des Teams ist die Entwicklung besserer Testerzeugungsverfahren.

Firmen zu diesem Artikel
Verwandte Artikel