Objectifs
À l’issue de la formation, le participant sera en mesure de :
- Comprendre l’intérêt des tests unitaires dans une démarche qualité
- Savoir installer, configurer et utiliser PHPUnit
- Découvrir différentes approches d’écriture de tests
- Analyser son code et produire des métriques
Prérequis
- Bonnes connaissances de la programmation orientée objet (POO) et de PHP.
Programme
Les principes des tests unitaires
- Qu’est-ce qu’un test ?
- Pourquoi tester une application ?
- Définition des tests unitaires.
- Quels sont les autres types de tests ? Comment les classer et les différencier ?
- Notions fondamentales à connaître.
- “Composer”, le gestionnaire de dépendances de PHP.
- PSR : aperçu de certains standards PHP.
- Initialiser un projet PHP en respectant ces standards grâce à “Composer” ainsi que d’autres outils.
Bien démarrer avec le Framwork PHPunit
- Présentation et historique du framework.
- Ecrire des tests PHPUnit avec les assertions, annotations, data providers, fixtures…
- La ligne de commande PHPUnit et de la configuration XML.
Travaux pratiques
Prise en main du framework et mise en place des premiers tests unitaires.
Quand et comment tester une application
- Les méthodes d’exécution des tests (ligne de commande, IDE, intégration continue…).
- Diriger le développement par les tests (test-driven development /behavior-driven development).
- La maintenance d’applications (refactoring et correction de bugs) par les tests.
- Définition et mise en pratique de notions supplémentaires (SUT, Fakes, Mocks, Stubs…).
Exercice
Réalisation de tests unitaires suivant différentes variantes sur des exercices reflétant des cas d’utilisation réels.
Panorama de la couverture de code
- Les concepts de base de couverture de code.
- Comment produire des métriques ?
- Analyser et utiliser les métriques pour fiabiliser l’application.
Travaux pratiques
Installation d’un outil de couverture de code, génération et exploitation de métriques.
Les tests au centre de la qualité
- La relation étroite entre les tests et les principes de développement (SOLID, DRY, KISS..).
- Les bonnes et mauvaises pratiques dans la réalisation de tests unitaires.
- Allez plus loin avec PHPUnit
- Les autres fonctionnalités de PHPUnit.
- Les autres outils de tests unitaires.
- Ecrire et exécuter des tests fonctionnels.