Your SlideShare is downloading. ×
Iut agile lyon   20 nov. 2013 - bdd
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Iut agile lyon 20 nov. 2013 - bdd

430

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
430
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Behaviour-Driven Development IUT Agile Lyon - 20 nov. 2013 @agnes_crepet @AlfredAlmendra
  • 2. Agnès CREPET @agnes_Crepet agnes@ninja-squad.com Java/JEE Architecte & Java Champion Laboratoires Boiron Ninja Squad Java User Groups Leader: Duchess France LyonJUG Co-fondatrice de la conférence
  • 3. Alfred Almendra @AlfredAlmendra alfred.almendra@gmail.com Freelance Scrum Master Coach agile Développeur Java CARA Lyon
  • 4. Acronymes
  • 5. Spécification par l’exemple Spécification exécutable
  • 6. BDD : origine(s) TDD Test Driven Development
  • 7. BDD : origine(s) USDD User Story Driven Development
  • 8. BDD vs TDD BDD parle un langage du métier, écrit en texte TDD parle un langage technique, écrit en code Complémentaires et non en conflit !
  • 9. BDD vs ATDD ATDD est un paradigme générique d’ automatisation des tests d’acceptation BDD permet d’automatiser les tests, en mettant l’accent sur la communication
  • 10. BDD : origine(s) DDD Domain Driven Design
  • 11. BDD : origine(s) Automatiser les tests d’acceptation Tester c’est décrire le comportement Un langage universel c’est la clef Toute exigence deviendra un comportement Dan North
  • 12. BDD : pourquoi ? quels bénéfices ? Couverture des tests fonctionnels Non régression Acceptation du produit Etude d’impact Validation du but de l’itération Démo réussie Critère DONE Visibilité sur l’avancement
  • 13. BDD : quoi ? Point de vue des utilisateurs finaux O: EM MAN D S AFT N CR PLA
  • 14. BDD : quoi ? Boîte noire Aux frontières du système On ne décrit pas le comment
  • 15. BDD : quoi ? Décrire le comportement et non pas le fonctionnement
  • 16. BDD : quoi ? Langage commun Ubiquitous language de DDD
  • 17. BDD : clés de la réussite Intégration continue Point de vue de l’utilisateur Collaboration Découpage priorisation cycle itératif et incrémental Test First !
  • 18. Exemple avec should →
  • 19. Exemple avec Gherkin Given the distance max is 50 km per day And I meet M John on “20/11/13” 10 km away And I meet Ms Shelp on “20/11/13” 12 km away When I try to meet M Bob on “20/11/13” 8 km away Then I still have only 2 appointements on “20/11/13” Structure de test → 1 méthode par step
  • 20. BDD : quand ? Découper Coder Démontrer Estimer Préciser Utiliser S’engager
  • 21. BDD From Scratch Comment démarrer de zéro ? Spec Code Test
  • 22. RAD : Rapid Application Development IHM Métier BdD Fake 1 Make Make Make Fake Make Exploration & émergence ⇒ refactoring 2
  • 23. Double loop TDD Acceptance Test loop Unit Test loops Fail Refactor Pass
  • 24. Maintenance BDD Versionning des spécifications Refactoring des spécifications Poser les bonnes questions Etude d’impact Expérimentation d’alternatives ?
  • 25. BDD sur du legacy Legacy = non testé (automatiquement !) On ajoute du BDD sur une application existante → Non intrusif Une nouvelle partie fonctionnelle : ok (serein) Une adaptation : impact ? effets de bords ? Une refonte : couverture en tests fonctionnels ?
  • 26. Retours terrain Pas à pas : User Story, scénario d’acceptation Test First : discipline, paradigme Test ? scénario, méthode, exécution, step Gherkin : pas pour le métier, dur pour l’analyste Structuration d’un scénario en français : ok Ne remplace pas : tests “après”, recette intégrée
  • 27. As a conclusion...
  • 28. Ressources Un exemple BDD avec cucumber-JVM: https://github.com/acrepet/craftsmanplan Le blog de Dan North: http://dannorth.net

×