Künstliche Intelligenz (KI) im Softwaretest: Eine detaillierte Erläuterung

Künstliche Intelligenz ist zu einem lästigen Schlagwort geworden, das tatsächlich mehr oder minder funktioniert. KI-Methoden ermöglichen es Unternehmen, Dinge schneller und mit höherer Präzision zu erledigen - und Sie werden beides beim Softwaretesten sicherlich erkennen. Nun, wo soll man da anfangen?

Artificial Intelligence in Software Testing

In diesem Kontext bezieht sich der Begriff „künstliche Intelligenz“ in diesem Artikel auf den heutigen Stand und nicht auf das ideale Ziel. Wir leben in der Welt einer nicht weit entwickelten KI, die den Menschen schneller bei deren einzelnen Aufgaben wie dem Ausprobieren grundlegender Fehlerbehebungsoptionen helfen kann als ein Entwickler. Wir sind noch Jahre oder Jahrzehnte von einer wirklich starken KI entfernt, die fast alles kann, was ein Mensch kann. Das bedeutet, dass die Tests der künstlichen Intelligenz nicht ohne menschlichen Input ablaufen werden, aber man kann den Aufwand so gering wie möglich halten.

Wie kann die Implementierung von KI den Prozess des Softwaretestens verbessern?

Im Grunde ist künstliche Intelligenz in Softwaretests die natürliche Weiterentwicklung der automatisierten Qualitätssicherung (QS). Die KI-Testautomatisierung geht einen Schritt weiter als die Nachahmung manueller Arbeit. „Die Maschine“ entscheidet auch, wann und wie die Tests überhaupt durchgeführt werden.

Die Innovation hört hier nicht auf. Tests zur künstlichen Intelligenz gibt es bereits. Je nach Implementierung werden die Tests geändert und/oder von Grund auf neu erstellt, ohne dass ein Mensch eingreifen muss. Dies ist eine wunderbare Lösung, wenn die Komplexität eines Projekts Sie vor die Frage stellt, wie Sie testen sollen – KI könnte die Antwort sein.

Benefits of AI

Allein dieser Abschnitt rechtfertigt eine Reihe von Artikeln, die unter anderem von der Definition anderer Faktoren abhängen. Bleiben wir bei den Vorteilen von KI-Tests und anderen Anwendungen künstlicher Intelligenz für die Qualitätssicherung (QS).

  • Automatisierte KI-Tests sind eine Zeitersparnis. Wir haben die Verwendung von Testautomatisierungstools behandelt, um Wunder in der Ablaufplanung zu vollbringen, aber lassen Sie uns noch einen Schritt weiter gehen. Was wäre, wenn Sie auch nur nützliche Tests pflegen könnten? So können Sie beispielsweise Tests, die nie fehlschlagen, automatisch beenden oder aussetzen, um zu prüfen, ob sie tatsächlich eine Zeitverschwendung sind.
  • Die Konsistenz der Tests kann erheblich verbessert werden. Es ist normal, dass gelegentlich fehlerhafte Tests auftauchen, die ohne ersichtlichen Grund fehlschlagen. Es ist möglich, solche Tests automatisch für die Überprüfung durch die künstliche Intelligenz zu kennzeichnen, die ein Kodierungsproblem erkennt oder Sie auf einen konzeptionellen Fehler hinweist, der bereits in mehreren Tests gefunden wurde.
  • Die Pflege der Tests wird dadurch wesentlich weniger mühsam. Dies ist besonders wichtig für B2C-Lösungen, bei denen die Benutzeroberfläche oft täglich (wenn nicht sogar häufiger) zu A/B-Zwecken angepasst wird. Solche kleinen Änderungen können bei Tests zur Nachahmung der Benutzeranleitung dennoch störend sein, z. B. wenn eine Schaltfläche einfach nicht mehr vorhanden ist. Die Kombination von künstlicher Intelligenz und Testautomatisierung bedeutet, dass Ihre Tests ohne menschliche Eingriffe an die Änderungen der Benutzeroberfläche angepasst werden.

Best practices

Hier sind einige Ratschläge, die aus den Versuchen und Fehlern von Unternehmen stammen, die auf dem Gebiet des Testens künstlicher Intelligenz führend sind.

  • Sie wissen, worauf Sie sich einlassen. Das Vorantreiben der Testautomatisierung ohne adäquate Vorbereitung ist ein enormer Zeitverlust. Genau wie bei automatisierten Tests ist das Fehlen eines erfahrenen Spezialisten, der die Richtung vorgibt, katastrophal.
  • Bringen Sie Ihre Testsuite in Ordnung. Fehlende oder falsche Beschriftungen, Tippfehler und veraltete Datenbanken können die Daten, die von der künstlichen Intelligenz zur Verbesserung Ihrer Tests verwendet werden, verfälschen.
  • Schreiben Sie Ziele für die Implementierung von KI Dazu gehören Geschäftsziele, die Sie erreichen möchten (z. B. messbare Verbesserungen der Kundenbindung durch eine bessere Benutzeroberfläche), QS-Ziele, die sicherstellen, dass sich Ihr KI-Projekt gelohnt hat, und einige KI-Testbenchmarks, um zu sehen, ob Sie auf dem richtigen Weg sind.
  • Sagen Sie Ihren Kollegen Bescheid. Die Einbindung künstlicher Intelligenz in das Testen ist ein langwieriger Prozess, der sich zumindest kurzfristig auf die Verfügbarkeit von QS-Spezialisten und deren Output auswirken kann. Ihr Projektmanager, der Product Owner und das obere Management werden es zu schätzen wissen, wenn Sie über eine solch drastische Änderung im Voraus informiert werden. Natürlich sollten auch die Entwickler informiert werden, vor allem die, die für die Unit-Tests des Projekts zuständig sind.
  • Stellen Sie sicher, dass Ihr Testmanagement ebenso innovativ ist. KI-Tests nützen wenig, wenn Ihr Team immer noch mit der Qualitätssicherung (QS) auf Excel beschäftigt ist. Sie benötigen eine spezielle Testmanagementlösung, die mit Tools für künstliche Intelligenz von Drittanbietern kompatibel ist.

Genießen Sie effizientes und KI-freundliches Testmanagement

Testen Sie aqua kostenlos

Methoden für KI-basierte Software-Testautomatisierung

Die Methoden zur Einbeziehung künstlicher Intelligenz in Softwaretests stammen hauptsächlich aus den gängigsten KI-Techniken. Es handelt sich um maschinelles Lernen, Verarbeitung natürlicher Sprache (NLP), Automatisierung/Robotik und Computer Vision. Im Folgenden finden Sie einige Beispiele dafür, wie diese Techniken für die Qualitätssicherung (QS) eingesetzt werden.

  • Mustererkennung nutzt maschinelles Lernen, um Muster in Tests und/oder Testdurchführung zu finden, die in verwertbare Erkenntnisse umgewandelt werden können. Wenn Probleme einer und derselben Klasse dazu führen, dass mehrere Tests fehlschlagen, wird Ihre KI-Lösung das Team auffordern, sich den potenziell problematischen Code noch einmal anzusehen. Die Mustererkennung kann auch für den Code Ihrer Software selbst verwendet werden, um potenzielle Schwachstellen zu erkennen und vorherzusagen.
  • Die Selbstkorrektur erledigt automatisierte Tests, wenn sie anfangen, Probleme zu bereiten. Fehlerhafte Tests können schließlich zu dem Weg des Problems zurückverfolgt werden. Scheinbar nicht reproduzierbare Fehler werden erkannt und behoben. Tests, die sich selbst korrigieren, sind ein echter Vorteil, wenn Ihr Projekt größer wird.
  • Visuelle Regressionstests sorgen dafür, dass sowohl Ihre Software als auch die Tests für sie in Ordnung sind. An dieser Stelle kommt das Beispiel für die Optimierung der Benutzeroberfläche von vorhin ins Spiel. Eine gute Selbstkorrektur eliminiert eine Menge überflüssiger Arbeit, gibt dem Produktteam die Möglichkeit, ehrgeizigere A/B-Tests durchzuführen, und hilft ihnen, wirklich schnell auf Trends zu reagieren.
  • Die Datengenerierung ist neben einem primären Softwaretesttool sehr nützlich. Künstliche Intelligenz kann eingesetzt werden, um Tests in größerem Umfang zu parametrisieren, z. B. um die Menge an Profilbildern mit seltener Auflösung und Metadaten zu generieren und dann zu sehen, ob die Nutzer in der Lage sind, sie problemlos hochzuladen.

Die besten Testwerkzeuge für KI-Softwaretests

Schauen wir uns einige Tools an, die die oben beschriebenen Methoden anwenden.

Launchable

Launchable nutzt die Mustererkennung, um festzustellen, wie wahrscheinlich es ist, dass ein Test fehlschlägt. Diese Informationen können genutzt werden, um die Testsuite zu durchforsten und einige eindeutige Redundanzen zu beseitigen. Außerdem können Sie Tests gruppieren und zum Beispiel nur die problematischsten Tests durchführen, bevor Sie einen Hotfix bereitstellen. Der bekannteste Kunde von Launchable ist BMW.

Percy

Percy ist ein visuelles Werkzeug für Regressionstests. Sie ist ideal, um Ihre UI-Tests relevant zu halten und hilft Ihnen außerdem, die Konsistenz der Benutzeroberfläche über verschiedene Browser und Geräte hinweg zu erhalten. Google, Shopify und Canva gehören alle zu Percys Kundenportfolio.

mabl

mabl ist eine übersichtliche Testautomatisierungsplattform mit selbstkorrigierende Funktionen. Es basiert auf ein Low-Code-Ansatz, kann aber durchaus auch auf traditionelle Weise verwendet werden. Riot Games, jetBlue und andere IT-Unternehmen wie Stack Overflow und Splunk sind auf der mabl-Website als Kunden aufgeführt.

Avo Test Data Management

Avo verfügt über ein spezielles Tool für die Verwaltung von Testdaten und die Funktionalität umfasst auch die Erzeugung von KI-Daten. Die Lösung ermöglicht es, reale Daten in großem Maßstab zu imitieren und eine Datenerkennung on top zu ermöglichen. Avo wird von Sony, PwC und auch von einem der Kunden von aqua – Tech Mahindra – verwendet.

Schlussfolgerung

Methoden der künstlichen Intelligenz im Softwaretest sind ein wirklich leistungsfähiges Werkzeug, das die Effizienz noch weiter steigert als die regulae Automatisierung. Einige Untergruppen mögen ein wenig übertrieben erscheinen (z. B. war die Datengenerierung so eine Sache, bevor man anfing, alles als „KI“ zu bezeichnen), aber selbstkorrigierende Tests und Mustererkennung sind keine schlechte Wahl. Die Implementierung von KI in Ihre Qualitätssicherungsroutine ist sicherlich lohnenswert, solange Sie angemessene Ziele formulieren und die richtigen Leute dafür gewinnen.

Die Einführung von KI in Ihre Softwaretests ist jedoch ohne eine gute Testmanagementlösung sinnlos. Sie brauchen eine solide Testorganisation, die sich mit KI beschäftigt und jede ernsthafte Anstrengung bringt die Komplexität mit sich, mit mehreren QS-Tools für künstliche Intelligenz zu hantieren. Vergewissern Sie sich, dass Sie eine gute Komplettlösung für das Testmanagement gefunden haben, bevor Sie sich auf die Suche nach KI für Softwaretests machen.

Testen Sie KI-freundliches Testmanagement mit 1-Tages-Migration

Verwenden Sie aqua kostenlos
Zum Thema passende Artikel

Fällt es Ihnen schwer, Ihre Qualitätssicherung mit dem Tempo und den Arbeitsabläufen Ihrer Entwicklung in…

photo
Denis Matusovskiy
17 mins read

Das Testen der Benutzeroberfläche ist wohl der wirkungsvollste Typ des Testens, jedenfalls für B2C-Unternehmen. Es…

photo
Robert Weingartz
11 mins read

In der schnelllebigen Zeit, in der wir leben, bedeuten langsame oder bröckelnde Websites und Anwendungen…

photo
Denis Matusovskiy
9 mins read