1 Min. Lesezeit
Qualität und Testen im SAP-Umfeld
SAP, das etwas andere IT-System SAP unterscheidet sich grundlegend von anderen IT-Systemen durch seine Komplexität, den Integrationsgrad und die...
Künstliche Intelligenz (KI) und Softwaretest sind zwei wichtige Themen der heutigen Software- und Systementwicklung. Die Anwendung mit- oder aufeinander birgt die Chance für enorme Synergien.
Künstliche Intelligenz befindet sich obgleich schon seit Jahrzehnten in der Forschung – in den vergangenen Jahren auf einem sehr medienwirksamen Siegeszug. Alle Aufgaben scheinen lösbar, jede menschliche Intelligenz unnötig, die möglichen Folgen kontrollierbar. Es gibt sehr viele überzeugende Demonstrationen. Ein Beispiel sind KI-gesteuerte Computerspieler, die in Form von Alpha GO den weltbesten GO-Spieler Lee Sedol besiegen. GO ist übrigens deutlich komplexer als Schach und die Spielabläufe sind hier daher ungleich schwieriger vorherzusagen. Andere KI-Anwendungen können zielsicher die Inhalte von Bildern erkennen. Das eröffnet unterschiedlichste Anwendungszwecke von der frühzeitigen Diagnose von gefährlichen Krankheiten bis hin zur Überwachung des öffentlichen Raumes. Aber ist es so einfach?
Selbstverständlich wirken die präsentierten Ergebnisse sehr überzeugend. Doch ist der Weg, den die KI zum Erreichen des Ergebnisses gewählt hat, immer wirklich intuitiv? Untersuchungen haben gezeigt, dass einige Bilder beispielsweise nicht anhand der eigentlich abgebildeten Pferde als Pferdebild klassifiziert wurden. Stattdessen anhand des ebenfalls auf vielen Pferdebildern vorhandenen Stückchen Walds. Andere anhand der Signatur des Fotografen (der eben öfter Pferde fotografiert). Somit wurde das Wunder der KI an einigen mit verfrühten Lorbeeren versehenen Beispielen entzaubert. Erinnerungen an das Pferd “Kluger Hans” wurden wach, das nur zum Schein zählen konnte.
Darüber hinaus wurden auch Fehlschläge wie der Unfall eines UBER-Fahrzeugs medial ausgeschlachtet, sodass man autonome Fahrzeuge schon bald für eine Gefahr halten musste. Man übersieht dann leicht, dass allein in Brandenburg pro Woche durchschnittlich 2 bis 3 Menschen bei Verkehrsunfällen ums Leben kommen. Hier könnte auch eine nicht ganz perfekte KI durchaus Vorteile bieten. Aber dahinter stehen auch andere Fragen. Entsprechend wird diese Technologie mal übertrieben in den Himmel gehoben und mal verdammt, bevor die Zusammenhänge klar sind.
Ich sehe hier also sowohl im Guten als auch im Schlechten eine Übertreibung. Trotz allen Hypes hat KI sehr viel Potential, auch in sicherheitskritischen Anwendungen. Die Voraussetzung dafür ist natürlich, dass diese Technologie gut abgesichert werden kann.
In diesem Zusammenhang kann man sich etliche Fragen stellen. Ich reiße im Folgenden ein paar davon zu verschiedenen Teilthemen an und biete somit einen Einstieg. Zu tiefergehenden Fragen ist die Wissenschaft, wie gesagt, seit Jahrzehnten mit Fragen rund um dieses Thema beschäftigt.
Zunächst spielt Statistik hier eine große Rolle und wird zur internen Bewertung von Situationen, Bildern usw. herangezogen. Mithilfe der Konfusionsmatrix können Vorhersage und Realität für binäre Klassifikatoren bewertet werden: Was wird korrekt vorhergesagt? Wo und wie irrt die KI?
Für die Bewertung dieser Resultate gibt es verschiedene Mittel. Zum Beispiel das harmonische Mittel aus Genauigkeit und Sensitivität, auch F1-Score genannt. In jedem Fall ist klar, dass die dem Ergebnis beigemessene Bedeutung je nach Domäne unterschiedlich ausfällt. So ist beispielsweise die fehlerhafte Diagnose auf Existenz eines (tatsächlich nicht vorhandenen) Tumors nicht so schlimm. Das Nichterkennen eines (tatsächlich vorhandenen) Tumors für die Lebenserwartung des Patienten aber sehr wohl.
Weiterhin stellt sich dem geübten Tester natürlich noch eine Frage: Welche der ihm bereits seit vielen Jahren bekannten Bordmittel aus dem Bereich der Qualitätssicherung hier anwendbar sind.
Auf der anderen Seite verlockt uns Tester natürlich ein anderer Gedanke, nämlich die unbegrenzten Möglichkeiten der Künstlichen Intelligenz auch für den Softwaretest selbst zu nutzen. Auch hierfür gibt es interessante Entwicklungen. Als ein Anwendungsbereich sticht der Performanztest ins Auge. Dabei kann die KI in Abhängigkeit der Eingabedaten Auffälligkeiten im Systemverhalten und der Systemlast erkennen. Diese Beobachtungen könnten genutzt werden, um das System näher und näher an die Belastungsgrenze zu führen oder darüber hinaus.
Das Finden von Ähnlichkeiten und Gemeinsamkeiten kann in vielen weiteren Feldern Anwendung finden. Für Fehlermeldungen, Testspezifikationen, Log-Dateien des Testobjekts, die Generierung von Testdaten basierend auf Datenformatbeschreibungen oder Testabläufen basierend auf der Codeanalyse. Ein weiteres spannendes Thema ist der Einsatz einer KI als Testorakel. Hierbei stellt sich noch eine Frage: kann eine KI, die als Testorakel dient, nicht auch gleich als zu testendes System genutzt werden? Und kann sie es sogar besser als das Original? Darüber hinaus stellt sich auch gleich die Frage nach den Grenzen: welche Entscheidungen können und wollen wir einer KI überlassen? Manch einer fühlt sich hier an das Trolley-Problem erinnert. Dieses ist schon für Menschen unlösbar oder zumindest meist nur schwer rechtfertigbar. Wenn ein tödlicher Unfall unvermeidlich ist und man den Ausgang noch beeinflussen kann, wer darf leben und wer muss sterben?
Diese und weitere Gedanken sind ein Einstieg in diese hochinteressante Thematik. Sie ist gerade wirtschaftlich sehr interessant und wird noch viele spannende Jahre vor sich haben.
1 Min. Lesezeit
SAP, das etwas andere IT-System SAP unterscheidet sich grundlegend von anderen IT-Systemen durch seine Komplexität, den Integrationsgrad und die...
UML-Quantitäts-Metriken Quantitäts-Metriken sind Zählungen der im UML-Modell enthaltenen Diagramm- und Modelltypen. Die Modelltypen werden weiter...
1 Min. Lesezeit
Es ist unbestritten: der strukturierte Software-Test hat sich als Profession in der IT-Branche etabliert. Nicht zu testen kann sich kaum noch ein...