Objectif du lightning talk :
- présentation du modèle de la pyramide des tests, son origine, ses raisons.
- mini-REX sur 4 mois de mesure et de stratégies de rééquilibrage de la pyramide des tests d'un projet legacy.
Présenté lors du meetup Paris Software Craftsmanship de mai 2016.
2. 2OCTO TECHNOLOGY > THERE IS A BETTER WAY
LE MODELE DE LA PYRAMIDE DES TESTS
@damienbeaufils
3. 3OCTO TECHNOLOGY > THERE IS A BETTER WAY
ILLUSTRATION DE LA COUVERTURE PAR TESTS UNITAIRES
@damienbeaufils
4. 4OCTO TECHNOLOGY > THERE IS A BETTER WAY
IMPACT D’UN DEFAUT SUR LA COUVERTURE PAR TESTS UNITAIRES
@damienbeaufils
5. 5OCTO TECHNOLOGY > THERE IS A BETTER WAY
ILLUSTRATION DE LA COUVERTURE PAR TESTS D’INTEGRATION
@damienbeaufils
6. 6OCTO TECHNOLOGY > THERE IS A BETTER WAY
IMPACT D’UN DEFAUT SUR LA COUVERTURE PAR TESTS D’INTEGRATION
@damienbeaufils
7. 7OCTO TECHNOLOGY > THERE IS A BETTER WAY
EXEMPLE D’ANTI-PATTERN : PYRAMIDE INVERSEE
@damienbeaufils
VS.
8. 8OCTO TECHNOLOGY > THERE IS A BETTER WAY
MINI-REX : ARRIVEE DANS UNE NOUVELLE EQUIPE
“Il faudrait remplacer les Tests
IHMs par des TU, mais bon.”
“Tester unitairement c’est
compliqué sur ce projet”
“Le build est rouge
mais c’est normal.
Relance le et ça
devrait passer”
“3 fois de suite que le
build est rouge ? Il y a
peut-être un vrai problème
alors”
“On n’avait pas le temps donc
on a fait un test Selenium”
“Tester du HTML et du
JavaScript c’est compliqué,
donc on passe par Selenium”
“Il faudrait corriger ce
test IHM. En attendant
on le désactive”
“Tu arrives à lancer
les tests en local toi ?”
“Hier j’ai passé mon après-
midi à essayer de corriger
le build rouge”
“On reçoit tellement de mails
de Jenkins qu’ils vont direct
dans ma corbeille”
@damienbeaufils
9. 9OCTO TECHNOLOGY > THERE IS A BETTER WAY
ATELIER : DOULEURS ET FIERTES AUTOUR DES TESTS
10. 10OCTO TECHNOLOGY > THERE IS A BETTER WAY
ATELIER : DEFINITION D’UN VOCABULAIRE COMMUN
11. 11OCTO TECHNOLOGY > THERE IS A BETTER WAY
STRATEGIE EN MODE MARATHON PLUTOT QUE SPRINT
☉ Actions décidées collectivement, et communiquées en toute
transparence avec notre Product Owner.
☉ Au prochain test IHM qui plante
aléatoirement, ne pas chercher à
comprendre comment corriger son
caractère aléatoire, mais binômer pour
tuer le(s) test(s) en question et que ça
soit fait en TU/TI.
☉ Si on souhaite ajouter un nouveau test
IHM ou lors d’une revue de code d’un
test IHM, se poser la question : "est-ce
que je peux tester autrement ?".
☉ Renommer les TU en
*UTest.java et les TI en
*IntTest.java.
☉ Dans les TI, différencier les
tests qui sont vraiment de
l'intégration de ceux qui sont
unitaires, pour déplacer les
TU dans la classe *UTest.
@damienbeaufils
12. 12OCTO TECHNOLOGY > THERE IS A BETTER WAY
MESURE DE LA PYRAMIDE CHAQUE ITERATION
@damienbeaufils
13. 13OCTO TECHNOLOGY > THERE IS A BETTER WAY
MESURE DE LA VELOCITE ET DU NOMBRE DE BUGS RESTANTS
@damienbeaufils
14. 14OCTO TECHNOLOGY > THERE IS A BETTER WAY
POUR ALLER PLUS LOIN
☉ Un livre collectif sur la culture et les
pratiques Software Craftsmanship
☉ Disponible gratuitement en
téléchargement : http://www.octo.
com/fr/publications/20-culture-code
@damienbeaufils