Die verschiedenen Stufen der Testautomatisierung Wie KI das Software-Testing prägt

Autor / Redakteur: Dr. Gareth Smith * / Stephan Augsten

Künstliche Intelligenz verändert das Testen von Software aktuell maßgeblich. Auf dem Weg hin zur vollständigen Automatisierung gibt es allerdings einige Zwischenstufen, die wir uns im Folgenden anschauen.

Firmen zum Thema

Mithilfe KI-gesteuerter Softwaretests können Teams mit dem Tempo von DevOps mithalten und qualitativ hochwertigere Software produzieren.
Mithilfe KI-gesteuerter Softwaretests können Teams mit dem Tempo von DevOps mithalten und qualitativ hochwertigere Software produzieren.
(Bild: Keysight Technologies)

KI-Algorithmen bewerten Software-Systeme, um automatisch Skripte zu erstellen, die zuvor ressourcenintensiv waren. Im Anschluss daran analysieren sie die Ergebnisse, um Fehler vorherzusagen, und passen die Skripte an, um die Testabdeckung zu verbessern.

Dies ist eine große Veränderung gegenüber der Testumgebung von vor nur einem Jahrzehnt. Damals galten Softwaretests als Compliance-Maßnahme, die sicherstellen sollte, dass der Code funktionierte. Es war ein undurchsichtiges Unterfangen, das in der IT-Abteilung unter Verschluss gehalten wurde und von niemandem beachtet wurde.

Die Softwarewelt hat sich durch die Cloud, Consumerization, DevOps, Microservices und das Internet der Dinge (IoT) revolutioniert. Heute erscheinen ständig neue Apps und Software-Releases, die mit Milliarden von digitalen Geräten, die mit der Cloud verbunden sind, eine komplexe, fragmentierte Umgebung schaffen.

Mit der raschen Ausrichtung auf digitale Technologien infolge der Pandemie beschleunigt jedes Unternehmen das Tempo der digitalen Transformation. Die Qualität der Software ist von entscheidender Bedeutung, da ein unentdeckter Fehler zu Systemausfällen führen kann und eine Fehlkonfiguration von Cloud-Plattformen eine Datenlücke oder einen Datenverlust zur Folge haben kann.

Softwarefehler erhöhen die Entwicklungskosten erheblich. Und wenn eine App erst einmal veröffentlicht ist, sind die Kosten für das Auffinden und Beheben deutlich höher als in der Design- und Entwicklungsphase.

Mit der Abhängigkeit von der Digitaltechnologie muss die Erfahrung die Erwartungen der Anwender erfüllen. In einer hypervernetzten und komplexen Welt ist dies jedoch alles andere als eine einfache Aufgabe, und der traditionelle, manuelle Ansatz für das Testen kann nicht mehr Schritt halten. Daher müssen Unternehmen einen neuen, intelligenten Ansatz zur Testautomatisierung wählen, um sicherzustellen, dass die Qualität von Software und Anwendungen den Erwartungen der Anwender entspricht.

Die KI-Methode

KI, Machine Learning, Deep Learning und Analysen fungieren als Katalysatoren für eine echte Testautomatisierung – sie empfehlen die durchzuführenden Tests, lernen kontinuierlich, sagen auf intelligente Weise die Auswirkungen auf das Geschäft voraus und helfen den Entwicklungsteams, Probleme zu beheben, bevor sie auftreten.

Hier sehen Sie, wie sich dieses Test-Nirwana entwickelt.

1. Intelligente Automatisierung

Automatische Testroutinen bilden das Verhalten realer Nutzer nach.
Automatische Testroutinen bilden das Verhalten realer Nutzer nach.
(Bild: Keysight Technologies)

Die einzige Möglichkeit, eine digitale Anwendung oder Software wirklich aus der Perspektive des Anwenders zu testen, ist eine intelligente Automatisierungs-Engine. Das System greift auf die Anwendung zu, wie es ein Anwender tun würde – es übernimmt die Kontrolle über eine Maschine, nutzt die App tatsächlich zur Ausführung von Arbeitsabläufen und sammelt auf dem Weg intelligente Analysen.

Voraussetzung dafür ist eine Technologie, die Bildschirminformationen wie Bilder, Symbole und Text genau so versteht, wie ein Mensch es tun würde.

In der Regel werden bei der Testautomatisierung jedes Mal, wenn eine Software veröffentlicht wird, dieselben Testskripte ausgeführt. Diese Ansätze sind jedoch nicht in der Lage, auf intelligente Weise neue Fehler zu erkennen, die sich eingeschlichen haben. Sie finden auch die Schwachstellen in einem System nicht proaktiv und sind nicht in der Lage zu erkennen, was aus der Sicht des Anwenders unbedingt zu testen ist.

2. Intelligente Generierung von Testabdeckungen sowie Fehlersuche

In einer komplexen App gibt es potenziell unendlich viele Pfade. Welchem sollte also die Automatisierung folgen? KI-Klassifizierungsalgorithmen wie Bayes‘sche Netze können zur Auswahl von Pfaden und zur Fehlersuche verwendet werden.

Bei der Erkundung dieser Pfade lernt der KI-Algorithmus für die Fehlersuche weiterhin aus den Korrelationen in den Daten, um die Abdeckung zu verfeinern und den Entwicklern dabei zu helfen, Ursachen zu identifizieren und Fehler zu beheben. Durch eine Kombination aus Fehlersuch- und Abdeckungsalgorithmen erhöhen KI und Analytik die Abdeckung und Produktivität exponentiell.

KI-Algorithmen suchen nach Fehlern in Anwendungen auf der Grundlage von User Journeys, die automatisch aus diesem Fehlersuchmodell generiert werden. Abdeckungsalgorithmen wählen die User Journey aus, die am weitesten von anderen, bereits ausgeführten User Journeys entfernt ist. Dank der KI geht der Test über eine einfache regelbasierte Automatisierung hinaus, indem Algorithmen eingesetzt werden, um Systeme anhand großer Datensätze effizient zu trainieren.

Der Algorithmus ahmt das menschliche Verhalten durch die Anwendung von logischem Denken, Problemlösung und Machine Learning nach. Er führt automatisierte Testroutinen aus, die die Aktionen menschlicher Anwender widerspiegeln. Die KI sucht nach Fehlern in der Benutzeroberfläche, Bugs und Leistungsproblemen und behebt diese automatisch, bevor sie die Nutzererfahrung beeinträchtigen.

Die Automatisierung erhöht den Abdeckungsgrad, indem sie jede potenzielle User Journey untersucht und alle Engpässe, die die Leistung beeinträchtigen könnten, vorhersagt und identifiziert. Nicht-instanzbasierte Lernalgorithmen reduzieren den erforderlichen Lernaufwand und liefern schnelle Ergebnisse, die in agilen und DevOps-Umgebungen unerlässlich sind.

Durch den Einsatz von KI-gestützten Tests können Unternehmen die Veröffentlichung hochwertiger Software beschleunigen, was einen erheblichen Vorteil darstellt. Ein weiterer Vorteil der intelligenten Automatisierung besteht darin, dass sie einfach zu bedienen ist. Dadurch entfällt die Notwendigkeit, technische Mitarbeiter mit Programmierkenntnissen für die Durchführung und Verwaltung von Tests einzusetzen.

3. Kontinuierliche Tests, kontinuierliches Lernen und vorausschauende Trends

Das Testen digitaler Anwendungen ist keine einmalige Angelegenheit. Es sollte ein kontinuierlicher Prozess sein, damit das digitale Erlebnis im Laufe der Zeit überwacht werden kann. Ein KI-Algorithmus kann Ihre Testergebnisse im Laufe der Zeit kontinuierlich beobachten, lernen und nach Trends suchen.

Die Lernalgorithmen können dann Entscheidungsbäume erstellen, die vorausschauende Analysen ermöglichen und beispielsweise erkennen, ob die zunehmende Verzögerung in einem bestimmten Arbeitsablauf erfahrungsgemäß zu einem Systemausfall führen wird. Mit diesen Informationen können Sie potenzielle Probleme proaktiv angehen, bevor sie akut werden und zu einem Ausfall beim Kunden führen.

Was bedeutet das alles für Testteams?

Was bedeutet das nun für die Testteams? Menschliche Tester sind jetzt strategischer, leiten den Testprozess und spielen eine Schlüsselrolle bei der Entscheidung, was Software und Anwendungen für den Anwender interessant macht. Mit echter intelligenter End-to-End-Testautomatisierung steigt die Produktivität des Testteams erheblich.

Manuelle Testmodelle, die sich auf große Mitarbeiter-Teams in kostengünstigen Märkten verlassen, sollten jedoch etwas befürchten. Mit der zunehmenden Verbreitung intelligenter Testautomatisierung werden manuelle Testteams, die funktionale Tests durchführen, nicht mehr nötig sein.

Dr. Gareth Smith
Dr. Gareth Smith
(Bild: Keysight Technologies)

KI ist der beste Freund des Softwaretests, denn dank ihr können Teams mit dem Tempo von DevOps mithalten und qualitativ hochwertigere Software und Apps produzieren. Dies wird sich positiv auf die Kundenkonversion, die Kundenbindung und letztlich auf die Umsatzgenerierung auswirken.

* Dr. Gareth Smith leitet die Software Test Automation Group von Keysight Technologies. Zuvor war Gareth CTO bei Eggplant, einem Pionier der intelligenten Testautomatisierung, der im Juni 2020 von Keysight übernommen wurde. Gareth kann auf langjährige Erfahrung im Bereich der Software-Innovation zurückblicken und war in Führungspositionen bei Apama, Software AG und Progress Software tätig.

Ergänzendes zum Thema
Über die Testplattform Eggplant

Das Dashboard der Testplattform Eggplant.
Das Dashboard der Testplattform Eggplant.
( Bild: Keysight Technologies )

Bei der Testplattform Eggplant von Keysight Technologies bewertet die intelligente Testautomatisierung die Funktionalität, Leistung und Benutzerfreundlichkeit digitaler Produkte, anstatt nur den Code zu überprüfen. Sie integriert KI, ML und Analytik, um die Nutzererfahrung zu testen und zu überwachen; sie analysiert Apps und reale Daten, um User Journeys automatisch zu generieren und umzusetzen. Das Ergebnis ist eine intelligentere und effizientere Methode zum Testen von Software und Apps.

(ID:47694577)