Regressionstest

Regressionstest

Ein Regressionstest prüft nach einer Änderung an einem Programm, ob alles, was vorher funktioniert hat, immer noch funktioniert. Er soll verhindern, dass eine neue Funktion oder eine Fehlerbehebung heimlich etwas anderes kaputt macht.

Programme werden ständig verändert. Es kommt eine neue Funktion dazu, ein Fehler wird behoben, ein Stück Text wird umgeschrieben. Jede solche Änderung kann versehentlich an anderer Stelle etwas zerstören, das vorher einwandfrei lief. Genau das nennt man eine Regression: einen Rückschritt. Ein Regressionstest ist eine Prüfung, die man nach jeder Änderung wiederholt, um genau solche Rückschritte zu entdecken. Man testet dabei nicht nur das Neue, sondern vor allem das Alte.

Warum alte Funktionen plötzlich kaputtgehen

In größerer Software hängt fast alles mit fast allem zusammen. Ein Bauteil, das das Datum formatiert, wird an dreißig Stellen benutzt. Wer es ändert, damit eine Stelle besser aussieht, verändert damit auch die anderen 29. Entwicklerinnen und Entwickler haben diese Zusammenhänge nie vollständig im Kopf, dafür sind moderne Systeme zu groß.

Dazu kommt: Fehler, die man selbst verursacht hat, sucht man an der falschen Stelle. Wer eine Bezahlfunktion umbaut, testet die Bezahlfunktion. Dass dabei die Registrierung nicht mehr geht, merkt am Ende der Kunde. Ein solcher Fehler ist deutlich teurer als einer, der schon beim Programmieren auffällt. Faustregel in der Branche: je später ein Fehler entdeckt wird, desto aufwendiger seine Behebung.

Bei KI-Systemen ist das Problem noch schwieriger. Wird ein Sprachmodell — also ein Programm, das Texte erzeugt — durch eine neuere Version ersetzt, kann es an vielen Stellen besser und an einigen schlechter werden. Ohne systematische Prüfung merkt niemand, welche Fähigkeiten dabei verloren gegangen sind.

Testsammlung, Automatisierung und die Wahl der Fälle

Die Grundlage ist eine Sammlung von Testfällen. Ein Testfall beschreibt eine Eingabe und das erwartete Ergebnis: Wer dieses Passwort eingibt, wird abgelehnt. Wer 19 Euro plus Mehrwertsteuer berechnet, bekommt 22,61 Euro. Diese Fälle werden als kleine Programme geschrieben, die die Software selbst bedienen und das Ergebnis vergleichen.

Ausgeführt wird die Sammlung automatisch, meist bei jeder Änderung am Programmcode. Ein Server holt sich die neue Fassung, startet alle Tests und meldet innerhalb von Minuten, welche fehlgeschlagen sind. Große Firmen betreiben zehntausende solcher Tests. Von Hand wäre das unmöglich, weil man sie hunderte Male pro Woche wiederholt.

Eine wichtige Regel: Für jeden gefundenen Fehler schreibt man einen neuen Testfall. So kann derselbe Fehler kein zweites Mal unbemerkt zurückkehren. Die Testsammlung wächst dadurch mit der Zeit und wird zu einem Gedächtnis für alle Pannen der Vergangenheit. Bei KI-Modellen nennt man das Gegenstück oft Evaluation: Man schickt hunderte feste Beispielfragen durch das Modell und vergleicht die Trefferquote mit der vorherigen Version.

Vom Handy-Update bis zur Modellversion

Jedes App-Update auf dem Handy hat vor der Veröffentlichung Regressionstests durchlaufen. Wenn nach einem Update trotzdem eine Funktion nicht mehr geht, hat die Testsammlung eine Lücke. Solche Fälle schaffen es regelmäßig in die Nachrichten, etwa wenn nach einem Bankensoftware-Update Überweisungen scheitern.

In Tech-News taucht der Begriff besonders auf, wenn KI Programmcode schreibt. Ein Modell kann in Sekunden Änderungen vorschlagen, aber es garantiert nicht, dass der Rest weiterläuft. Die Tests sind hier das Sicherheitsnetz: Sie entscheiden, ob ein automatisch erzeugter Vorschlag überhaupt übernommen wird.

Ein verbreiteter Irrtum ist, ein bestandener Regressionstest beweise fehlerfreie Software. Er zeigt nur, dass die geprüften Fälle stimmen. Alles, wofür niemand einen Testfall geschrieben hat, bleibt ungeprüft. Deshalb gehören Regressionstests zu einem größeren Bündel von Verfahren und ersetzen weder das Testen neuer Funktionen noch den Blick echter Nutzer.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.