Slide 1

Slide 1 text

TDD de la vraie vie AlpesCraft 2022

Slide 2

Slide 2 text

Qui sommes-nous ? Johan MARTINSSON Coach tech Dev Xavier NOPRE Artisan Développeur CTO @ vrtice

Slide 3

Slide 3 text

Constat / Notre but ● Intérêt des tests unitaires ? ⇒ OK pour beaucoup de monde ! ● Qui pratique le TDD régulièrement ? ⇒ … 😕 ● Quel est le problème ? ⇒ Passage à l’acte au quotidien ⇒ Montrer notre approche du TDD pour la vraie vie !

Slide 4

Slide 4 text

TDD vs Test After End of story Changing the code again No value until code is changed

Slide 5

Slide 5 text

TDD : comment ? Remaniements, mise au propre, nommages, factorisations, … 1 test qui ne passe pas pour de bonnes raisons Code “minimum” pour faire passer ce test

Slide 6

Slide 6 text

De la valeur au plus tôt ! ● TDD sur du code algorithmique ⇒ OK mais éloigné de notre quotidien ● "Ecrire une spécification exécutable" n'est pas spécifique au "bas niveau" ○ Cela se fait aussi bien à tout niveau comme par exemple sur des “test d’intégration”

Slide 7

Slide 7 text

De la valeur au plus tôt ! ● TDD sur algo ⇒ OK mais éloigné de notre quotidien ● "Écrire une spécification exécutable" ⇏ "bas niveau" ○ TDD 💕 tous les tests

Slide 8

Slide 8 text

Démo Vous verrez ● Du TDD en action ● Une approche de TDD basée sur l’usage ○ “Test d’intégration” Vous ne verrez pas ● De la logique métier complexe ● Du DDD ● De l'archi hexagonale ● Du code très propre

Slide 9

Slide 9 text

Vous verrez ● TDD en action ● Du TDD sans TU Vous ne verrez pas

Slide 10

Slide 10 text

Démo : contexte ● Application de vote pour votre langage préféré ! ● Prototype front en approche “front first”

Slide 11

Slide 11 text

Démo !

Slide 12

Slide 12 text

Le risque de devoir changer les tests 😱

Slide 13

Slide 13 text

Problème Modifier une interface sous test ⇒ ● Pas de protection ● Modification du test Comment reconnait-on une interface stable 🤔 ? 1. Proche du besoin utilisateur/client 2. Vielle 3. Le ratio surface / volume faible. 💡 Testons des interfaces stables

Slide 14

Slide 14 text

A retenir ● + Le TDD ça vaut le coup, et c’est faisable dans la vraie vie ● Respectez le cycle du TDD et les règles de base (pour apprendre) ● + Le TDD n'a rien à voir avec le type du test ● Ecrivez les tests qui vous aide à avancer et vous apporte vite de la valeur ● + Au début, le TDD est plus intéressant avec les tests proches de l’usage ○ Plus tard dans une story ou dans un projet les tests bas niveau sont incontournables ● Le besoin côté utilisateur est connu au début et stable dans le temps ● Le feedback immédiat a de la valeur

Slide 15

Slide 15 text

A retenir ● Le TDD ça vaut le coup, et c’est faisable dans la vraie vie ● Le TDD n'a rien à voir avec le type du test ○ On ne doit pas forcément faire du TDD sur des tests unitaires bas niveau ● Pour du TDD sur du code nouveau, des tests proches de l’usage peuvent être plus intéressants ○ Plus tard dans une story ou dans un projet les tests bas niveau sont incontournables

Slide 16

Slide 16 text

Merci ! Des questions ?