KI und Testing: Wie Machine Learning und KI das Testing revolutionieren
Künstliche Intelligenz und Machine Learning können beim Testen, Testen und abermaligen Testen Abhilfe schaffen. Um die Vielzahl unterschiedlicher Aufgaben zu bewältigen, setzen die meisten Unternehmen heute auf komplexe IT-Systemarchitekturen. Den Kern bildet üblicherweise ein cloudbasiertes SAP S/4, ergänzt um weitere spezifische Software-Lösungen. Je nach Bedarf kann es sich dabei beispielsweise um möglichst passgenaue Manufacturing-Execution-Systeme (MES), Customer-Relationship-Management-Lösungen (CRM) oder auch Product-Lifecycle-Software (PLM) handeln.
Die Unternehmen erhalten so zwar eine leistungsstarke IT. Allerdings entstehen dadurch auch zahlreiche Schnittstellen und Medienbrüche – und damit viele potenzielle Fehlerquellen, etwa als Folge einer unsauberen Datenübergabe. Auch der Walldorfer IT-Konzern SAP kennt die damit einhergehenden Herausforderungen und bietet seit einiger Zeit daher mit der SAP Business Technology Platform (BTP) einen Werkzeugkasten an, der unter anderem das Zusammenwirken der vielfältigen Einzelkomponenten deutlich vereinfachen soll. Dazu stellt BTP diverse Tools bereit, zum Beispiel das API-Management innerhalb der SAP Integration Suite.
Die BTP-Werkzeuge sind ausgesprochen hilfreich und erleichtern die Arbeit der unternehmensinternen IT-Abteilungen oft massiv. Dennoch bleibt ein alter Grundsatz weiter gültig: Wollen Unternehmen reibungslose, systemübergreifende Prozessabläufe garantieren, können sie auf regelmäßige Tests ihrer Systemumgebungen nicht verzichten. Angesichts immer häufigerer Updates und Upgrades ein mühsames Unterfangen. Abhilfe schaffen hier moderne Verfahren, die auf den Einsatz von künstlicher Intelligenz (KI) und Machine-Learning-Konzepten setzen.
Fehlerursachen erkennen mit ML
„Schon seit einiger Zeit setzen Unternehmen verstärkt auf Testautomatisierung“, berichtet Thomas Steirer, Testing- und KI-Spezialist beim Digital Engineering Unternehmen Nagarro und derzeit betraut mit diversen Forschungsarbeiten zum einschlägigen Themengebiet. „Aber häufig setzen sie dabei nicht die modernsten Verfahren ein – auch deshalb, weil ihnen schlicht die Übersicht darüber fehlt, was derzeit bereits technisch möglich wäre. Hinzu kommen zahlreiche konzeptionelle Fragezeichen.“
“Für Berater ist es essenziell, sich in kürzester Zeit einen Überblick über die Ist-Prozesse eines Unternehmens zu verschaffen.”
Thomas Steirer,
Testing- und KI-Spezialist,
Nagarro
Zu diesen gehört beispielsweise die Frage, an welchen Stellen moderne Testing-Strukturen ansetzen sollten. Thomas Steirer weist hier darauf hin, dass gerade die automatische Fehleranalyse misslungener Testfälle hilfreiche Erkenntnisse für Unternehmen bietet: „Unsere praktische Erfahrung zeigt: Viele gescheiterte Systemtests lassen sich in der Regel auf wenige Ursachen zurückführen. Sind diese erst bekannt, können die IT-Abteilungen sehr viel gezielter ihre Testing-Infrastruktur optimieren. Bedingung dafür ist, dass sie die Logfiles der fehlgeschlagenen Tests durch Machine-Learning-Modelle auswerten und klassifizieren. Leider besteht hier häufig Nachholbedarf.“
Der Grund dafür: Dieses Vorgehen ist nicht trivial. Um eine passende Klassifikation zu ermöglichen, müssen Testing-Expertinnen und -Experten beispielsweise zunächst den dafür notwendigen ML-Algorithmus trainieren: Dazu geben sie ihm die gängigen Fehlerkategorien vor – etwa Datenbank-, Netzwerk- oder UI-Fehler – und üben die korrekte Zuordnung dann manuell über Trainingsdaten ein. So lernt der Algorithmus schrittweise, automatisiert Muster zu erkennen und Fehler eigenständig zu clustern. Eine korrekte Zuordnung gelingt dann in den meisten Fällen.
Besondere Vorteile dieses Vorgehens: Die ausgewiesenen Fehler muss die IT-Abteilung wegen der im Vorfeld definierten Klassifikation nicht länger isoliert betrachten und bearbeiten, sondern sie kann direkt die ursächlichen Fehlerquellen beseitigen. Das Verfahren ist zudem kompatibel zu den meisten Automatisierungs- und Testing-Frameworks beziehungsweise -Tools. Dadurch bleiben die Investitionskosten für Unternehmen überschaubar. Thomas Steirer kommentiert hierzu: „Im Grunde betreiben damit Unternehmen ein Art Meta-Testing und vereinfachen damit die Ursachenforschung. Die Erkenntnisse daraus helfen ihnen schließlich, möglichst effizient gängige Fehlerquellen abzustellen.“
KI-basierte Clusterbildung ist eine Möglichkeit, bestehende Testlandschaften systematisch zu optimieren. Aber auch clevere Visualisierungen können dabei helfen – gerade dann, wenn Unternehmen große Testportfolios evaluieren wollen. Thomas Steirer berichtet: „Computer können hervorragend große Datenmengen nach vorgegebenen Kriterien auswerten. Die derzeitigen KI-Lösungen sind aber (noch) nicht dazu in der Lage, zum Beispiel eigenständig nach ineffizienten Strukturen hinter den Datenbergen zu suchen. Hier sind Menschen klar im Vorteil, solange diese Strukturen für sie leicht nachvollziehbar aufbereitet sind.“
Thomas Steirer schlägt dazu einen einfachen Trick vor, den Nagarro bei seinen Kunden immer wieder sehr erfolgreich anwendet: Damit die IT-Abteilung nicht jeden Test einzeln auswerten muss, kann sie verschiedene Szenarien über Graphen optisch aufbereiten. Diese lassen sich über die ohnehin vorhandenen Logfiles bequem herleiten und visualisieren die Logik „hinter“ den einzelnen Testfällen – insbesondere die Folge der dabei ausgeführten Einzelschritte – als nutzerfreundliches Modell.
Diese Modelle sind schließlich ein nützliches Hilfsmittel für Menschen: Denn diese sind – anders als die heutige KI – ausgesprochen gut darin, Schemata („patterns“), Überschneidungen oder auch strukturelle Fehlplanungen zu erkennen – und dies oft bereits auf den ersten Blick. Viele potenzielle Fehlplanungen lassen sich damit frühzeitig erkennen und beseitigen. Thomas Steirer: „Natürlich treten dabei nach wie vor Fehler auf. Jede Anpassung der Logik muss das Testing-Team daher praktisch validieren. Grundsätzlich liefert das Vorgehen aber ein einfaches Hilfsmittel, um die eingesetzten Testing- und Automatisierungs-Tools schrittweise besser auf die eigenen Bedürfnisse anzupassen – zumal Visualisierungen durch einschlägige KI-Tools immer einfacher werden.“
Sowohl bei einzelnen Softwaretests als auch beim Testing ganzer Systemlandschaften treten immer wieder Kommunikationsschwierigkeiten zwischen Anwender, IT-Spezialisten und den eingesetzten Softwarelösungen auf.
Autonome Fehlerkorrekturen und Self-Healing
Auch deshalb nutzen Unternehmen aktuell gerne DevOps-Konzepte: Sie sollen die Kommunikationswege zwischen allen Beteiligten vereinfachen und verkürzen – und dadurch zu einer leichteren Fehlerkorrektur beitragen.
Warum das nötig ist, zeigt eine einfache Analogie: Entdeckt ein Anwender eine uneinheitliche Sprachnutzung auf einer Website – etwa eine Mischung aus Deutsch und Englisch –, muss er diese rückmelden, damit die IT-Abteilung anschließend Korrekturen im CMS-System oder direkt im HTML-Code vornehmen kann. Bei komplexeren Fehlern wird dies schnell sehr langwierig und umständlich.
Besser wäre es daher, wenn dazu legitimierte (und gegebenenfalls speziell dafür geschulte) Anwender solche Fehler direkt an die Software melden und diese eigenständigen Korrekturen einleiten könnte – oder dem Entwicklerteam zumindest Vorschläge dazu unterbreiten. Voraussetzung dafür: eine intelligente, zuverlässige und nahezu fehlerfreie Semantik-Erkennung sowie sehr leistungsstarke Algorithmen, die Bebeziehungsweise Umschreibungen eines Fehlers in menschlicher Sprache wahrscheinlichen Fehlerursachen unmittelbar zuordnen können. Momentan existieren diese als marktreife Lösungen noch nicht. KI-Anwendungen beschränken sich daher derzeit darauf, beispielsweise Programmierer aktiv beim Coding zu unterstützen.
Die rasanten Fortschritte der letzten Jahre rücken aber auch diese weitergehenden KI-Anwendungskonzepte in greifbare Nähe. Thomas Steirer zeigt sich daher zuversichtlich: „Schon heute verändern KI und Machine Learning massiv die Art und Weise, wie Unternehmen ihre Systemumgebungen und Softwarelösungen testen. Dabei stehen wir erst am Anfang dieser Entwicklung. Mit den Fortschritten in der KI-Forschung werden im operativen Testing vermutlich Automatisierungen möglich sein, die wir uns heute kaum vorstellen können. Für konzeptionelle und kreative Arbeiten bleibt der Mensch aber unverzichtbar.“
Zum Partner-Eintrag: