Start / Seminare / GenAI für Testing, QA und Code Review
Modul
Code Review & Qualitätsstandards
4 Kapitel in diesem Modul-Video · Laufzeit
Transkript
Der gesprochene Text dieses Moduls zum Mitlesen, Überfliegen und Durchsuchen. Ein Klick auf einen Zeitstempel springt an die Stelle im Video.
Code Review & Qualitätsstandards
0:00 Wenn von KI im Code Review die Rede ist, denken die meisten sofort an einen Bot, der Kommentare an Pull Requests hängt. Das ist ein Teil der Geschichte, aber längst nicht die ganze — und wer nur diesen Teil umsetzt, erzeugt vor allem Rauschen. In diesem Modul ordnen wir KI in einen vollständigen Review-Ablauf ein: mit deterministischen Prüfungen davor, klaren Regeln daneben und menschlichem Urteil danach.
0:23 Und wir bauen am Ende die Pipeline, die das Ganze zusammenhält — ebenfalls mit KI-Unterstützung.
KI im Review-Workflow verorten
0:30 Bevor wir irgendein Werkzeug einschalten, klären wir die Reihenfolge. Denn die häufigste Enttäuschung mit KI im Review entsteht nicht durch schlechte Modelle, sondern durch den falschen Platz im Ablauf. Wer die KI als erste Instanz einsetzt, bekommt Kommentare zu Dingen, die ein Linter zuverlässiger findet — und verliert den Blick für das, was wirklich Aufmerksamkeit braucht.
0:50 In diesem Kapitel ordnen wir deshalb jeden Prüfschritt seiner passenden Instanz zu. Der wichtigste Satz dieses Kapitels steht gleich am Anfang: KI ist nicht die erste Verteidigungslinie. Stellen Sie sich eine Qualitätskontrolle in der Fertigung vor. Bevor ein Mensch ein Bauteil begutachtet, laufen Messgeräte — Maße, Gewicht, Toleranzen. Erst was diese Prüfungen passiert hat, kommt zur fachlichen Beurteilung.
1:15 Genauso hier: Was ein Werkzeug zuverlässig und reproduzierbar prüfen kann, sollte kein Modell schätzen. Die KI setzt danach an — als Stufe zwischen Maschine und Mensch, nicht als Ersatz für eine von beiden. Diese vier Punkte haben eine gemeinsame Eigenschaft, und die ist entscheidend: Sie liefern jedes Mal dasselbe Ergebnis.
1:36 Ein Linter findet denselben Formatierungsfehler heute und morgen. Ein Test schlägt bei demselben Defekt zuverlässig fehl. Ein Security-Scanner kennt die bekannten Risiken. Ein Modell dagegen kann etwas beim ersten Lauf finden und beim zweiten übersehen — und genau das macht es als Qualitätsschranke ungeeignet. Deshalb die Reihenfolge: Reproduzierbares zuerst, und zwar so, dass ein Quality Gate den Merge blockiert. Alles Weitere kommt danach.
2:04 Der rote Faden dieses Ablaufs ist eine Filterkette: Jede Stufe entfernt, was die nächste nicht mehr sehen soll. Die CI räumt das Mechanische ab. Die KI fasst zusammen und deutet auf Dinge hin, die Aufmerksamkeit verdienen — fehlende Tests, unklare Logik, riskante Sonderfälle. Der Autor arbeitet das Offensichtliche ab, bevor überhaupt jemand liest. Und erst dann kommt der Mensch, mit einem deutlich kleineren, dafür anspruchsvolleren Rest.
2:29 Der praktische Effekt ist der, den jeder kennt, der schon einmal einen tausendzeiligen Diff bekommen hat: Die Einstiegslast sinkt — und damit die Versuchung, ab Zeile fünfzig nur noch zu überfliegen. Die Logik dieser Zuordnung folgt einer einzigen Frage: Was braucht Kontext, den nur Menschen haben? Format und bekannte Schwachstellen brauchen keinen — das können Werkzeuge.
2:52 Ob ein Test fehlt oder eine Verzweigung riskant aussieht, lässt sich aus dem Code plausibel ableiten — das kann die KI. Ob ein Entwurf zur Architektur passt, ob die Fachlogik stimmt, ob dieses Release riskant ist — das weiß nur, wer das Produkt und das Team kennt. Und der Autor hat eine oft vergessene Rolle: Er liefert den Kontext, ohne den sowohl KI als auch Mensch raten müssen.
3:15 Diese Übung braucht kein Werkzeug, nur einen echten Pull Request und ein ehrliches Blatt Papier. Gehen Sie die Prüfpunkte durch, die in Ihrem Projekt beim Review tatsächlich anfallen, und ordnen Sie jeden einer Instanz zu. Die Fähigkeit dahinter: erkennen, was Sie heute manuell tun, obwohl es ein Werkzeug zuverlässiger könnte — und umgekehrt, was Sie gerade an ein Werkzeug abgeben wollen, das dafür gar nicht taugt.
3:38 Erfahrungsgemäß fällt dabei mindestens eine Prüfung auf, die im Team niemand verlässlich übernimmt. Das allein lohnt die Übung. Drei Punkte, an denen KI-Reviews in der Praxis scheitern. Der erste ist Rauschen: Wer einen Bot ohne Regeln einschaltet, bekommt Kommentare zu allem — und das Team gewöhnt sich an, sie zu überlesen.
3:58 Damit ist das Werkzeug wirkungslos, bevor es nützlich werden konnte. Der zweite betrifft die Größe: Große Pull Requests überfordern KI und Mensch gleichermaßen, weil der Zusammenhang verloren geht. Und der dritte ist eine verschenkte Chance — wenn dieselbe Anmerkung zum fünften Mal kommt, ist das kein Kommentar mehr, sondern eine fehlende Teamkonvention.
Statische Analyse mit KI verbinden
4:19 Schauen wir uns jetzt an, wie diese Zusammenarbeit konkret aussieht. Die Werkzeuge liefern die Befunde — reproduzierbar, in drei getrennten Berichten und in einer Menge, die niemand freiwillig durchliest. Die KI macht daraus etwas, mit dem ein Team tatsächlich arbeiten kann: eine Liste mit Reihenfolge, Begründung und einer klaren Aussage darüber, was den Pull Request aufhält und was warten kann.
4:42 Statische Analyse heißt: Der Code wird geprüft, ohne ihn auszuführen — durch Security-Scan, Linter und Abhängigkeitsprüfung. Jedes dieser Werkzeuge liefert einen eigenen Bericht, und genau da beginnt das Alltagsproblem. Drei Berichte in drei Formaten, teils Hunderte Einträge, und niemand weiß, womit anzufangen ist. Die KI ersetzt keines dieser Werkzeuge.
5:04 Sie tut etwas anderes: Sie liest alle drei zusammen, gleicht sie mit den aktuellen Änderungen ab und macht daraus eine Liste, die eine Reihenfolge hat. Das ist weniger spektakulär als Codegenerierung — und im Alltag oft wertvoller. Worauf es hier ankommt, ist der Abgleich mit dem Diff — das ist die Zeile mit dem größten praktischen Effekt.
5:25 Ohne sie bekommen Sie alle Befunde des gesamten Projekts, auch die, die seit drei Jahren dort schlummern. Mit ihr trennt sich sauber: Was habe ich gerade eingebracht, und was war vorher schon da? Der zweite wichtige Teil ist die Feldliste am Ende. Sie zwingt zu Vollständigkeit — vor allem zur Begründung und zum Blocker-Entscheid. Ein Befund ohne die Frage „hält das den Pull Request auf?" ist für die Entscheidung wertlos.
5:50 Das Prinzip hinter dieser Dreiteilung ist Entscheidungsfähigkeit. Eine Liste mit dreißig Befunden ist eine Hausaufgabe. Drei Kategorien mit klarer Bedeutung sind eine Entscheidungsgrundlage: Das hier hält den Merge auf, das kommt zeitnah, das sammeln wir. Beachten Sie, was in die oberste Kategorie kommt — neu eingeführte Probleme und verwundbare Pakete im Produktivbetrieb. Nicht das Lauteste, sondern das mit der größten Wirkung.
6:16 Und noch einmal, weil es entscheidend ist: Der Blocker-Vorschlag ist ein Vorschlag. Die Freigabe bleibt eine menschliche Entscheidung. Nehmen Sie Ihr eigenes Projekt und lassen Sie die Analysewerkzeuge laufen, die Sie ohnehin haben — mehr braucht es nicht. Die Fähigkeit, die Sie üben, ist Priorisierung nach Wirkung auf den Pull Request, nicht nach Schweregrad-Label des Werkzeugs.
6:39 Das ist ein Unterschied: Ein als „hoch" markierter Befund in einem Testhilfsmodul kann harmloser sein als eine mittlere Meldung im Bezahlpfad. Ihr Ergebnis nennt je Befund vier Dinge: Werkzeug, Schweregrad, Fix-Vorschlag und den Blocker-Entscheid. Genau in dieser Form lässt sich eine solche Liste im Team tatsächlich besprechen.
6:58 Der erste Punkt ist der grundsätzliche und gilt für das ganze Modul: Lassen Sie die Prüfung nicht die KI machen. Reproduzierbarkeit ist der einzige Grund, warum ein Quality Gate überhaupt funktioniert — und die bekommen Sie nur von deterministischen Werkzeugen. Der zweite Punkt ist eine praktische Falle: Ohne Diff-Abgleich blockiert plötzlich jede Altlast den Pull Request, und das Team schaltet die Prüfung nach zwei Tagen wieder ab.
7:22 Und der dritte, wieder: Der Blocker-Entscheid ist eine Empfehlung. Wer sie ungeprüft automatisiert, hat die Freigabe an ein Modell delegiert.
Review-Bot am Pull Request
7:31 Jetzt zu dem Teil, an den die meisten zuerst denken: dem Bot, der automatisch kommentiert, sobald ein Pull Request geöffnet wird. Wir schauen uns an, wie man ihn einrichtet — das ist schnell erledigt — und vor allem, wie man ihn steuert. Denn zwischen einem Bot, den das Team schätzt, und einem, dessen Kommentare alle überlesen, liegt fast ausschließlich eine einzige Datei im Repository.
7:54 Ein Review-Bot prüft Pull Requests automatisch, sobald sie geöffnet werden. Das Entscheidende ist aber nicht das Auslösen, sondern die Steuerung: Was er prüft, steht in einer Regeldatei im Repository. Dort hinterlegen Sie die Konventionen Ihres Teams — wie Eingaben in API-Handlern validiert werden, wie Tests aufgebaut sind, wann Dokumentation nachzuziehen ist.
8:15 Ohne diese Datei rät der Bot, was gute Qualität in Ihrem Projekt bedeutet, und orientiert sich an allgemeinen Mustern. Der Unterschied zwischen einem nützlichen und einem nervigen Bot liegt fast vollständig in dieser einen Datei. Die Einrichtung selbst ist schnell erledigt — interessanter sind zwei Entscheidungen darin. Erstens der Auslöser: beim Öffnen des Pull Requests ist ein guter Standard, bei jedem Push bekommen Sie schnelleres Feedback und mehr Rauschen.
8:42 Zweitens die Regeldatei, über die wir eben gesprochen haben. Rechnen Sie damit, dass die erste Rückmeldung ein paar Minuten braucht — die Prüfung läuft in einer Warteschlange. Und der letzte Schritt ist der, der langfristig zählt: Wiederkehrende Hinweise nicht einzeln abarbeiten, sondern in die Regeldatei überführen. So wird aus Kommentaren eine Konvention.
9:03 Die Stärken eines Bots liegen genau dort, wo menschliche Aufmerksamkeit nachlässt. Struktur und Konsistenz über viele Dateien hinweg — dafür müsste ein Mensch den gesamten Diff im Kopf behalten. Repository-spezifische Konventionen — die kennt ein neuer Kollege im dritten Monat noch nicht. Und Wiederholung ohne Ermüdung: Der Bot liest die zweihundertste Datei so aufmerksam wie die erste.
9:26 Das ist der eigentliche Gewinn — nicht dass er klüger wäre, sondern dass er nicht müde wird. Die Beurteilung des Entwurfs bleibt trotzdem beim Menschen. Hier üben Sie etwas, das im Alltag selten passiert: implizite Konventionen aufschreiben. Jedes Team hat Regeln, die alle kennen und niemand notiert hat — genau die sind gemeint.
9:46 Die Fähigkeit dahinter ist Präzision: Eine Regel muss so formuliert sein, dass sich objektiv prüfen lässt, ob sie eingehalten wurde. „Sauberen Code schreiben" ist keine Regel. „Jeder API-Handler validiert seine Eingaben, bevor er den Service aufruft" ist eine. Drei solcher Regeln genügen — und dann schauen Sie an einem echten Pull Request, ob sie wirken.
10:09 Der erste Punkt ist eine Grenze, die kein Werkzeug überschreiten sollte: Kein Bot gibt eine Freigabe. Review ist eine Verantwortungsübernahme, und die lässt sich nicht automatisieren. Der zweite Punkt kennen Sie inzwischen — ohne Regeldatei kommentiert der Bot nach allgemeinen Annahmen, und dann diskutieren Sie über Geschmacksfragen statt über Ihre Standards.
10:29 Und der dritte ist schlicht praktisch: Der Umfang der automatischen Prüfung hängt vom gebuchten Tarif ab. Klären Sie das, bevor Sie einen Ablauf entwerfen, der auf Vollabdeckung baut.
CI-Pipeline mit KI aufbauen
10:40 Zum Abschluss bauen wir das Fundament, auf dem alles Bisherige läuft: die Pipeline, die bei jedem Pull Request automatisch prüft. Tests, Typprüfung, statische Analyse, Build — all das, was wir in den vorigen Kapiteln als Voraussetzung gesetzt haben. Auch diese Pipeline lässt sich erzeugen, und zwar erstaunlich vollständig.
10:59 Aber danach muss man aufräumen, und genau dieser Teil entscheidet, ob am Ende ein wirksames Quality Gate steht. Continuous Integration folgt in fast jedem Projekt demselben Muster: Abhängigkeiten installieren, Prüfungen fahren, Tests ausführen, Build sicherstellen. Genau weil dieses Muster so verbreitet ist, lässt es sich gut beschreiben — und deshalb funktioniert die Erzeugung hier so gut. Deployment lassen wir bewusst außen vor.
11:25 Nicht aus Bequemlichkeit, sondern weil es sich grundlegend unterscheidet: Es hängt an Plattform, Infrastruktur und Releaseprozess und ist damit für jedes Projekt anders. CI ist ein Muster, Deployment ist eine Einzelanfertigung. Zwei Dinge sind an diesem Prompt bemerkenswert. Erstens die Vollständigkeit der Schrittliste — je genauer Sie sie benennen, desto weniger fehlt hinterher.
11:48 Und zweitens der Satz, der leicht überlesen wird: die Befehlsfolge lokal gegenprüfen. Das ist der Unterschied zwischen einer Datei, die plausibel aussieht, und einer Pipeline, die läuft. In unserem Beispiel fand das Werkzeug dabei einen Linter-Fehler und stellte fest, dass ein Analysewerkzeug auf dem CI-Agenten erst installiert werden muss.
12:08 Solche Details kosten sonst mehrere rote Läufe und einen Nachmittag. Der rote Faden hier ist: erzeugen lassen, dann aufräumen. In unserem Beispiel liefen die Unit-Tests zweimal — einmal für sich, einmal mit Coverage. Das ist kein Fehler, aber verschenkte Zeit bei jedem Lauf. Der wichtigste Punkt steht am Ende, und der ist ein echter Stolperdraht: In vielen erzeugten Workflows enden Prüfschritte so, dass sie nie fehlschlagen.
12:34 Für eine Demo praktisch, in der Realität fatal — dann läuft die Pipeline grün durch, während die statische Analyse Befunde meldet, die niemand liest. Ein Quality Gate, das nichts blockiert, ist Dekoration. Diese Übung ist eine Aufräumaufgabe, und sie schult einen Blick, den man auch bei handgeschriebenen Pipelines braucht.
12:54 Gehen Sie den generierten Workflow Schritt für Schritt durch und stellen Sie zwei Fragen: Läuft hier etwas doppelt? Und: Kann dieser Schritt überhaupt fehlschlagen? Ihr Erfolgskriterium ist scharf formuliert — der Workflow läuft ohne doppelte Schritte durch und bricht bei Analysefehlern tatsächlich ab. Testen Sie das aktiv, indem Sie einen Fehler einbauen. Ein Gate, das man nie ausgelöst hat, ist ein unerprobtes Gate.
13:19 Diese drei Punkte kosten alle dasselbe: falsches Vertrauen. Befehle, die Fehler schlucken, machen jedes Quality Gate wirkungslos — und weil alles grün ist, fällt es niemandem auf. Doppelte Testläufe kosten bei jedem einzelnen Pull Request Zeit, was sich über Monate summiert. Und der dritte Punkt ist die klassische Überraschung: Was lokal läuft, läuft nicht automatisch auf dem CI-Agenten. Dort fehlen Laufzeiten, Werkzeuge, Umgebungsvariablen.
13:46 Genau deshalb war die lokale Gegenprobe im Prompt so wertvoll — sie verschiebt diese Erkenntnis nach vorn. Wenn man dieses Modul auf einen Satz eindampft: Der Gewinn liegt nicht in mehr Kommentaren, sondern in besserer Verteilung der Aufmerksamkeit. Reviewer verbringen weniger Zeit mit Mechanik und mehr mit Entwurf und Risiko.
14:06 Dafür wächst die Verantwortung der Autoren — ein guter Pull-Request-Text hilft KI und Mensch gleichermaßen und ist der billigste Qualitätshebel überhaupt. Wiederkehrende Hinweise gehören in die Regeldatei, sonst wiederholen sie sich ewig. Und die Arbeitsteilung bleibt: Reproduzierbarkeit kommt von Werkzeugen, Einordnung von der KI, Entscheidung vom Menschen.
Code Review & Qualitätsstandards
14:27 Halten wir fest: KI ist eine Stufe im Review, kein Ersatz dafür — und sie wirkt nur dann, wenn davor deterministische Prüfungen laufen und daneben die Regeln Ihres Teams stehen. Diese Regeldatei ist der wichtigste Hebel für die Qualität der Rückmeldung. Im letzten Modul schließen wir den Kreis: Wir schauen darauf, wie aus all diesen Signalen — Tests, Defekte, Analysen, Reviews — eine Aussage wird, mit der ein Team arbeiten kann.
14:52 Von der Fehlermeldung im Ticketsystem bis zum Release-Fazit.
Lieber mit Trainer? Dieses Modul ist Teil unserer Team-Schulungen — mit Übungen, Ihrem eigenen Code und Fragen, die ein Video nicht beantwortet. Mehr erfahren →