Tests logiciels en PHP sous NetBeans (vulgarisation)
1. Tests logiciels en PHP sous NetBeans
Tests unitaires automatisés, tests de régression et TDD
Rapide introduction (vulgarisation) et démonstration
V1.0 du 27 octobre 2016
Nicolas Defaÿ
Lycée Bellepierre
Saint-Denis – La Réunion
2. Les tests logiciels
1.1 Ce que l’on peut entendre…
1.2 Contextualisation de l’intervention
1.3 Environnement de développement et de test
Points abordés
2.1 Tests unitaires automatisés
2.2 Tests de régression
2.3 Développement piloté par les tests (TDD)
Démonstration
Plan de l’intervention
1
2
3
2/10
3. 3/10
Ce que l’on peut entendre
« Oui les tests, c'est très important.
Il faut en faire ! »
« Les tests demandent trop de temps
et le temps c’est de l’argent… »
1 :: Tests logiciels
1.1 Ce que l’on peut entendre
4. 1 :: Tests logiciels
1.1 Ce que l’on peut entendre
4/10
« Je ne comprends pas pourquoi la plupart des
applications sont livrées bugguées :( »
« Avec tous les correctifs à apporter à notre nouvelle
appli on va prendre 3 jours de retard sur le nouveau projet :( »
Mais également…
5. 1 :: Tests logiciels
1.2 Contextualisation de l’intervention
5/10
Principaux types de test
« approche simpliste »
<-Régression->
6. 1 :: Tests logiciels
1.3 Environnement de développement et de test
6/10
NetBeans
EDI (Environnement de développement intégré) open source
Java, PHP, C/C++, Fortran, JavaScript, Python, Ruby…
PHPUnit
Framework open source de tests unitaires
Génération des classes de tests (Skeleton Generator)
Tutoriel sur SlideShare : goo.gl/rIJ98J
7. 2 :: Points abordés
2.1 Tests unitaires automatisés
7/10
Principe général
Tests unitaires
Une fonction, une méthode
Tests automatisés
Rejouable à volonté
8. 2 :: Points abordés
2.2 Tests de régression
8/10
Principe général
Tests de régression
S’assurer que les modifications du code
ne remettent pas en cause l’existant
Tests automatisés
9. 2 :: Points abordés
2.3 Développement piloté par les tests (TDD)
9/10
Principe général
TDD (Test Driven Development)
On code d’abord les tests
Tests unitaires
Tests automatisés