BDD – CUCUMBER        Behavior Driven Development  Introduction avec Cucumber & Cucumber-                    nagiosHervé L...
BDD TDD DDDCQCB ?
TDD – BDD – DDD●   Méthodes de développement Agile●   TDD : Test Driven Development●   BDD : Behavior Driven Development● ...
DDD●   Méthode de conception logiciel pilotée par le    domaine, le métier●   Lapproche est reconnue mais peu connue●   Fo...
TDD●   Wikipédia :●   Écrire un premier test●   Vérifier quil échoue (car le code quil teste nexiste    pas), afin de véri...
LE TDD CEST BIEN MAIS...●   Ça sert à quoi d’écrire les tests en premier ?●   Ok, j’écris les tests en premier mais quel e...
TDD      BDDDDD
BDD●   2003 Dan North en défini le concept●   Principes :    ●   "Tout est comportement", où le pôle commercial et        ...
BDD : Scénario●   On écrit des scénarios (story)●   Tous les scénarios suivent le même modèle :    ●   Un contexte    ●   ...
BDD → cucumberStory :As a [rôle]I want to (some action)So that (business value)                                           ...
cucumber●   Gem permettant d’exécuter des fonctionnalités    écrites sous forme de fichiers texte afin de    réaliser des ...
Exemple de scénarioFeature: www.alterway.fr It should be up And I should be able to search for things Scenario: Look Host ...
Gherkin est i18n so...# language: frFonctionnalité: www.alterway.fr Il devrait être en ligne Et Il devrait être capable de...
En Action !an-user   a-password
cucumber-nagios●   Permet de faire du BDD sur de linfra
Demain
DEMO
Pizza party 30-09-2011 bdd-cucumber
Prochain SlideShare
Chargement dans…5
×

Pizza party 30-09-2011 bdd-cucumber

833 vues

Publié le

Pizza Party 30 sep 2011. Industrialisation. BDD

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
833
Sur SlideShare
0
Issues des intégrations
0
Intégrations
6
Actions
Partages
0
Téléchargements
16
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Pizza party 30-09-2011 bdd-cucumber

  1. 1. BDD – CUCUMBER Behavior Driven Development Introduction avec Cucumber & Cucumber- nagiosHervé Leclerc Septembre 2011
  2. 2. BDD TDD DDDCQCB ?
  3. 3. TDD – BDD – DDD● Méthodes de développement Agile● TDD : Test Driven Development● BDD : Behavior Driven Development● DDD : Domain Driven Design
  4. 4. DDD● Méthode de conception logiciel pilotée par le domaine, le métier● Lapproche est reconnue mais peu connue● Focus sur les aspect métiers● Lignes directrices concernant pratiques et organisation du code pour obtenir un code reflet fidèle au métier quil couvre et ayant une meilleure résistance au changement.
  5. 5. TDD● Wikipédia :● Écrire un premier test● Vérifier quil échoue (car le code quil teste nexiste pas), afin de vérifier que le test est valide● Écrire juste le code suffisant pour passer le test● Vérifier que le test passe ;● Puis re factoriser le code, cest-à-dire laméliorer tout en gardant les mêmes fonctionnalités.
  6. 6. LE TDD CEST BIEN MAIS...● Ça sert à quoi d’écrire les tests en premier ?● Ok, j’écris les tests en premier mais quel est le premier test que j’écris ?● Je dois tout tester ou seulement certaines choses ?
  7. 7. TDD BDDDDD
  8. 8. BDD● 2003 Dan North en défini le concept● Principes : ● "Tout est comportement", où le pôle commercial et technologique doivent se référer à des comportements identiques et parler le même langage. ● "Où le business compte", c’est à dire que chaque système doit apporter un retour sur le business ● "EnoughIsEnough", faire ce qu’il faut pour atteindre son but fixé, ni plus, ni moins
  9. 9. BDD : Scénario● On écrit des scénarios (story)● Tous les scénarios suivent le même modèle : ● Un contexte ● Une demande de fonctionnalité ● La récupération dun bénéfice (ou pas)● Parfaitement adaptée à Scrum● Permet à tout le monde (CP,DEV,COM,CLI...) dexprimer des besoins dans même langage● Les scénarios servent de critères dacceptations → une fois acceptés on est sûr que lapplication se comporte comme ce qui a été défini dans les scénarios
  10. 10. BDD → cucumberStory :As a [rôle]I want to (some action)So that (business value) Feature Scenario: Title Given [some context] And [Additionnal context] When [Event] Then [outcome]
  11. 11. cucumber● Gem permettant d’exécuter des fonctionnalités écrites sous forme de fichiers texte afin de réaliser des tests automatisés● Chaque Feature peut contenir plusieurs scénarios● La facilité décriture des scénario permet à des non informaticiens décrire les fonctionnalité● Le développeurs développeront le code pour réaliser les fonctions scénario
  12. 12. Exemple de scénarioFeature: www.alterway.fr It should be up And I should be able to search for things Scenario: Look Host www.alterway.fr When I lookup "www.alterway.fr" Then the name should resolve to "XXX.XXX.XXX.XXX" Scenario: Searching for things When I go to "http://www.alterway.fr" And I fill in "search_block_form" with "industrialisation" And I press "Recherche" Then I should see "Industrialisation Php"
  13. 13. Gherkin est i18n so...# language: frFonctionnalité: www.alterway.fr Il devrait être en ligne Et Il devrait être capable de chercher des trucs Scénario: Chercher des trucs Etant donné Je suis sur un HTTP authentifié avec les crédences suivantes: | username | password | |an-user | a-password | Quand Je vais sur "http://www.example.fr/" Et Je remplis "search_block_form" avec "industrialisation" Et Je clique sur "Recherche" Alors Je devrais voir "Industrialisation Php" Quand Je suis "Industrialisation Php" Alors Je devrais voir "Le constat est clair"
  14. 14. En Action !an-user a-password
  15. 15. cucumber-nagios● Permet de faire du BDD sur de linfra
  16. 16. Demain
  17. 17. DEMO

×