• de
  • en
  • 5 Einsatzbereiche von KI im Softwaretesting

    5 Einsatzbereiche von KI im Softwaretesting

    Künstliche Intelligenz auf dem Vormarsch

    Bereits seit einigen Jahren gelten künstliche Intelligenz (KI) und Machine Learing (ML) als richtungsweisende Technologien. Zuverlässige Software für selbstfahrende Autos oder Weiterentwicklungen in der Robotertechnologie wären ohne KI und ML kaum zu realisieren. Es ist daher keine Überraschung, dass weltweit führende Unternehmen wie Tesla oder Google nicht nur auf diese Bereiche setzen, sondern die Entwicklung aktiv mit vorantreiben. Zumal die stetig wachsende Menge an Daten und Informationen in allen Bereichen unserer Gesellschaft den Einsatz von KI und ML unabdingbar machen. Eine effiziente Analyse und Auswertung dieser Daten wären ohne KI und ML nicht zu realisieren. Nur durch gezielte Auswertung lässt sich jedoch ein signifikanter Mehrwert aus großen Datenmengen erzielen.

    Software Qualitätssicherung muss Schritt halten

    Nicht nur große Firmen mit schier unbegrenzten Ressourcen haben die Möglichkeit KI und ML zur Verbesserung Ihrer Software und Produkte einzusetzen. Durch die in den letzten Jahren enorm gestiegene Verfügbarkeit von Rechenleistung und Speicher sind ML Ansätze einfacher realisierbar geworden. Auch deshalb haben sie sich mittlerweile in immer mehr Anwendungsgebiete verbreitet. Eines dieser Gebiete ist die Qualitätssicherung von Software. Um mit der Entwicklung schritt zu halten, muss sich zwangsläufig auch die QS weiterentwickeln und auf neue Technologien setzen. Tatsächlich ist umfassendes Softwaretesting wichtiger als jemals zuvor, um kritische Fehler in KI-basierten Programmen auszuschließen. Am Beispiel der selbstfahrenden Autos wird das ganz besonders deutlich.

    In der Praxis: Künstliche Intelligenz in der QS

    Doch wie genau können wir in der Qualitätssicherung von KI und ML profitieren, wo können wir diese Technologien anwenden? Wir haben fünf Beispiele zusammengetragen, die verdeutlichen, wie schon heute in der QS mit künstlicher Intelligenz neue Wege beschritten werden:

    1. KI in der Codeanalyse

    ML kann schon in der frühen Phase der Entwicklung eingesetzt werden, z.B. bei der Unterstützung von Code Reviews. Durch das Anwenden von erlerntem Wissen aus der Analyse von Code, Best Practices und häufigen Fehlerquellen, kann mit deutlich geringerem manuellen Aufwand auch der Code von großen Programmen mit komplexen Funktionen automatisch analysiert und nach potenziellen Fehlern und Schwachstellen durchsucht werden. Dadurch wird nicht nur Zeit und Aufwand eingespart, sondern es werden auch Fehler gefunden, die einfach zu übersehen sind oder nur in ganz bestimmten Konstellationen auftreten. Erkannt werden so auch Zusammenhänge, Abhängigkeiten und Bereiche mit besonderem Risiko. Gute Beispiele hierfür sind DeepCode oder Infer.

    2. KI bei der Testfallerstellung

    Bei der Testfallerstellung, egal ob manuell oder automatisiert, kann Machine Learning sehr nützlich sein. Zunächst kann durch Analyse von Bereichen mit hohem Risiko oder auch durch simple Abdeckungsanalysen die Entscheidung vereinfacht werden, welche Testfälle erstellt werden müssen. Außerdem kann der vorhandene Testfallkatalog auf redundante oder unwirksame Testfälle untersucht werden. Mit automatischer Erstellung von Skripten durch die Interpretation von Fließtext oder sogar direkt auf Grundlage des Nutzerverhaltens wird außerdem die Erstellung von automatisierten Testfällen erleichtert. Aktuelle Anwendungen, die bei der Testfallerstellung auf KI setzen, sind zum Beispiel Appvance IQ und Functionize.

    3. KI bei der manuellen Testausführung

    Auch die manuelle Testausführung kann sehr von künstlicher Intelligenz profitieren, wenn die Ergebnisse aus vorherigen oder aktuellen Ausführungen analysiert werden. Bereiche mit hohem Risiko oder hohem Fehlerfindungspotenzial werden so frühzeitig erkannt. Anhand der Ergebnisse können Umfang und Fokus der weiteren Testausführungen präziser geplant und der gesamte Testprozess so deutlich effizienter gestaltet werden. Zeitliche Einsparungen bei höherer Qualität sind in der Regel die Folge. Zum Einsatz kommt KI in diesem Anwendungsfall bei perfecto.

    4. KI bei der automatisierten Testfallausführung

    Eines der größten Anwendungsgebiete von AI und ML ist die Bilderkennung. Dies kann für automatisierte Testfälle genutzt werden. So können deutlich robustere automatisierte Testfälle erstellt werden, die auch bei Änderungen noch stabil laufen. So können bestimmte Bereiche der Software, wie z.B. der Warenkorb, automatisch erkannt werden, auch wenn sich das Aussehen, die Platzierung oder interne Ids geändert haben. Genauso können aber auch alle anderen Eigenschaften von den Elementen einer Seite, wie Id, Größe, Platzierung, Tags, etc. gewichtet und evaluiert werden, um die Elemente bei der Testausführung zu bestimmen. Durch ML kann dann die Gewichtung für Attribute, sie sich oft ändern, reduziert werden. Somit laufen die Testfälle weiterhin stabil. Beispiele in diesem Bereich sind testcraft und applitools.

    5. KI bei der Analyse von Testergebnissen

    Auch die Analyse der Testergebnisse eignet sich hervorragend für ML Algorithmen. Oft hat man Unmengen an Ergebnisdaten, riesige Logdateien, Fehlermeldungen und Screenshots, die zeitaufwändig untersucht werden müssen. Mit ML können die Daten schnell und effizient analysiert, ausgewertet und die relevanten Informationen herausgesucht werden. Dabei können im besten Fall auch automatisch Fehler erzeugt und Kernprobleme in der Software identifiziert werden. Auch die Suche nach der Herkunft der Fehler und eventuell sogar die Korrektur im Code kann angelernt und automatisch umgesetzt werden. Zum Einsatz kommt diese Technik bei loomsystems.

    aqua cloud GmbH | Scheidtweilerstr. 4 | 50933 Köln |