Arrête de subir tes tests.
Fais-en des alliés.

Des tests qui accélèrent ton développement au lieu de le freiner.
En 2 jours, maîtrise PHPUnit et fais-en un appui fiable : pour stabiliser ton code, le refactorer sans crainte, et cadrer ce que tu génères avec l'IA.

Cette formation, c'est tout ce que j'aurais aimé qu'on m'apprenne quand j'ai commencé à tester, il y a 15 ans.

On en discute ?

Tes tests, soit ils te ralentissent, soit ils n'existent pas.

Dans les deux cas, tu n'es pas seul.

Si tu as des tests, tu connais peut-être ça :

  • Ils cassent à chaque refactoring, même quand tu ne touches pas au comportement
  • Ils prennent tellement de temps que tu évites de les lancer
  • Tu perds plus de temps à lire tes tests existants qu'à débugger ton application
  • Certains tests cassent au hasard, sans raison apparente
  • Les tests générés par l'IA passent au vert, mais laissent filer des régressions
  • Tu te demandes si tout ce temps à tester en vaut la peine

Et si tu ne testes pas, c'est peut-être parce que :

  • "On n'a pas le temps". La pression pour livrer est trop forte, les tests c'est du luxe
  • "Le projet est trop legacy". Tout est couplé, rien n'est testable
  • "On a déjà testé à la main". Pourquoi automatiser ce qui marche ?
  • "Je ne sais pas quoi et quand tester". Lorsque tu y penses, tout est déjà codé et fonctionnel
  • "Les tests ralentissent le développement". Alors qu'ils peuvent faire gagner du temps dès le départ

La plupart des développeurs vivent ça.

Mais le problème n'est pas "les tests".
C'est qu'on ne t'a jamais montré comment en écrire qui te font gagner du temps au lieu de t'en coûter.

Ça te parle ? Voir le programme ↓

On ne va pas juste apprendre PHPUnit

La doc officielle le fait très bien !

Ce qui manque, c'est le "pourquoi" et le "comment bien faire" : par où commencer, comment écrire des tests qui durent.

J'ai passé 15 ans à écrire des tests, et une bonne partie de ce temps à corriger ceux que j'avais mal écrits. Toutes les erreurs que j'ai faites n'étaient ni présentes dans les livres ni dans l'aide que je pouvais avoir. J'ai appris par la pratique...

Cette formation comble ce manque.

  • Tu vas comprendre POURQUOI tes tests sont fragiles.
  • Tu vas savoir nommer précisément ce que tu testes.
  • Tu vas apprendre comment en faire des outils qui te font gagner du temps.
  • Tu vas repartir avec une stratégie adaptée à ton contexte.

Ce que j'aime dans cette formation : voir des devs arriver en pensant que les tests sont un coût, et repartir en comprenant que c'est un gain dès la première ligne écrite.

Ce avec quoi tu repars

Une suite qui tourne en secondes

Fini d'attendre 10 minutes pour savoir si ton code marche

Plus de tests qui cassent pour rien

Faux positifs en moins, vrais problèmes détectés quand ils arrivent

Une doc vivante de ton code métier

Tes tests racontent ce que ton appli fait, mieux qu'un README

Refactorer sans serrer les fesses

Tu touches au legacy sans crainte de tout casser

Une stratégie qui colle à ton projet

Pas de recette dogmatique. Tu choisis quoi tester et comment.

Un garde-fou sur le code généré par IA

Je partage mes skills et workflows et t'évite de faire des erreurs.

Cette formation est pour toi si...

Tu testes déjà :

  • Tu écris des tests PHP mais tu ne sais pas vraiment pourquoi ils cassent tout le temps
  • Tu veux améliorer ta couverture sans ralentir ta vélocité
  • Tu travailles sur du code legacy et tu veux le refactorer en sécurité
  • Tu es tech lead et tu veux diffuser les bonnes pratiques dans ton équipe
  • Tu codes avec un agent IA et tu veux que tes tests le guident vers ce qui compte, pas qu'ils servent de décoration

Tu ne testes pas (encore) :

  • Tu bosses sur un projet sans tests et tu ne sais pas par où commencer
  • Tu as la pression de livrer vite, et les tests te semblent être un luxe
  • Tu es convaincu que ton legacy est "intestable" à cause du couplage
  • Tu testes manuellement et tu ne vois pas l'intérêt d'automatiser
  • Tu veux comprendre comment écrire des tests qui servent réellement

Pas besoin d'être expert.
Que tu écrives ton premier test ou ton millième,
tu repartiras avec des techniques que tu pourras appliquer dès ta prochaine PR.

Programme détaillé : 2 jours, du code à chaque page

Durée
2 jours (14 heures)
Format
50% théorie, 50% pratique
Prérequis
Bonne connaissance de PHP et de la POO
Public
Développeurs PHP, architectes logiciels

Jour 1 : Maîtriser PHPUnit et l'isolation des tests

MATIN — Pourquoi tester et bases de PHPUnit

  • • Les vraies raisons de tester
  • • Typologies et niveaux de tests : qu'appelle-t-on un « test unitaire » ?
  • • Bases de PHPUnit : installation, premiers tests, assertions
  • • Fixtures et data providers

APRÈS-MIDI — Isoler les tests et repérer les pièges du code

  • • Pourquoi isoler ses tests, et comment le faire
  • • Les doublures : Dummy, Stub, Fake, Spy, Mock
  • • Doublures manuelles, PHPUnit ou Prophecy : quand utiliser quoi
  • • Repérer les erreurs de design et d'architecture qui rendent le code intestable

Jour 2 : Stratégies de test et code testable

MATIN — Stratégie de test et anti-patterns

  • • Quand et comment lancer ses tests : CLI, CI/CD, hooks, agents IA
  • • ROI : quel test mérite d'être écrit
  • • TDD et BDD : approches et différences
  • • Mauvaises pratiques courantes à reconnaître et éviter
  • • Les tests qui freinent au lieu d'aider

APRÈS-MIDI — Bonnes pratiques et code testable

  • • Bonnes pratiques d'écriture : tout ce qui fait qu'un test sert et tient dans le temps
  • • SOLID et découplage : un code bien conçu se teste mieux
  • • Cadrer l'IA et la rendre autonome sur tes tests : skills et workflows
  • • Apprendre à tester et migrer progressivement un legacy
  • • Coverage et mutation testing : mesurer la qualité de tes tests

Ce programme te parle ?

Discutons-en →

Un échange court, sans relance commerciale.

Ce qu'ils en disent

Benjamin Renard
Mai 2026

"J'ai apprécié voir des cas de tests sur des projets concrets."

Bouchnak Samy
Mai 2026

"Le formateur est à l'écoute et sait s'adapter à mes besoins."

Enzo B.
Mai 2026

"Contenu et explications claires, avec un formateur à l'écoute !"

Igor G.
Décembre 2025

"Bonne pédagogie de Fabien. Beaucoup d’informations importantes distillées au cours de la formation pour agrémenter le support de cours et qui permettent de réfléchir sur l’importance des tests pour clarifier le code et permettre d’améliorer la compréhension du code pour des personnes arrivant sur un projet."

Jessica A
Février 2017

"Fabien SALLES connait très bien son sujet et est très à l'écoute."

Paul Jean P.
Février 2017

"Flexible sur le contenu"

Et le TDD dans tout ça ?

Pourquoi cette formation ne s'appelle pas "TDD avec PHPUnit" ? Parce qu'avant de faire du TDD, il faut savoir tester correctement : écrire des tests fiables, isolés, maintenables. Le focus est d'abord là, sur les bonnes et les mauvaises pratiques de test.

Cette formation te donne ces fondations.

Cela dit, on fait bien du TDD. Plusieurs exercices te font pratiquer l'approche, et j'explore les différentes écoles et styles (Inside-Out, Outside-In, Diamond, Canon TDD, TCR) pour rester pragmatique plutôt que dogmatique.

À la fin des 2 jours, tu comprendras pourquoi le TDD compte, pourquoi il faut en faire, et comment appliquer ses principes pour développer de manière itérative et maximiser la boucle de feedback, y compris quand le code et les tests sont générés par l'IA.

Et l'IA dans tout ça ?

L'IA accélère tes livraisons. Mais sans tests fiables et pérennes, elle accélère aussi les pièges : régressions silencieuses qui passent au vert, tests fragiles qui sautent au premier vent, tests qui valident à côté de la plaque.

Un test fiable, c'est un signal sur lequel ton agent peut s'appuyer pour itérer. Un test fragile lui ment au même titre qu'à toi, et tu te retrouves à corriger des bugs qu'il croyait avoir réglés.

La formation n'utilise pas l'IA pendant les exercices, mais on en parle. Je couvre les techniques que j'utilise pour fiabiliser, vérifier et contraindre l'IA dans la bonne direction. Si tu veux pousser le focus IA plus loin, je peux adapter le contenu.

Cette formation ne te donne pas des "bases". Elle te transmet mes 15 années d'écriture de tests, pour ne pas reproduire les mêmes erreurs. Avec ou sans IA.

Mes skills IA, en bonus de fin de formation

Je ne m'en sers pas pendant la formation. Je te les présente à la fin, en bonus, une fois que tu as bien intégré les bonnes pratiques de test.

L'idée : te permettre de reproduire avec un agent IA tout ce qu'on a vu en deux jours, sans perdre la rigueur. Ces skills, que j'approfondis depuis un an, condensent tout ce que j'ai appris sur le sujet. Ils s'appliquent à n'importe quel agent (Claude Code, Copilot, Codex, Cursor, etc.) et tu pourras les adapter à ta stack.

Utiliser les skills des autres, c'est bien. Comprendre comment ils marchent et les adapter à ton projet, c'est mieux.

Qui donne cette formation ?

Je m'appelle Fabien. Je teste depuis le début de ma carrière, et j'ai fait à peu près toutes les erreurs possibles.

Cette formation, je la donne depuis 2017. Ce qui me tient, c'est le moment où quelqu'un comprend pourquoi ses tests cassaient, pas juste comment les corriger.

Former, c'est aussi apprendre. Chaque session me pousse à clarifier ce que je croyais acquis.

Mon objectif : que tu repartes avec des techniques immédiatement applicables sur ton projet du lundi.

Comment se déroule la formation ?

Intra-entreprise

Je me déplace dans tes locaux. Toute l'équipe entend la même chose et repart avec le même vocabulaire.

À distance

Mêmes exercices, en visio. Pour les équipes éclatées géographiquement.

Sur mesure

Ta stack, ton legacy, tes vrais cas. On peut bosser sur ton code si tu veux.

N'hésite pas à me contacter pour un devis personnalisé.

Questions fréquentes

Quels sont les prérequis pour cette formation ?
Une bonne connaissance de PHP et de la programmation orientée objet. Pas besoin d'avoir déjà écrit des tests, on part des fondamentaux.
Quelle est la différence avec un cours PHPUnit en ligne ?
Les cours en ligne t'apprennent la syntaxe. Cette formation t'apprend quand, quoi et pourquoi tester. 50% du temps est consacré à la pratique sur des cas réels, avec un feedback immédiat et personnalisé.
Est-ce que la formation couvre le code legacy ?
Oui. On aborde des techniques spécifiques pour sécuriser du code existant sans tests. C'est souvent le cas le plus demandé en entreprise.
Est-ce qu'on aborde le TDD et le TCR ?
Oui. Le Jour 2 explore plusieurs écoles autour du TDD (Inside-Out, Outside-In, Diamond, Canon TDD, TCR) pour t'aider à choisir ce qui colle à ton contexte plutôt qu'à appliquer une recette par cœur. Le TCR y est abordé comme un cas particulier qui pousse à itérer en très petits pas et à protéger le code à chaque étape.
Et avec l'IA, qu'est-ce qu'on aborde ?
Ce n'est pas une formation d'IA. Mais on apprend à faire en sorte que l'IA écrive correctement tes tests, et à la rendre plus autonome sur le sujet. Avant de pouvoir bien la piloter, il faut l'expertise suffisante pour lui transmettre les connaissances requises sur tes tests, et repérer ce qu'elle fait mal afin de la corriger.
La formation peut-elle être adaptée à notre contexte ?
Oui. Je peux adapter les exercices à votre stack, vos problématiques et votre codebase si vous le souhaitez.

Envie d'en discuter ?

Pas de formulaire automatique. On échange d'abord pour voir si la formation correspond à tes besoins.