Démonstration complète de BDD, ATDD et TDD avec Java
17 octobre 2017
Marre des tutoriaux trop simplistes et non réalistes concernant BDD, ATDD et TDD ?
Envie d'un exemple digne d'une conception logicielle en entreprise de haute qualité, respectant en plus les principes de la Clean Architecture ?
Le sujet est le suivant :
Réserver un chauffeur VTC pour assurer une course d'un point A à un point B.
Les règles de gestion sont les suivantes :
- Pour un trajet Intra-Muros (On reste dans Paris), le prix est de 30 euros et les avoirs, si disponibles, ne sont PAS consommés.
- Pour un trajet Extérieur => Paris (On entre dans Paris), le trajet est gratuit et aucun avoir n'est consommé.
- Pour un trajet Paris => Extérieur (On quitte Paris), le prix est de 50 euros et les avoirs, si disponibles, sont pas consommés.
Ce 1er épisode met en valeur l'intégration d'un Gherkin (compressé en scenarios outlines de façon à être "court" pour l'exemple) grâce à Cucumber et la pratique ATDD associée (Acceptance Test-Driven Development).
Ce Gherkin a été émergé préalablement lors d'un atelier BDD mêlant tous les acteurs du Business.
Ce n'est qu'une passerelle du premier scénario (outline ici) en Gherkin vers une définition en code avec le mindset "Programming By Wishful Thinking".
Pas de TDD dans cet épisode et c'est normal ! On y vient; on y vient; c'est le flow de la pratique.
Ce 2ème épisode montre de manière détaillée l'aspect complémentaire de l'ATDD et du TDD.
On découvre alors les premiers tests TDD et donc l'élaboration d'un autre module de suite de tests, bien distincte de celle produite par la pratique ATDD !
Ce 3ème épisode, le meilleur pour beaucoup, sensibilise fortement à l'avantage gigantesque de TDD dans le domaine du Refactoring de code.
Le but de TDD, c'est de designer son code par à-coups de refactoring en toute sérenité !
On y voit l'émergence incrémentale du pattern Strategy, célèbre pattern du GOF !
À voir, vous serez surpris !