Intelligente Bilderkennung: KI »James« automatisiert Testläufe für User Interfaces

Das intuitive Bedienen von Software setzen Nutzer meistens voraus. Um Programmfehler, sogenannte Bugs, zu vermeiden, müssen Unternehmen jedoch regelmäßig aufwendige Tests im Hintergrund durchführen. Dem Karlsruher Start-up askui ist es gelungen, ein Developer-Tool für das parallele und automatisierte Testen unterschiedlicher Anwendungen mithilfe von künstlicher Intelligenz zu entwickeln.

 

Vom Nutzer unbemerkt werden die Klickpfade, die sie auf Web- oder Mobilseiten durchlaufen, regelmäßig von Softwareentwicklern auf ihre Funktionalität überprüft. Im Stundentakt oder nach neu eingespielten Updates testen sie, ob Nutzer beim Anklicken bestimmter Buttons korrekt durch Webshops, Chatbot-Felder oder Kartennavigationen geführt werden. Andernfalls könnten wertvolle Umsätze verloren gehen. Diese Tests werden separat für Web- und Mobilseiten durchgeführt, da die Anwendungen auf unterschiedlichen Quellcodes basieren. Die konsequente Orientierung hin zum Nutzer und das breite Portfolio eingesetzter Endgeräte führen dabei zu einer großen Zahl an Klickpfaden und aufzuspielenden Updates. Immer komplexere Tests müssen in kürzester Zeit für verschiedene Anwendungen verfügbar sein. Für Unternehmen resultieren daraus ein hoher Aufwand und hohe Kosten.

Das Karlsruher Start-up askui stellte sich bereits vor einigen Jahren auf diese Entwicklung ein. Seit 2019 forschen Dominik Klotz und Jonas Menesklou am Karlsruher Institut für Technologie (KIT) an einer Software zur Testautomatisierung von grafischen Benutzeroberflächen (User Interfaces). Im März 2021 gründeten die beiden askui, im September dieses Jahres kam bereits eine weiterentwickelte Version ihrer Innovation auf den Markt.

 

Bilderkennung ersetzt Selektoren-Suche

Den Kern der Software bildet die künstliche Intelligenz »James«. Ein Jahr lang trainierten die beiden Entwickler sie darauf, für Nutzer relevante Bedienfelder wie »Anmelden«, »Suche«, oder »zur Kasse gehen« anhand von einfachen Screenshots zu erkennen – genau wie ein Mensch sie verstehen würde. »›Ist der Button grün?‹ haben wir die KI zu Beginn gefragt«, erklärt Jonas Menesklou das sogenannte Visual-Question-Answering-Training. »Später gaben wir ihr dann konkrete Testanweisungen, die sie ausführen musste.« Das Training zahlte sich aus: Mittlerweile laden Entwickler Screenshots der Anwendungen, die sie testen möchten, in die Software. Dann definieren sie über ein Programmierfeld die zu prüfenden Schritte und Testintervalle. Die künstliche Intelligenz führt diese automatisch aus, da sie die Textfelder, Buttons oder Icons über die Bilderkennung zuvor identifiziert hat ‒ unabhängig von ihrer Größe, Auflösung oder Position. »Diese Automatisierung ist neu. Bisher mussten die Entwickler die Bezeichnung der Bedienelemente, sogenannte Selektoren, in den Programmcodes ermitteln. Dank unserer Software entfällt nicht nur diese Selektoren-Suche, der Programmierer muss auch nur einen einzigen Test für gleichwertige Klickpfade in unterschiedlichen Anwendungen festlegen«, erklärt Jonas Menesklou. Möglich wird das dadurch, dass die Software plattformunabhängig funktioniert: »James erlaubt die parallele Automatisierung von Desktop-, Web- oder Mobilanwendungen und Spielen in unterschiedlichen Browsern und auf den Betriebssystemen Windows, macOS und Linux.«

 

Variable Testbeschreibung

Als sie am Anfang der Entwicklung ihrer Software standen, versuchten die beiden Gründer noch, damit Menschen zu erreichen, die nicht programmieren können. Der ursprünglichen Zielgruppe blieb es nicht nur erspart, Selektoren über den Programmcode ausfindig zu machen, sie konnten die einzelnen Testschritte auch einfach sprachlich festlegen: »Type ›test@mail.com‹ in textfield below of ›email-address‹« – die Bezeichnung der Bedienelemente wurde ihnen dabei von der Software vorgeschlagen. »Wir stellten jedoch bald fest, dass unsere Software fast ausschließlich von Programmierern genutzt wurde, die vor allem die automatische Bilderkennung schätzten«, beschreibt Jonas Menesklou die Entwicklung. »Zudem ließ die erste Version der Software keine variable Testbeschreibung zu.« In der aktuellen Version bekommen die Entwickler immer noch Vorschläge für Selektoren-Bezeichnungen angezeigt. Diese können sie jedoch in ihre in JavaScript oder Python programmierten Instruktionen einbinden und Testabläufe definieren, die komplexe Bedingungen und Folgen beinhalten.

 

Matchmaker Gründermotor Baden-Württemberg

Vor Gründung ihres Unternehmens nahmen Dominik Klotz und Jonas Menesklou an dem Förderprogramm Meisterklasse der baden-württembergischen Landesinitiative Gründermotor teil. In dem viermonatigen Intensivprogramm trafen die beiden auf erfahrene Gründer, Fachexperten und Unternehmensvertreter aus dem Partnernetzwerk von Gründermotor, mit denen sie gemeinsam Lösungen entwickelten. »In der Meisterklasse haben wir gelernt, unsere Idee auf den Markt zu bringen«, erinnert sich Jonas Menesklou. »Wir trafen dort auf unseren ersten zahlenden Kunden und konnten einige Kontakte zu Investoren knüpfen.«

In den folgenden Jahren konnte askui immer mehr Kundenreferenzen angeben, darunter das Vergleichsportal billiger.de, die Unternehmensberatung Pickert & Partner oder das Karlsruher Unternehmen ValueWorks. Die Softwareentwickler bieten Führungskräften eine browserbasierte Anwendung an, die ihnen dabei helfen soll, Projekte zu planen, auszuführen und Berichte zu erstellen. Die Automatisierungsexperten von askui unterstützten sie dabei, die Klickpfade der Software auf ihre Funktionsfähigkeit zu überprüfen. Ihre KI James suchte dafür die Anwendung des Kunden anhand von Screenshots auf relevante Benutzerfelder ab. Nachdem sie diese identifiziert hatte, führte sie die von ValueWorks programmierten Testanweisungen durch. Dadurch wurde sichergestellt, dass der Klick des Nutzers auf »My Dashboard«, »Planning« und »Reporting« samt zugehöriger Drop-down-Menüs tatsächlich auf die persönliche Übersichtsseite, den Kalender oder die Berichtsdarstellung führte. »Die künstliche Intelligenz konnte alle unsere Elemente auf der Benutzeroberfläche fehlerfrei erkennen. Uns haben außerdem das schnelle Setup und der geringe Wartungsaufwand beeindruckt. Unsere Kosten für die Testautomatisierung konnten wir damit um 90 Prozent senken«, lobt Sebastian Walther, Mitbegründer von ValueWorks, die Software von askui. Interessierten Unternehmen wird der finanzielle Einstieg generell leicht gemacht: Sie können zunächst eine kostenlose Version testen oder einen monatlichen Betrag wählen, abhängig von der Anzahl der Testanweisungen oder dem gewünschten Grad an Unterstützung.

 

Neue Umgebungen testen

Und trotzdem gibt es noch Verbesserungspotenzial: Die beiden Gründer von askui wollen nicht nur die Schnelligkeit und Performance ihrer Software verbessern, sondern auch ein Portal einrichten, dass es den Nutzern ermöglicht, mehrere Projekte zu verwalten und dabei den Überblick zu bewahren. Dass der Bedarf an Testautomatisierungen immer weiter zunehmen wird, davon ist Jonas Menesklou überzeugt: »Zukünftig wollen wir mit unserer Software auch Tests für Programme automatisieren, die Geschäftsprozesse, zum Beispiel in SAP-Anwendungen, abwickeln. Bei der Verwaltung von Rechnungen oder Personalunterlagen ist es besonders wichtig, dass die Nutzerschnittstellen einwandfrei funktionieren«, skizziert er die nächsten Schritte. Die größte Herausforderung stellt jedoch eine Testumgebung dar, die gerade noch entsteht: »Das vorherrschende Thema zurzeit ist das Web 3.0, in dem die Inhalte dezentral auf Blockchains gespeichert sind. Unser Ziel ist es, unsere Software dahingehend weiterzuentwickeln, dass wir auch Testproblematiken im Web 3.0 und im Metaverse, also in Augmented- und VR-Umgebungen, lösen können.«

 

Die Software-Spezialisten Jonas Menesklou und Dominik Klotz (von links nach rechts) sind die Gründer und Geschäftsführer von askui. Foto: Dominik Tryba

 

Die intelligente Software erkennt Bedienelemente in Desktop-, Web- oder Mobilanwendungen, unabhängig vom Browser oder Betriebssystem. In der ersten Version der Software formulierten Nutzer auf dieser Basis Testanweisungen ohne programmieren zu können.

 

Mittlerweile lässt die Software auch variable Testbeschreibungen zu: Programmierer und Software-Entwickler definieren die notwendigen Testabläufe in JavaScript oder Python.

Alle Bilder: askui