Qualitätssicherung
Zwei Ebenen: Der Durchstich prüft die Naht, die Regression den Bestand. Lücken werden gemeldet, nicht übersprungen.
Der Durchstich prüft die Naht
Geprüft wird nicht der frisch geschriebene Code für sich, sondern die Naht: der echte Einstiegspunkt, die Oberfläche, die Benachrichtigung, die Laufzeitumgebung. Ein Test, der nur die neue Funktion aufruft, sagt nichts darüber, ob das Programm überhaupt noch startet.
Die Regression schützt den Bestand
Die zweite Ebene beantwortet: „Tut alles, was schon einmal funktioniert hat, es immer noch?“ Gemeldete Fehler werden zu Dauertestfällen – ein Fehler, der einmal aufgetreten ist, darf nicht unbemerkt zurückkommen.
Wird ein bestehender Test rot, wird er nie eigenmächtig gelockert. Die Frage „war die Erwartung falsch oder die Änderung?“ ist eine menschliche Entscheidung und wird als solche vorgelegt.
Eine Lücke ist eine Auskunft
Ein Projekt ohne Testsuite wird im Lauf ausdrücklich als Lücke gemeldet, nie still übersprungen. Der Grund ist einfach: „grün“ darf nicht mit „ungeprüft“ verwechselt werden. Von 13 Projekten mit Durchstich haben heute 2 eine eigene Regressionssuite – die übrigen 11 erscheinen in jedem Lauf als offene Lücke.
Was aus Fehlern gelernt wurde
- Erwartung ableiten, nicht festschreiben. Ein Test mit einer festen Bestandszahl wird bei jeder planmäßigen Änderung rot – und erzieht dazu, ihn hochzuzählen statt hinzusehen.
- Kein Test ohne dokumentierten Zweck. „Bestanden“ ohne Angabe, was geprüft wurde, ist eine Auskunft, mit der niemand etwas anfangen kann.
- Was scheitern kann, braucht einen sichtbaren Ausgang – eine Meldung für den Nutzer, nicht nur eine Zeile im Log – und einen Test dafür.
- Gegenprobe. Ein Test, der nie rot werden kann, prüft nichts. Jede neue Prüfung wird einmal absichtlich zum Scheitern gebracht.
Noch nicht abgedeckt
Erst 2 von 13 Projekten haben eine eigene Regressionssuite. Die übrigen sind nur durch ihren Durchstich abgedeckt – die Lücke wird gemeldet, ist aber nicht geschlossen.