Slide 1

Slide 1 text

TESTING SUR CODE LEGACY Jean-Laurent de Morlhon

Slide 2

Slide 2 text

LEGACY CODE ? Un système en production Manque de maintenance Manque de tests Customization Locking Pas de source

Slide 3

Slide 3 text

PYRAMIDE DES TESTS Tests unitaires Tests d'intégrations e2e 1-5% 5-15% 80-90% + - Temps Complexité Fragilité

Slide 4

Slide 4 text

PYRAMIDE DES TESTS 0-5% 5-15% 80-90% + - Temps Complexité Fragilité e2e Tests d'intégrations Tests unitaires

Slide 5

Slide 5 text

INVERSER LA PYRAMIDE e2e Tests d'intégrations Tests unitaires Tests unitaires Tests d'intégrations e2e Système legacy Système sous contrôle

Slide 6

Slide 6 text

INVERSER LA PYRAMIDE 4 règles du design simple Attitude Boy Scout Rule Appropriation collective du code Politique de tests Design émergent

Slide 7

Slide 7 text

4 RÈGLES DU DESIGN SIMPLE 1.Tous les tests passent 2.Révèle ton intention 3.Evite la duplication 4.Petites classes & petites méthodes

Slide 8

Slide 8 text

TOUT EST LIÉ

Slide 9

Slide 9 text

GILDED ROSE https://github.com/xebia-france/gildedrose-kata Exercice de refactoring sur legacy Par binôme Tentez une technique Vous êtes la pour expérimenter, apprendre
 Pas pour "gagner" l'exercice. Niveau: moyen 1h30

Slide 10

Slide 10 text

CODE BASE c# https://github.com/NotMyself/GildedRose Objective-C https://github.com/isilien/GildedRose-Objc JavaScript, Ruby and more https://github.com/emilybache/GildedRose-Refactoring-Kata