KI-Code: Schneller geschrieben, langsamer getestet

vor 1 Stunde 1

Generative KI hat die Produktivität beim Programmieren deutlich erhöht. Eine Studie von GitHub Research zeigt, dass Entwickler Programmieraufgaben in kontrollierten Experimenten mit KI-Assistenz rund 55 Prozent schneller erledigen als ohne Unterstützung. Doch der Geschwindigkeitsgewinn beim Schreiben von Code mittels KI-Systemen bedeutet nicht automatisch, dass Softwareprojekte insgesamt schneller vorankommen. Eine Untersuchung des Forschungsinstituts METR (Model Evaluation and Threat Research) zeigt, dass erfahrene Entwickler bei Arbeiten in vertrauten Code-Umgebungen mit KI-Werkzeugen im Schnitt 19 Prozent länger benötigen – vor allem wegen zusätzlicher Prüf- und Korrekturschritte. Ein Grund: Sie müssen sich bei Fehlern erst in den von der KI erzeugten Code einarbeiten.

Da Testen, Debugging und Verifikation schon in der herkömmlichen Softwareentwicklung rund die Hälfte des Zeitaufwands ausmachen, schlagen Verzögerungen bei diesen Arbeiten besonders stark auf die Projektlaufzeit durch. Mit KI-Werkzeugen beim Programmieren verschiebt sich der Engpass: Das Erzeugen von Code wird einfacher und schneller – der Nachweis, dass er korrekt funktioniert und freigegeben werden kann, bleibt aufwendig. Das wiegt umso schwerer, weil die Kosten für Fehler mit jeder späteren Projektphase steigen. Eine vielzitierte Analyse des IBM Systems Sciences Institute beziffert den Unterschied: Während der Implementierung ist die Behebung eines Fehlers sechsmal teurer als in der Designphase. Beim Testen steigt der Faktor auf 15, in der Produktion auf bis zu 100. Gerade in komplexen Unternehmenssystemen wird das zum Problem. Moderne Anwendungen bestehen aus vielen Services, Programmierschnittstellen (APIs) und Datenquellen. Eine Änderung an einer Stelle kann unerwartete Nebenwirkungen an vielen anderen auslösen. Je schneller KI-Werkzeuge neuen Code produzieren, desto häufiger entstehen solche Wechselwirkungen – und damit zusätzliche Fehlerquellen.

Um diesen Engpass abzumildern, kommen zunehmend KI-Systeme auf den Markt, die neue oder geänderte Programme schneller testen sollen. Das führt jedoch zu einem grundlegenden Wandel in der Testmethodik. Klassisches Softwaretesten folgt einem deterministischen Modell: gleicher Input, gleiches Programm, identischer Output. Genau darauf beruhen Testläufe, bei denen Funktionen mit definierten Parametern aufgerufen werden und exakt die erwarteten Ergebnisse liefern müssen. Doch bei KI-Systemen gilt dieses Prinzip nur noch eingeschränkt. Große Sprachmodelle und andere generative Verfahren arbeiten auf Basis statistischer Wahrscheinlichkeiten und liefern Ergebnisse innerhalb einer Bandbreite möglicher Antworten. Die Qualität eines Systems lässt sich deshalb nicht mehr allein mit Ja-Nein-Tests überprüfen. Entscheidend ist, ob sich das Verhalten innerhalb akzeptabler Grenzen bewegt. Damit verschiebt sich auch der Fokus der Qualitätssicherung (QA). Statt vollständiger Testabdeckung rückt ein risikobasierter Ansatz in den Vordergrund: Kritische Funktionen und Schnittstellen prüfen Teams intensiver, weniger relevante Teile mit geringerer Tiefe. Ziel ist nicht mathematische Vollständigkeit, sondern eine belastbare Einschätzung des Restrisikos.

Zu den Anbietern KI-gestützter Werkzeuge gehören Keysight Eggplant, SmartBear, OpenText und Tricentis. Letzterer hat kürzlich eine „Agentic Quality Engineering Platform“ vorgestellt – eine Plattform, auf der autonom agierende KI-Agenten Qualitätssicherungsaufgaben übernehmen. Sie unterstützt unter anderem die SAP-GUI und Web-Anwendungen. Hierzu nutzt die Plattform generative KI, um Testfälle zu erzeugen, bestehende Tests zu priorisieren und Ergebnisse großer Testläufe zusammenzufassen. Technisch geht es dabei weniger um „KI testet Software“ als um die Unterstützung typischer QA-Arbeitsschritte: Änderungen im Code analysieren, relevante Tests auswählen, Fehlermeldungen gruppieren oder umfangreiche Logdateien verdichten. Der Ansatz zielt auf einen der zeitaufwendigsten Schritte im Testprozess: die Auswertung großer Mengen von Testergebnissen. In Continuous-Integration-Umgebungen laufen oft mehrere tausend Tests pro Commit, deren Resultate Entwickler anschließend interpretieren müssen. KI-Werkzeuge können helfen, Muster schneller zu erkennen und Fehlerursachen besser einzugrenzen. Der Nutzen verschiebt sich damit vom Generieren einzelner Tests hin zur Organisation und Auswertung ganzer Testlandschaften.

Trotz dieser Entwicklungen bleibt der Einsatz KI-basierter Tests begrenzt. Viele Aspekte der Softwarequalität lassen sich nicht aus Testläufen ableiten. Dazu gehören Sicherheitsprobleme, strukturelle Code-Schwächen oder die Vermeidung technischer Schulden – also aufgeschobener Wartungs- und Modernisierungsarbeiten, die langfristig den Entwicklungsaufwand erhöhen. Solche Fragen betreffen die Architektur einer Anwendung und nicht nur ihr Laufzeitverhalten. Statische Codeanalyse (Static Analysis), die den Quellcode ohne Ausführung auf Fehler und Schwachstellen untersucht, Security Audits und klassische Code Reviews bleiben daher notwendig. Generative KI kann hier allenfalls Hinweise liefern, ersetzt aber keine systematische Analyse. Besonders bei sicherheitskritischen Anwendungen ist automatisches KI-Testing kein ausreichender Qualitätsnachweis.

Diese Grenzen führen zu einem Grundprinzip moderner Entwicklungsprozesse: Der Mensch bleibt Teil der Entscheidungskette. Automatisierte Tests können Hinweise liefern und große Datenmengen auswerten, doch die Freigabe eines Releases bleibt eine Risikoabwägung. In vielen Unternehmen entscheiden deshalb weiterhin Entwickler- oder QA-Teams darüber, ob eine neue Softwareversion in Produktion gehen darf. KI kann diesen Prozess beschleunigen, indem sie Informationen verdichtet und Routineaufgaben übernimmt. Die Verantwortung für die Freigabe bleibt jedoch beim Menschen. Wie riskant eine unzureichende Kontrolle ist, zeigten jüngst durch KI-Tools verursachte Ausfälle bei Amazon, nach denen der Konzern strengere Prüfmechanismen einführte.

Generative KI beschleunigt das Schreiben von Code erheblich, erhöht aber zugleich den Aufwand für dessen Verifikation. Mehr generierter Code bedeutet mehr Varianten, mehr Integrationspunkte und damit mehr potenzielle Fehlerrisiken. KI kann beim Erzeugen von Testfällen und bei der Analyse großer Testläufe helfen, löst aber nicht alle Qualitätsprobleme. Fragen der Sicherheit, Architektur und technischer Schulden bleiben Aufgaben von Entwicklern und Review-Prozessen. Entscheidend bleibt: Ob eine Softwareversion in Produktion gehen darf, ist eine menschliche Entscheidung.

(fo)

Gesamten Artikel lesen