Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
TDD & Legacy By Agile4Techos
2
Qui sommes nous? Bernard Huguet Luc Jeanniard Johan Martinsson
Cyrille Roy
3
YES, WE TDD Vous verrez Pourquoi le TDD sur du legacy code
Un binôme travaille sur du code réaliste écrit sans test Comment il s'appuie sur le TDD pour Corriger un bug (Mock) Implémenter une nouvelle fonctionnalité tout en dormant bien la nuit ;o) Vous repartirez avec le sentiment que c'est possible YES, WE TDD
4
NO, WE WON’T Vous ne verrez PAS Beaucoup de slides ;-p
Une Nème justification du TDD Encore le l'exemple de base (string calculator) Toutes les recettes NO, WE WON’T
5
Il faut comprendre le code C’est plus long
Il faut payer un ticket d’entrée : infrastructure Il faut convaincre les équipes et le Mgt Pas toujours applicable? Pas toujours possible? Pas les bon outils . . . Quelles sont les difficultés ques l’on rencontre à tester das du legacy code? 5 Min Time Box Noter les réponses sur un post-it géant Compréhension du code Peur / hésitation …
6
UNE VRAIE APPLICATION Traduction Questions Réponses Client lourd
Configuration Utilisateurs Resources Client Q/R Client mi-lourd ServiceQ/R Client U ServiceU - Qui n’a jamais eu de problème à programmer un wizard - Démo rapide en live Stockage Statistiques Client S
7
CORRECTION D’UN BUG
8
TDD TOUJOURS LE MEME CYCLE RED GREEN REFACTOR Write a test that fails
Make the code work Eliminate Redundancy
9
On retient Reproduction du bug avec un test RED, GREEN, REFACTOR
Pas besoin des dépendances externes pour tester Utilisation de doublures (mock, stub) pour s’en affranchir Peu de lancements de l’application Capitalisation C’est pas si difficile !
10
AJOUT DE VALEUR
11
TDD TOUJOURS LE MEME CYCLE RED GREEN REFACTOR Write a test that fails
Make the code work Eliminate Redundancy
12
On retient Approche itérative, aide à la réflexion
RED, GREEN, REFACTOR Refactoring couvert par les tests Utilisation de matcher Clarté des messages Pas de lancement de l’application ↘ Coût
13
Pourquoi du TDD sur du Legacy code?
Besoin de modifier une application existante Besoin de modifier sans casser le code existant Besoin de tester efficacement les modifications Exemple : Je veux corriger un bug J’exécute 30 fois le scénario de reproduction pour vérifier si ma correction est valide : long + fastidieux + fatiguant ! Bonnes raisons d'essayer le TDD Pourquoi du TDD sur du Legacy code Besoin de modifier une application existante Besoin de modifier sans casser le code existant Besoin de tester efficacement les modifications Exemple : Je veux corriger un bug J’exécute 30 fois le scénario de reproduction pour vérifier si ma correction est valide : long + fastidieux + fatiguant ! --> Bonnes raisons d'essayer le TDD sur du legacy code
14
Pourquoi cette session?
TDD sur nouveau code On sait que ça marche On sait faire On se casse tous les dents au début ... et même plus tard ! ;o) Des techniques existent : cf Référence Il faut se jeter à l'eau pour apprendre à nager Après les premiers obstacles ça va vite Pourquoi cette session? TDD sur nouveau code On sait que ça marche On sait faire TDD sur du code existant non testé = Legacy code On se casse tous les dents au début ... et même plus tard ! Des techniques existent Il faut se jeter à l'eau pour apprendre à nager Après les premiers obstacles ça va vite
15
LA REFERENCE
16
Questions By Agile4techos
17
ROTI (Return On Time Invested)
5 doigts : Excellente Super c'est exactement ce qu'il me fallait ! 4 doigts : Bonne Très intéressant, j’ai gagné plus que le temps que j’y ai passé. 3 doigts : Juste Moyenne Intéressant, sans plus. Je n’ai pas perdu mon temps. 2 doigts : Utile Bof ! J'ai perdu du temps. 1 doigt : Inutile Je n'ai rien appris. J’ai vraiment perdu mon temps
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.