>_ phpunit.expert

Interaktive Online-Schulung

Besser testen

Du kennst Assertions, Test Doubles und Code Coverage. Aber reicht das? Lerne Testmethoden, die weit über beispielbasiertes Testen hinausgehen. Finde Fehler, die selbst bei 100 % Code Coverage unentdeckt bleiben. Direkt vom Schöpfer von PHPUnit.

Online via Zoom Live & interaktiv
5 Sitzungen je 2 Stunden
PHP & PHPUnit Methoden für jede Sprache
990 EUR in der Flatrate enthalten

Die Idee

Grün heißt nicht richtig

KI-Agenten generieren immer mehr Code, immer schneller. Du schreibst Unit Tests, um sicherzustellen, dass dieser Code funktioniert. Die meisten bleiben dabei beim beispielbasierten Testen stehen. Für eine bekannte Eingabe wird eine bekannte Ausgabe geprüft. Das funktioniert, solange an alle relevanten Fälle gedacht wird. Doch was ist mit den Fällen, an die niemand gedacht hat?

In dieser Schulung lernst du Methoden kennen, mit denen du sicherstellst, dass deine Tests wirklich das Richtige prüfen. Du sicherst bestehenden Code ab, bevor du ihn veränderst. Du findest automatisch Grenzfälle, an die du nie gedacht hättest. Und du verstehst, warum hohe Code Coverage allein kein Qualitätsgarant ist.

Diese Methoden sind universell. Sie funktionieren in jeder Programmiersprache und mit jedem Test Framework. Ich vermittle die Konzepte anhand von PHP-Beispielen mit den Werkzeugen des PHP-Ökosystems. Die Erkenntnisse nimmst du mit in jede Codebasis. Egal ob PHP, C#, Go, Java, Python, Rust oder TypeScript.

Das Programm

Fünf Sitzungen, fünf Methoden

Jede Sitzung widmet sich einer Methode, die über das beispielbasierte Testen hinausgeht. Zwei Stunden, live und interaktiv. Wir arbeiten an echtem Code, nicht an Folien.

Sitzung 01

Aussagekräftige Tests

2 Stunden
Beobachtbarkeit & Verhalten
  • Dein Test ist grün. Aber woher weißt du, dass er das Richtige prüft?
  • Was passiert, wenn dein Code korrekte Ergebnisse liefert, aber unerwünschte Seiteneffekte hat?
  • Wie prüfst du Verhalten, das sich nicht in einem Rückgabewert ausdrückt?
  • Was tust du, wenn du nicht einmal weißt, was die richtige Antwort wäre?
Sitzung 02

Sicher modernisieren

2 Stunden
Characterization Tests
  • Du sollst Code ändern, den niemand im Team versteht. Es gibt keine Tests und keine Dokumentation.
  • Wie kannst du sicher modernisieren, wenn du nicht weißt, was der Code eigentlich tut?
  • Wie dokumentierst du das tatsächliche Verhalten, bevor du etwas änderst?
  • Wie kommst du von einem Sicherheitsnetz zu einer echten Testsuite?
Sitzung 03

Woran niemand denkt

2 Stunden
Property-Based Testing
  • Du testest mit Beispielen, aber du kannst nicht alle Beispiele aufschreiben. Was übersehen deine Tests?
  • Wie findest du Grenzfälle, an die du nie gedacht hättest?
  • Wenn ein Test fehlschlägt, ist die Eingabe oft riesig und unverständlich. Wie kommst du zum eigentlichen Problem?
  • Für welche Arten von Code lohnt sich dieser Ansatz, und wo stößt er an seine Grenzen?
Sitzung 04

Der blinde Fleck

2 Stunden
Mutation Testing
  • Du hast hohe Code Coverage, aber Bugs schaffen es trotzdem in die Produktion. Warum?
  • Deine Tests sind grün, aber würden sie einen echten Fehler im Code überhaupt bemerken?
  • Wie misst du, ob deine Tests tatsächlich etwas taugen, jenseits von Coverage-Zahlen?
  • Was verraten dir kontrollierte Fehler im Code über die Qualität deiner Testsuite?
Sitzung 05

Womit niemand rechnet

2 Stunden
Fuzzing
  • Deine Tests beweisen, dass dein Code korrekt ist. Aber ist er auch robust?
  • Was passiert, wenn dein Code Eingaben erhält, mit denen niemand gerechnet hat?
  • Warum schützt selbst 100 % Code Coverage nicht vor allen Fehlern?
  • Wie findest du Sicherheitslücken, bevor es Angreifer tun?

Für wen

Erfahrene Entwicklerinnen und Entwickler

Diese Schulung richtet sich an alle, die bereits Erfahrung mit automatisierten Tests haben und ihre Testmethodik erweitern möchten. Die Konzepte sind unabhängig von der verwendeten Programmiersprache relevant. Die praktischen Beispiele setzen wir in PHP um, die Methoden überträgst du direkt auf andere Sprachen.

Du nimmst mit

  • Du erkennst, wann ein grüner Test trügt, und stellst sicher, dass er das Richtige prüft
  • Du sicherst unbekannten Code ab, bevor du ihn veränderst
  • Du findest Grenzfälle, an die du beim manuellen Schreiben von Tests nie gedacht hättest
  • Du weißt, was Code Coverage wirklich aussagt, und was nicht
  • Du prüfst die Robustheit deines Codes gegen unerwartete Eingaben systematisch
  • Du wählst für jede Situation die passende Testmethode und kannst deine Entscheidung begründen

Du bringst mit

  • Erfahrung in der Softwareentwicklung mit einer objektorientierten Programmiersprache
  • Grundlegende Erfahrung mit automatisierten Tests, du schreibst und führst Unit Tests aus
  • Grundkenntnisse in PHP sind für die praktischen Beispiele hilfreich, aber nicht zwingend erforderlich
  • Neugier auf Testmethoden jenseits deines Alltags

Dein Trainer

Sebastian Bergmann

Sebastian Bergmann

Sebastian ist der Schöpfer von PHPUnit, dem De-facto-Standard für das Testen von PHP-Code. Als Berater, Trainer und Mitgründer von thePHP.cc hilft er seit über zwei Jahrzehnten Teams dabei, wartbare und gut getestete Software zu bauen.

In dieser Schulung zeigt er dir Methoden, die er in dieser Tiefe sonst nirgends vermittelt. Du arbeitest live mit ihm an echtem Code und stellst deine Fragen direkt.

Anmeldung

990 EUR pro Person

Fünf interaktive Live-Sitzungen zu je zwei Stunden als Zoom-Meeting. Kleine Gruppe, echter Code, deine Fragen.

Diese Schulung ist in unserem Abo für alle Schulungen der thePHP.cc Academy enthalten.