Eine mit Sägemehl bestäubte Hand hält drei Schnitzeisen mit Holzgriffen auf einer abgenutzten Werkbank. Um die Klingen liegen eingerollte Späne, und die Holzplatte ist fleckig und zerkratzt.
Ein Schnitzeisen trägt mit jedem Stoß Holz ab. Ob der Schnitt sitzt, beurteilt die Hand, die es führt, und das kann sie nur, wenn sie das Handwerk gelernt hat. Mit einem Coding Agent, der Tests schreibt, verhält es sich genauso.

Ein Coding Agent schreibt in Sekunden mehr Tests, als du an einem Tag schreiben würdest. Sie sind grün, und die Code Coverage steigt. Ob sie prüfen, was deine Software tun soll, oder nur festhalten, was sie gerade tut, einschließlich ihrer Fehler, sagt dir der Agent nicht. Das Schreiben von Tests ist damit nicht mehr der Engpass. Knapp ist das Urteil darüber, ob ein Test etwas taugt, und die Fähigkeit, einem Agenten vorzugeben, was er testen und was er implementieren soll.

Nach diesem Engpass habe ich mein Schulungsprogramm für 2027 ausgerichtet. In den meisten der dreizehn Schulungen spielt ein Coding Agent eine Rolle: als Autor von Tests, die du beurteilst, als Empfänger von Vorgaben, die du festlegst, oder als Leser einer Testausgabe, die sein Kontextfenster nicht füllen soll. Alle Schulungen auf einen Blick findest du auf der Seite Schulungen.

Das Fundament kommt vor dem ersten Test

Ein Urteil über einen Test setzt voraus, dass du weißt, wie ein guter Test aussieht. Woher soll dieses Wissen kommen, wenn ein Agent die meisten Tests schreibt? Diese Frage zieht sich durch das ganze Programm.

Meine Antwort beginnt mit „Testen verstehen“. Diese Schulung legt das theoretische Fundament, auf dem du danach lernst und übst, Tests zu schreiben, und auf dem du Tests beurteilst, egal, wer sie geschrieben hat. In den sechs Sitzungen schreibst du keinen Code, du liest ihn. Du lernst die Begriffe und Prinzipien des Testens, vom Orakel eines Tests über F.I.R.S.T. und Test Doubles bis zu der Frage, was Code Coverage misst und was nicht, und wendest sie auf vorgelegte Tests an, von denen viele ein Agent geschrieben hat.

Die Reihenfolge ist Absicht: erst das Fundament, dann das Schreiben und das Beurteilen. Wenn dein Projekt nicht so lange warten kann, besuchst du parallel „Startklar mit PHPUnit“. Dort richtest du ein, was dein Projekt braucht, damit Tests zum Alltag werden, von der Ordnung in der Testsuite über den Testlauf im Container und in der CI bis zur Testdatenbank mit synthetischen Daten. Tests schreibst du in dieser Schulung nicht selbst, sie kommen aus dem Übungsprojekt oder von deinem Agenten.

Wenn Agenten Tests schreiben, muss jemand festlegen, wie diese Tests aussehen. In „Tests mit System“ legst du in der ersten Sitzung fest, welche Tests ein Projekt braucht und welchen Regeln sie folgen, und begründest jede Entscheidung. In der zweiten machst du die Regeln mit einer strengen Konfiguration von PHPUnit und mit PHPStan prüfbar, sodass ein Werkzeug jede Abweichung meldet, auch die eines Agenten.

Testen verstehen

Einstieg · 6 Sitzungen à 2 Stunden · 1.199 €

Die KI schreibt deine Tests, aber verstehen musst du sie selbst. Lerne, was einen guten Test ausmacht, und erkenne, ob ein Test hält, was er verspricht, in jeder Programmiersprache.

  • Ohne PHPUnit-Vorkenntnisse
  • Für jede Programmiersprache

Nächster Termin:

Startklar mit PHPUnit

Einstieg · 4 Sitzungen à 2 Stunden · 799 €

Du willst automatisiert testen, aber in deinem Projekt läuft noch kein einziger Test? Bring PHPUnit in dein Projekt: mit einer Struktur, die mitwächst, verlässlich auf jedem Rechner und in der CI, und ohne echte Daten.

  • Ohne PHPUnit-Vorkenntnisse

Nächster Termin:

Tests mit System

Aufbau · 2 Sitzungen à 2 Stunden · 399 €

Wenn Agenten Tests schreiben, bestimmst du, wie deine Tests aussehen, nicht der Agent. Lege fest, welche Tests dein Projekt braucht und welchen Regeln sie folgen, und lass Werkzeuge jede Abweichung melden.

Nächster Termin:

Der Agent schreibt, du verantwortest

In „Agentic PHPUnit“ arbeitest du mit deinem eigenen Coding Agent. Er schreibt die Tests, du beurteilst sie, und zwar gegen die Anforderung statt gegen den Code. Ein Agent, der deinen Code liest, schreibt auf, was der Code tut, und hat der Code einen Fehler, bestätigen die Tests ihn. Du lernst, den Agenten mit einer AGENTS.md und den richtigen Aufträgen anzuleiten, ihm Leitplanken zu setzen, die schwache Tests aufhalten, bevor du sie lesen musst, und Tests, die nur das Ist-Verhalten festhalten, von fachlichen Tests zu unterscheiden, die das nächste Refactoring überleben. Weil Agenten nicht deterministisch antworten, kommen in jeder Übung verschiedene Testsuiten heraus, und aus dem Vergleich mehrerer lernst du mehr als aus einer.

„Testgetrieben entwickeln mit KI-Agenten“ dreht die Richtung um. Hier schreibst du die Tests selbst, und zwar zuerst: Sie legen fest, was der Agent implementiert. Das setzt voraus, dass du testgetriebene Entwicklung beherrschst. Deshalb lernst du sie in den ersten vier Sitzungen von Grund auf und ohne KI, im Ensemble Programming an einem gemeinsamen Bildschirm. Erst in den letzten beiden Sitzungen überträgst du die Arbeitsweise auf deinen Agenten, und ein Quality Gate aus Coding Standard, PHPStan, Deptrac, PHPUnit und Infection entscheidet, ob seine Implementierung gut genug ist.

Agentic PHPUnit

Aufbau · 6 Sitzungen à 2 Stunden · 1.199 €

Dein Coding Agent schreibt Tests in Sekunden. Lerne, wie gute PHPUnit-Tests aussehen, leite den Agenten richtig an, setze ihm Leitplanken und prüfe seine Tests fachlich, damit sie das Richtige prüfen und lange halten.

Nächster Termin:

Testgetrieben entwickeln mit KI-Agenten

Aufbau · 6 Sitzungen à 2 Stunden · 1.199 €

Hauptsache schnell? Lerne testgetriebene Entwicklung von Grund auf und steuere KI-Agenten mit Tests, die festlegen, was dein Code tun soll.

Nächster Termin:

Grün heißt nicht richtig

Auch eine Testsuite, die du sorgfältig beurteilt hast, prüft nur die Beispiele, an die jemand gedacht hat. „Testen jenseits der Beispiele“ zeigt dir drei Techniken, die finden, woran niemand gedacht hat. Property-Based Testing lernst du mit der neuen Unterstützung in PHPUnit 14. Mutation Testing beantwortet die Frage, ob deine Tests einen echten Fehler überhaupt bemerken würden, für jeden Test, auch für einen generierten. Fuzzing füttert deinen Code mit Eingaben, mit denen niemand rechnet.

Was eine Testsuite übersieht, kann auch eine Sicherheitslücke sein. In „Sicherheitslücken dauerhaft schließen“ findest du Schwachstellen per Capture the Flag, hältst jede als PHPUnit-Test fest und schließt sie dann. Ein Coding Agent hilft dir beim Finden und Beheben. Ob die Lücke wirklich zu ist, entscheidet der Test, und weil er in der Testsuite bleibt, merkst du es, wenn sie wieder aufgeht.

Testen jenseits der Beispiele

Vertiefung · 6 Sitzungen à 2 Stunden · 1.199 €

Grün heißt nicht richtig. Property-Based Testing, Mutation Testing und Fuzzing finden Fehler, die beispielbasierte Tests selbst bei 100 % Code Coverage übersehen. Du lernst sie hands-on und setzt sie zum Schluss an deinem eigenen Code ein.

  • Ohne PHPUnit-Vorkenntnisse
  • Für jede Programmiersprache

Nächster Termin:

Sicherheitslücken dauerhaft schließen

Aufbau · 4 Sitzungen à 2 Stunden · 799 €

Finde Schwachstellen per Capture the Flag, halte sie als PHPUnit-Test fest und schließe sie dauerhaft. Ein Coding Agent hilft dir beim Finden und Beheben, und der Test entscheidet, ob die Lücke wirklich zu ist.

Nächster Termin:

Testlauf, Git und Abhängigkeiten müssen mit Agenten rechnen

Ein Agent schreibt nicht nur Code und Tests. Er liest die Ausgabe deiner Testläufe, arbeitet in deinem Repository und fügt Pakete zu deinem Projekt hinzu. Drei Schulungen nehmen das auf.

In „Zeit und Tokens sparen mit PHPUnit“ ist der Agent der Leser deiner Testausgabe. Eine langsame Testsuite kostet Zeit, eine ausufernde Testausgabe kostet Tokens. In den ersten vier Sitzungen misst du, wo deine Testsuite ihre Zeit verbringt, und beschleunigst sie. In den letzten beiden richtest du Testläufe so ein, dass ein Agent ihr Ergebnis richtig liest und eine Lücke in der Code Coverage benennt, statt eine Zahl zu optimieren.

„Git im Griff“ behandelt saubere Commits, das, was bei einem Merge wirklich passiert, und ein Entwicklungsmodell, das zu deinem Team passt. Die fünfte Sitzung zeigt, wie mehrere Menschen und Agenten mit Worktrees gleichzeitig arbeiten, ohne sich in die Quere zu kommen.

„Dependency Management & Supply Chain Security“ beginnt bei dem, was bei composer require, install und update wirklich geschieht, und bei der Frage, welcher Code bei jeder Installation läuft. Die letzte Sitzung fragt, was ein Coding Agent an deinen Abhängigkeiten ändern darf.

Zeit und Tokens sparen mit PHPUnit

Vertiefung · 6 Sitzungen à 2 Stunden · 1.199 €

Langsame Tests kosten Zeit, ausufernde Testausgaben kosten Tokens. Miss, wo deine Testsuite ihre Zeit verbringt, beschleunige sie und richte Testläufe so ein, dass Coding Agents ihr Ergebnis richtig lesen, ohne ihr Kontextfenster zu füllen.

Nächster Termin:

Git im Griff

Für alle · 6 Sitzungen à 2 Stunden · 1.199 €

Merge-Konflikte, unlesbare Historien, Branches, die bremsen? Bring Git in den Griff: mit sauberen Commits, einem passenden Entwicklungsmodell und Worktrees für die parallele Arbeit mit KI-Agenten. In jeder Sitzung übst du mindestens eine Stunde lang selbst.

  • Ohne PHPUnit-Vorkenntnisse

Nächster Termin:

Dependency Management & Supply Chain Security

Aufbau · 6 Sitzungen à 2 Stunden · 1.199 €

Updates aufgeschoben, Lieferkette unklar, KI-Agenten fügen Pakete hinzu? Lerne, Abhängigkeiten mit Composer zu beherrschen, und sichere deine Software-Lieferkette gegen reale Angriffe ab.

  • Ohne PHPUnit-Vorkenntnisse

Nächster Termin: (bisherige Fassung mit 5 Sitzungen)

Upgrades gehören in den Kalender

Im November erscheint eine neue PHP-Version, im Februar eine neue Hauptversion von PHPUnit. Beides lässt sich planen, und drei Schulungen folgen diesem Takt. „Was ist neu in PHP?“ ordnet die neue PHP-Version ein: was sie bringt, warum sie so entworfen wurde und was beim Upgrade kaputtgeht. In „PHPUnit 14 Unwrapped“ packe ich zwei Stunden lang aus, was in PHPUnit 14 neu ist und warum es sich geändert hat. In „PHPUnit-Upgrade ohne Überraschungen“ bringst du danach deine Testsuite von PHPUnit 13 auf PHPUnit 14 und sorgst dafür, dass das nächste Upgrade klein bleibt.

Was ist neu in PHP?

Für alle · 2 Sitzungen à 2 Stunden · 399 €

Jedes Jahr eine neue PHP-Version. Erfahre, was sie bringt, warum sie so entworfen wurde und was sie für deinen Code bedeutet, und plane den Weg dorthin.

  • Ohne PHPUnit-Vorkenntnisse

Nächster Termin: (auf Englisch)

PHPUnit 14 Unwrapped

Orientierung · 1 Sitzung, 2 Stunden · kostenlos

Jedes Jahr im Februar erscheint eine neue Hauptversion von PHPUnit. In zwei kostenlosen Stunden packt Sebastian mit dir ein Jahr PHPUnit aus: was neu ist, warum es sich geändert hat und worauf du beim Upgrade achten musst.

Nächster Termin: (auf Englisch)

PHPUnit-Upgrade ohne Überraschungen

Aufbau · 2 Sitzungen à 2 Stunden · 399 €

Jedes Jahr im Februar erscheint eine neue Hauptversion von PHPUnit. Bring deine Testsuite ohne Überraschungen auf die neue Version und sorg dafür, dass das nächste Upgrade klein bleibt.

Nächster Termin:

Sechs Sitzungen in drei Tagen

Bis 2026 fand an jedem Tag einer Schulung eine Sitzung statt. Ab 2027 sind es zwei, von 10 bis 12 Uhr und von 15 bis 17 Uhr, an aufeinanderfolgenden Werktagen. Eine Schulung mit sechs Sitzungen dauert damit drei Tage, eine mit vier Sitzungen zwei Tage und eine mit zwei Sitzungen einen Tag. Freitagnachmittags findet keine Sitzung statt. Das neue Format geht auf Rückmeldungen von Teilnehmenden zurück und auf die Erfahrungen, die mein Partner bei thePHP.cc, Stefan Priebsch, mit diesem Format gesammelt hat.

Zwischen zwei Sitzungen liegen jetzt drei Stunden oder eine Nacht. Für Aufgaben an deinem eigenen Projekt reicht das nicht, und keine Schulung setzt solche Aufgaben voraus. Wo dein eigener Code gebraucht wird, holen die Schulungen ihn in die Sitzungen: „Agentic PHPUnit“ und „Testen jenseits der Beispiele“ widmen ihm jeweils die letzte.

Vier Schulungen bringen mein Buch mit

2027 erscheint mein Buch „PHPUnit Best Practices“, auf Englisch und zusammen mit einer Extension für PHPStan und mit Agent Skills. Das Buch begründet seine Regeln, die Extension meldet, wo Testcode von ihnen abweicht, und die Agent Skills geben sie einem Coding Agent in einer Form mit, nach der er handeln kann. Dahinter steht derselbe Gedanke wie hinter „Tests mit System“: Eine Regel, die ein Werkzeug prüft, hält besser als eine, an die jemand im Review denken muss.

Wer an „Tests mit System“, „Agentic PHPUnit“, „Testgetrieben entwickeln mit KI-Agenten“ oder „Zeit und Tokens sparen mit PHPUnit“ teilnimmt, bekommt das Buch, die Extension und die Agent Skills.

Wo du einsteigst, hängt von deinem Projekt ab

Die Lernpfade verbinden die Schulungen zu Wegen, etwa vom ersten Test bis zur Arbeit mit einem Agenten, der Tests schreibt, oder zu gemeinsamen Testvorgaben für ein Team. Alle Termine stehen im Terminkalender. Gebucht werden die Schulungen bei der thePHP.cc Academy, und die Seite jeder Schulung verlinkt die Anmeldung, sobald sie geöffnet ist.

Läuft in deinem Projekt noch kein einziger automatisierter Test, beginnt der Weg mit „Wo sind deine Tests?“, einer kostenlosen Stunde.

Wo sind deine Tests?

Orientierung · 1 Sitzung, 1 Stunde · kostenlos

Du testest noch nicht automatisiert? In einer Stunde erfährst du, warum das heute nicht mehr gut geht, und warum der Einstieg leichter ist, als du denkst.

  • Ohne PHPUnit-Vorkenntnisse
  • Für jede Programmiersprache

Nächster Termin:

Jede dieser Schulungen gibt es auch nur für dein Team, online oder bei euch vor Ort, auf Deutsch oder auf Englisch. Dann arbeiten wir an euren Fragen und, wo es passt, an eurem Code. Eine solche Schulung kannst du bei thePHP.cc anfragen.