Mathieu Desnouveaux

Augmentez votre couverture - supprimez des tests !

Présentation sur l'utilisation du Property Based Testing pour améliorer la couverture de tests au Forum PHP 2023

Sketchnote du Forum PHP 2023 illustrant la présentation sur le Property Based Testing par Baptiste Langlade. La schématisation visuelle présente l'évolution des tests fonctionnels (730 tests, 4115 lignes de code, complexité exponentielle), les concepts du Property Based Testing (génération de données, test local, blackbox), les problématiques (loi de Murphy, tests dynamiques) et les bénéfices (efficacité, arrêt automatique des tests).

Cette sketchnote a été réalisée lors du Forum PHP 2023. Elle illustre la présentation "Augmentez votre couverture : supprimez des tests !" donnée par Baptiste Langlade, qui aborde l'utilisation du Property Based Testing pour optimiser la stratégie de tests.

Contenu de la présentation

Baptiste Langlade revient sur l'utilisation du Property Based Testing pour augmenter la couverture des tests tout en en supprimant certains. Le Property Based Testing offre une solution linéaire pour couvrir un nombre exponentiel de cas en générant aléatoirement des données à chaque exécution.

Le problème exposé est la complexité croissante : les tests fonctionnels se multiplient (730 tests pour 4115 lignes de code) créant une complexité exponentielle difficile à maintenir. Le Property Based Testing propose une approche différente en générant automatiquement des données conformes au système, permettant de tester des cas d'erreur statistiquement pertinents.

Points clés à retenir

  • Complexité exponentielle : multiplication des tests fonctionnels traditionnels difficile à maintenir
  • Property Based Testing : génération automatique de données pour couvrir plus de cas avec moins de code
  • Efficacité des tests : solution linéaire pour des problèmes exponentiels avec arrêt intelligent
  • Loi de Murphy appliquée : identification automatique des cas d'erreur les plus probables
Thèmes:
🐘 PHP 🧪 Testing
Événement:
🎤 Forum PHP

Source: Baptiste LANGLADE
Carnet:
📚 Carnet 2022-2023

Cette sketchnote est disponible dans un carnet physique.