Any code worth writing                  is worth testing

Test-Driven Development

Acceptance Test-Driven Development

Sert à écrire le code de production

Sert à écrire des tickets parfaits

1. You are not allowed to write any production code
    unless it is to make a failing unit test pass.

http://www.butunclebob.com/ArticleS.UncleBob.TheThreeRulesOfTdd

The Three Rules of TDD

2. You are not allowed to write any more of a unit test than is sufficient to fail;
    and compilation failures are failures.

3. You are not allowed to write any more production code
    than is sufficient to pass the one failing unit test.

Exemple

Un mapper MapStruct

Exemple

Un mapper MapStruct

Exemple

Un mapper MapStruct

Exemple

Un mapper MapStruct

Ensemble avec le PO/PM
on transforme les business rules en tests exécutables

On élimine les ambiguités

On clarifie la Definition of Done

On découvre des edge-cases

Exemple

Cucumber

Exemple

Cucumber

Exemple

Cucumber

Exemple

Test slice de controller

Exemple

Test slice de controller

Les challenges du TDD et de l'ATDD

Nécessite de la discipline ou de l'habitude

Nécessite l'engagement de toute l'équipe

Adapter à son contexte projet

Des questions ?

Merci !

Merci !