Qualitätssicherung mit Unit und Behaviour Testing Automatisierte Software-Tests mit KI

Autor / Redakteur: Dipl. -Ing. Thomas Drilling / Stephan Augsten

Das österreichische Tech-Startup Symflower setzt in seiner Software für das automatisierte Testen von Software konsequent auf Künstliche Intelligenz. Für Java-Code steht bis Ende April ein befristetes, kostenloses Testangebot zur Verfügung.

Firmen zum Thema

Gegründet wurde Symflower von Evelyn Haslinger und Markus Zimmermann.
Gegründet wurde Symflower von Evelyn Haslinger und Markus Zimmermann.
(Bild: Symflower)

Das gleichnamige Produkt von Symflower adressiert Entwickler, die mit der kontrollierten Abnahme von Software zu tun haben. Fehler in Softwareprogrammen gehören laut Aussage von Gründerin und COO Evelyn Haslinger zu den größten Herausforderungen der Softwareindustrie. Dies sei so Haslinger umso wichtiger, da Software im Alltag heute mehr und mehr eine zentrale, steuernde Funktion einnehme, von smarten Heizungen, Türschlössern oder Kühlschränken über vernetzte Autos bis zur Unternehmenssoftware.

Das Versagen kritischer Software etwa im Bereich Buchhaltung, Maschinensteuerung oder Krankenhaussysteme – ob durch Abstütze oder Hacker-Angriffe verursacht – könne zum Stillstand von Unternehmen und finanziellen Verlusten führen und im Extremfall sogar Menschenleben gefährden. Der langjährige Mangel an Fachkräften in der IT und speziell in der Softwareentwicklung verschärfe dieses Problem.

Gängige Tools für das Software-Testing stießen dabei so Haslinger zunehmend an Grenzen, weil Software immer komplexer werde und in ihrer Komplexität mit den heute verwendeten Ansätzen nicht mehr umfassend von Menschen auf Fehler überprüft werden könnten. Der autonome Testansatz von Symflower sichere die Qualität der Software und entlaste Fachkräfte von Routinetätigkeiten. Damit ergäben sich nach Ansicht der Gründerin zwei wesentliche Vorteile beim Einsatz von Symflower:

Autonomes Testen ohne manuellen Eingriff sei um ein Vielfaches schneller und wesentlich exakter. So würden Fehler und Sicherheitsprobleme frühzeitig entdeckt, was nicht nur die Qualität erhöhe, sondern auch die Gesamtkosten reduziere. Zudem könnten Softwareentwickler wieder ihrer leitenden und kontrollierende Rolle gerecht werden, anstatt viel Zeit mit Routineaufgaben zu verlieren.

Unit Test und Verhaltensanalyse

Die Symflower-Lösung basiert auf Künstlicher Intelligenz (KI) und mathematischen Modellen. Damit wird bei der Generierung von Testfällen nichts dem Zufall überlassen und redundantes Testen vermieden. Symflower führt z. B. vollautomatisch Unit-Tests aus, die alle relevanten Pfade durch Ihren Code abdecken. Generierte Testfälle beinhalten nicht nur den testenden Code, sondern auch Testwerte und Mock-Objekte.

Dabei lässt sich Symflower nahtlos in Devops und CI/CD einbetten. Jeder neue Push im konfigurierten Repository zieht automatisch die Testgenerierung in Symflower nach sich. Dies stellt sicher, dass es in einem durch Symflower geschütztem Repository nie ungetesteten Code gibt. Somit fungiert der Unit-Test von Symflower auch als Sicherheitsnetz beim Refactoring. Entwickler können so sicherstellen, dass Änderungen keine unbeabsichtigten Nebeneffekte verursachen.

Die generierte Testsuite soll daüber hinaus das momentane Verhalten des Codes in leicht verständlicher Weise erfassen und dabei sicherstellen, dass die Implementierung tatsächlich den Spezifikation entspricht. Symflower unterstützt mehrere Programmiersprachen, darunter Java, Go, C++, C# und Javascript. Neue Programmiersprachen werden regelmäßig hinzugefügt.

Kostenlos Testen

Bis Ende April 2021 können interessierte Programmierer ihren eigenen Java-Code in der Symflower-Cloud testen. Im Anschluss an den autonomen Online-Test erläutern Symflower-Experten via individuellem Videocall die ermittelten Fehler und Sicherheitslücken. Die generierten Unit-Tests werden im Rahmen dieses Angebots kostenlos bereitgestellt.

(ID:47303160)

Über den Autor

Dipl. -Ing. Thomas Drilling

Dipl. -Ing. Thomas Drilling

IT-Consultant, Trainer, Freier Journalist