View
232
Download
0
Category
Preview:
Citation preview
FÉLIX-ANTOINE BOURBONNAISB. ING., M.SC., PSM
Agile Tour Montréal 2017
Je fais des tests unitaires... puis après?
Félix-Antoine BourbonnaisB.ing., PSM, M.Sc.
/ Formateur / Conférencier/ Mentor/ Coach d’équipes
$> Essais automatisés et TDD$> Architecture évolutive et DDD$> BDD et spécification par l’exemples$> Scrum$> Conseils stratégiques$> Gestion du changement
Alice$>
Fait des tests unitaires
Alice$>
Son objectif principal est d’avoir une bonne couverture et de s’assurer que son code fonctionne
Tableau 0: Le pays des testsIm
age de C
arl Warn
er --carlw
arner.co
m--
Foo
dscap
esU
tilisée avec la perm
ission
de l’au
teur / W
ithth
e perm
ission
of th
e auth
or
Force:
Outils collectés
Alice$ >&2
Trouve difficile de maintenir tous ses tests et de tout tester
Alice$ >&2
Se demande pourquoi il reste encore des « anomalies »…
Alice$ >&2
Voudrait avoir un meilleur retour sur investissementpour ses tests…
Quête 1 : Le pays du test propre
Force:
Outils collectésIm
age de C
arl Warn
er --carlw
arner.co
m--
Foo
dscap
esU
tilisée avec la perm
ission
de l’au
teur / W
ithth
e perm
ission
of th
e auth
or
Alice$ <
Doit commencer à voir son test autrement!
Le_Test? !
\ court, clair, précis\ Doit lui apprendre quelque chose
Tableau 1
Le pays du test propre
Force:
Outils collectésIm
age de C
arl Warn
er --carlw
arner.co
m--
Foo
dscap
esU
tilisée avec la perm
ission
de l’au
teur / W
ithth
e perm
ission
of th
e auth
or
•Nommage clairToujours spécifier le comportement attendu et le contexte
•Séparation des « 3A » (Arrange/Act/Assert)
•Test court et clair
•Réduire le bruitUtilisation de méthodes privées
Utilisation de Mother Objects et/ou Builders
•Enlever les tests répétitifs
Astuces
Alice$ >
Ne voit plus ses tests de la même manière
Alice$ >
Voit le test comme un outil pour
guider son développement
Tableau 1 : Le pays du test propre
Force:
Outils collectés
🏅
Image d
e Carl W
arner --
carlwarn
er.com
--Fo
od
scapes
Utilisée avec la p
ermissio
n d
e l’auteu
r / With
the p
ermissio
n o
f the au
tho
r
Alice$ >
A des milliers de tests
Alice$ >
Alice a toujours des problèmes de maintenabilité à long terme
Quête 2
Le pays de la maintenabilité
Force:
Outils collectésIm
age de C
arl Warn
er --carlw
arner.co
m--
Foo
dscap
esU
tilisée avec la perm
ission
de l’au
teur / W
ithth
e perm
ission
of th
e auth
or
Alice$ <
Doit apprendre ce qu’est un test unitaire
Alice$ <
Doit apprendre à jouer avec la portée des tests et à les boulonner
Alice$ <
Doit savoir qu’il n’existe pas seulement des tests unitaires et des tests bout-en-bout
Tableau 2
Le pays de la maintenabilité
Force:
Outils collectésIm
age de C
arl Warn
er --carlw
arner.co
m--
Foo
dscap
esU
tilisée avec la perm
ission
de l’au
teur / W
ithth
e perm
ission
of th
e auth
or
Image par Gamma-Ray Productions sur Flickr
La pyramide des tests
% du portfolio de tests auto.
(tous les types)
Large (L)
Moyen (M)
Petit (S)
~10%
~20%
~70%
Bout-en-boutToutes composantes
Une ou quelques classes
Une composante intégrée
Fragilité des tests
Alice$ >
Sait maintenant comment fragmenter ses différentstests
Alice$ >
Sait comment jouer avec la portée et les types de tests
Tableau 2
Le pays de la maintenabilité
Force:
Outils collectés
🏅
Image d
e Carl W
arner --
carlwarn
er.com
--Fo
od
scapes
Utilisée avec la p
ermissio
n d
e l’auteu
r / With
the p
ermissio
n o
f the au
tho
r
… sauf que l’équipe d’Alicetravaille dans du “Legacy Code”
{… non pour vrai!}
Quête 3
Le pays du Legacy Code
Force:
Outils collectésIm
age de C
arl Warn
er --carlw
arner.co
m--
Foo
dscap
esU
tilisée avec la perm
ission
de l’au
teur / W
ithth
e perm
ission
of th
e auth
or
Tests de caractérisation
Pour en savoir plushttp://conferences.elapsetech.com/
legacy-tests-caracterisation
Alice$ >
Sait maintenant comment se servir de ses tests pour explorer, comprendre, puis réusiner en sécurité son patrimoine!
Tableau 3
Le pays du Legacy Code
Force:
Outils collectés
🏅
Image d
e Carl W
arner --
carlwarn
er.com
--Fo
od
scapes
Utilisée avec la p
ermissio
n d
e l’auteu
r / With
the p
ermissio
n o
f the au
tho
r
… Alice commence à comprendre qu’elle peut se servirde ses tests comme d’un outil !
… pourrait-elle se servir de ses tests pour explorer et valider son architecture ?!?
Quête 4
Le pays du design émergeant
Force:
Outils collectésIm
age de C
arl Warn
er --carlw
arner.co
m--
Foo
dscap
esU
tilisée avec la perm
ission
de l’au
teur / W
ithth
e perm
ission
of th
e auth
or
Pour en savoir plusconferences.elapsetech.com/tdd-mocks-architecture/
Il existe différentes écoles de TDD et de test… Les connaître
donne plus d’options!
Des approches différentes selon le contexte !
Application avec un domaine riche et beaucoup de logique
d’affaires, CRUD ou
principalement graphique ?
Alice$ >
Alice a maintenant la capacité de piloter son architecture avec ses tests !
Tableau 4
Le pays du design émergeant
Force:
Outils collectés
🏅
Image d
e Carl W
arner --
carlwarn
er.com
--Fo
od
scapes
Utilisée avec la p
ermissio
n d
e l’auteu
r / With
the p
ermissio
n o
f the au
tho
r
Alice maîtrise maintenant la manière d’utiliser ses tests pour construire correctement son code !
... Mais est-ce le bon produit ?!?
Quête 5
Le pays de l’ATDD
Force:
Outils collectésIm
age de C
arl Warn
er --carlw
arner.co
m--
Foo
dscap
esU
tilisée avec la perm
ission
de l’au
teur / W
ithth
e perm
ission
of th
e auth
or
ATDD
1
Écrire un scénario qui échoue
2
Scénario passe
3
Pour en savoir plushttp://conferences.elapsetech.com/
atdd-double-boucle
ATDD à double boucle
* Uniquement certains scénarios (voir Pyramide des tests). Pourrait être @MEDIUM ou autre portée…
Logique (domaine)
UI
Infra / Données
2c
2a
2b
1c
1a
1b
BDD & Spécification par l’exemple (SbE)
Pour en savoir plushttp://conferences.elapsetech.com/
bdd-spec-affaires
Alice peut maintenant utiliser ses tests pour pilotertoutes les couches de son produit à partir d’une compréhension commune des besoins d’affaires!
Tableau 5
Le pays de l’ATDDOutils collectés
🏅
Image d
e Carl W
arner --
carlwarn
er.com
--Fo
od
scapes
Utilisée avec la p
ermissio
n d
e l’auteu
r / With
the p
ermissio
n o
f the au
tho
r
Comme Alice peut maintenant développerincrémentalement et “pousser” de tous petitsmorceaux fonctionnels et testés…
… elle peut considérer déployer en continue !
Le pays des étoiles Outils collectésIm
age de C
arl Warn
er --carlw
arner.co
m--
Foo
dscap
esU
tilisée avec la perm
ission
de l’au
teur / W
ithth
e perm
ission
of th
e auth
or
Recommended