La parole est aux speakers : Vincent Amstoutz

Publié le

Jusqu’à l’AFUP Day 2025, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils ou elles aborderont lors de leur conférence !

La conférence

Débusquez les failles cachées : maîtrisez vos tests PHP avec PHPInfection & Pest

Plongeons ensemble dans l'univers des tests de mutations et découvrons comment ils exposent les failles invisibles de notre code.

Grâce à l'outil de mutation testing PHPInfection et au framework de test moderne Pest, nous verrons comment nous pouvons renforcer nos tests unitaires pour qu’ils résistent aux erreurs les plus subtiles.

Ensemble, nous relèverons le défi de détecter les bugs cachés et d'améliorer la robustesse de nos projets PHP !

C.P.E. Lyon
16/05/2025
10:10-10:50

En tant que développeur ayant utilisé PHPInfection et Pest, quel est ton « aha moment » en mutation testing, celui où tu as vraiment vu l’intérêt de renforcer tes tests grâce à cette approche ?

En passant sur plusieurs projets clients et open-sources, j’ai remarqué qu’un des indicateurs utilisés pour les tests est le pourcentage de code couvert par les tests.

Très vite, cela m’a étonné, ce qui m’a poussé à creuser le sujet en cherchant d’autres indicateurs. J’ai trouvé dans mes recherches des critiques faites au code coverage ainsi que des pistes d’amélioration. C’est ainsi que j’ai découvert les tests de mutations puis au cours d’échanges avec des personnes qui maîtrisent la pratique depuis plusieurs années. Le “aahhh” est arrivé à ce moment-là ! Avec le temps, j’ai accroché à cette méthode de tests qui complète ce qui est reproché au code coverage. L’étape d’après a été d’implémenter les tests de mutations via la librairie Infection PHP.

Pour ce qui est de Pest, j’ai entendu parler des tests de performances et des tests de mutations intégrés en natifs dans la librairie. Cela m’a fait une bonne occasion de me motiver à tester cette dépendance pour me faire mon propre avis.

Alors qu’il n’y a pas si longtemps, on parlait seulement de tests unitaires, aujourd’hui il existe de plus en plus de types de tests et de méthodes de testing. Est-ce que tu ne trouves pas que le trop peut être l’ennemi du bien sur un projet de moindre envergure ou avec une équipe réduite ?

Je pense qu’avant tout, il s’agit d’équilibre. Qu’on soit une équipe réduite ou non, il faut adapter les outils au projet sans pour autant ne pas intégrer ceux qui apportent le plus de valeur à celui-ci.

Pour certains projets, les tests unitaires, complétés par quelques tests d’intégration et des tests de bout en bout, vont suffire et ne requièrent pas forcément l’utilisation d’autres types de test. Par exemple, lorsqu’on réalise une application web hors-ligne, il est certain que des tests de résistance, aussi appelés stress tests, seront une perte de temps pour notre projet.

En revanche, si on souhaite créer une application complexe nécessitant de supporter un trafic important avec de nombreux micro-services, les autres types de tests sont à considérer.

S’agissant des méthodes de tests, il y en a beaucoup, je n’ai pas assez de recul pour me positionner dessus, pour dire s’il n’y en a trop ou pas. Mais de ce que je perçois, c’est qu’il y a encore beaucoup d’incompréhensions, de quiproquos et de légendes urbaines sur les tests notamment quand on mentionne TDD, Test-first…

Je recommande aux gens de se faire leur propre avis sur les tests en s’appuyant sur les ressources d’experts du sujet. Autre conseil, focalisez-vous sur une notion à la fois et vous pourriez être surpris de leur simplicité et de ce qu’ils apportent.

Tu participes aux meetups depuis un moment et tu contribues au site web de l’AFUP. Comment vis-tu cette première participation à l’AFUP Day en tant que speaker ?

Cette participation en tant que speaker est un nouveau challenge pour moi, au même titre qu’après mes études quand je me suis lancé petit à petit dans les contributions open sources, notamment pour le site web de l’AFUP.

Désormais, c’est une chance pour moi de pouvoir monter sur la scène de CPE Lyon le 16 mai prochain et de partager avec la communauté PHP lyonnaise mes expériences.

Ce qui est d’autant plus intéressant, c’est que chacun et chacune d’entre nous a l’opportunité de contribuer à ce partage de connaissances via des échanges.

J’en profite pour remercier l’AFUP, plus particulièrement l’antenne de Lyon, pour leur confiance et pour l’organisation de ces beaux événements.

Une conférence présentée par

Vincent AMSTOUTZ
Vincent AMSTOUTZ
Vincent est développeur senior chez Les-Tilleuls.coop et contributeur actif de projets open-sources. Il a récemment collaboré sur des projets tels qu'API Platform, la documentation de Symfony, le site de l'AFUP et Sulu. Guidé par une quête d’amélioration technique, il porte une attention particulière au clean code et à l’architecture logicielle, enrichissant ses pratiques entre autres par une lecture régulière d’ouvrages spécialisés.

Autres intervenants