SlideShare une entreprise Scribd logo
BDD – CUCUMBER
        Behavior Driven Development
  Introduction avec Cucumber & Cucumber-
                    nagios




Hervé Leclerc                  Septembre 2011
BDD
 TDD
 DDD
CQCB ?
TDD – BDD – DDD
●   Méthodes de développement Agile
●   TDD : Test Driven Development
●   BDD : Behavior Driven Development
●   DDD : Domain Driven Design
DDD
●   Méthode de conception logiciel pilotée par le
    domaine, le métier
●   L'approche 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 qu'il couvre et ayant une
    meilleure résistance au changement.
TDD
●   Wikipédia :
●   Écrire un premier test
●   Vérifier qu'il échoue (car le code qu'il teste n'existe
    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, c'est-à-dire l'améliorer tout
    en gardant les mêmes fonctionnalités.
LE TDD C'EST 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 ?
TDD

      BDD
DDD
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
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 d'un bénéfice (ou pas)
●   Parfaitement adaptée à Scrum
●   Permet à tout le monde (CP,DEV,COM,CLI...) d'exprimer des
    besoins dans même langage
●   Les scénarios servent de critères d'acceptations → une fois
    acceptés on est sûr que l'application se comporte comme ce
    qui a été défini dans les scénarios
BDD → cucumber

Story :
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]
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
Exemple de scénario
Feature: 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"
Gherkin est i18n so...
# language: fr
Fonctionnalité: 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"
En Action !



an-user   a-password
cucumber-nagios
●   Permet de faire du BDD sur de l'infra
Demain
DEMO

Contenu connexe

Tendances

[Agile Testing Day] Techniques avancées de tests
[Agile Testing Day] Techniques avancées de tests[Agile Testing Day] Techniques avancées de tests
[Agile Testing Day] Techniques avancées de tests
Cellenza
 
Tdd en action - refactoring
Tdd en action - refactoringTdd en action - refactoring
Tdd en action - refactoringEric Mignot
 
Human Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDDHuman Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDD
Xavier NOPRE
 
C'est quoi, du bon code ?
C'est quoi, du bon code ?C'est quoi, du bon code ?
C'est quoi, du bon code ?
Rémi Lesieur
 
[Agile Testing Day] Test Driven Development (TDD)
[Agile Testing Day] Test Driven Development (TDD)[Agile Testing Day] Test Driven Development (TDD)
[Agile Testing Day] Test Driven Development (TDD)
Cellenza
 
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testableAgile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Association Agile Nantes
 
Clean code en pratique
Clean code en pratiqueClean code en pratique
Clean code en pratique
Jérôme Avoustin
 
Remettons les tests au coeur des projets
Remettons les tests au coeur des projetsRemettons les tests au coeur des projets
Remettons les tests au coeur des projets
Christophe Gigax
 
Introduction aux spécifications exécutables (dit aussi atdd, bdd)
Introduction aux spécifications exécutables (dit aussi atdd, bdd)Introduction aux spécifications exécutables (dit aussi atdd, bdd)
Introduction aux spécifications exécutables (dit aussi atdd, bdd)
Jean-Pierre Lambert
 
201001 TDD
201001 TDD201001 TDD
201001 TDD
lyonjug
 
AT Marseille 2011 - Réduisons les gaspillages
AT Marseille 2011 - Réduisons les gaspillagesAT Marseille 2011 - Réduisons les gaspillages
AT Marseille 2011 - Réduisons les gaspillages
Jérôme Avoustin
 
C'est quoi le Software Craftsmanship ?
C'est quoi le Software Craftsmanship ?C'est quoi le Software Craftsmanship ?
C'est quoi le Software Craftsmanship ?
Jean-Pierre Lambert
 
Formation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifFormation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratif
kemenaran
 
Sortir de l’ère des héros - HumanTalks Paris Mars 2017
Sortir de l’ère des héros - HumanTalks Paris Mars 2017Sortir de l’ère des héros - HumanTalks Paris Mars 2017
Sortir de l’ère des héros - HumanTalks Paris Mars 2017
Jean-Pierre Lambert
 
Présentation Alt.net - Tests unitaires automatisés
Présentation Alt.net - Tests unitaires automatisésPrésentation Alt.net - Tests unitaires automatisés
Présentation Alt.net - Tests unitaires automatisésDjamel Zouaoui
 
Tester c'est douter - Linkvalue tech
Tester c'est douter - Linkvalue techTester c'est douter - Linkvalue tech
Tester c'est douter - Linkvalue tech
Marine Karam
 
Mockito - Design + tests par Brice Duteil
Mockito - Design + tests par Brice DuteilMockito - Design + tests par Brice Duteil
Mockito - Design + tests par Brice Duteil
Normandy JUG
 
Développement piloté par les tests - DDD
Développement piloté par les tests - DDDDéveloppement piloté par les tests - DDD
Développement piloté par les tests - DDD
Pyxis Technologies
 
BBL - TDD pour les DevOps - Puppet
BBL - TDD pour les DevOps - PuppetBBL - TDD pour les DevOps - Puppet
BBL - TDD pour les DevOps - Puppet
Olivier BAZOUD
 

Tendances (20)

to Test or not to Test?
to Test or not to Test?to Test or not to Test?
to Test or not to Test?
 
[Agile Testing Day] Techniques avancées de tests
[Agile Testing Day] Techniques avancées de tests[Agile Testing Day] Techniques avancées de tests
[Agile Testing Day] Techniques avancées de tests
 
Tdd en action - refactoring
Tdd en action - refactoringTdd en action - refactoring
Tdd en action - refactoring
 
Human Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDDHuman Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDD
 
C'est quoi, du bon code ?
C'est quoi, du bon code ?C'est quoi, du bon code ?
C'est quoi, du bon code ?
 
[Agile Testing Day] Test Driven Development (TDD)
[Agile Testing Day] Test Driven Development (TDD)[Agile Testing Day] Test Driven Development (TDD)
[Agile Testing Day] Test Driven Development (TDD)
 
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testableAgile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
 
Clean code en pratique
Clean code en pratiqueClean code en pratique
Clean code en pratique
 
Remettons les tests au coeur des projets
Remettons les tests au coeur des projetsRemettons les tests au coeur des projets
Remettons les tests au coeur des projets
 
Introduction aux spécifications exécutables (dit aussi atdd, bdd)
Introduction aux spécifications exécutables (dit aussi atdd, bdd)Introduction aux spécifications exécutables (dit aussi atdd, bdd)
Introduction aux spécifications exécutables (dit aussi atdd, bdd)
 
201001 TDD
201001 TDD201001 TDD
201001 TDD
 
AT Marseille 2011 - Réduisons les gaspillages
AT Marseille 2011 - Réduisons les gaspillagesAT Marseille 2011 - Réduisons les gaspillages
AT Marseille 2011 - Réduisons les gaspillages
 
C'est quoi le Software Craftsmanship ?
C'est quoi le Software Craftsmanship ?C'est quoi le Software Craftsmanship ?
C'est quoi le Software Craftsmanship ?
 
Formation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifFormation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratif
 
Sortir de l’ère des héros - HumanTalks Paris Mars 2017
Sortir de l’ère des héros - HumanTalks Paris Mars 2017Sortir de l’ère des héros - HumanTalks Paris Mars 2017
Sortir de l’ère des héros - HumanTalks Paris Mars 2017
 
Présentation Alt.net - Tests unitaires automatisés
Présentation Alt.net - Tests unitaires automatisésPrésentation Alt.net - Tests unitaires automatisés
Présentation Alt.net - Tests unitaires automatisés
 
Tester c'est douter - Linkvalue tech
Tester c'est douter - Linkvalue techTester c'est douter - Linkvalue tech
Tester c'est douter - Linkvalue tech
 
Mockito - Design + tests par Brice Duteil
Mockito - Design + tests par Brice DuteilMockito - Design + tests par Brice Duteil
Mockito - Design + tests par Brice Duteil
 
Développement piloté par les tests - DDD
Développement piloté par les tests - DDDDéveloppement piloté par les tests - DDD
Développement piloté par les tests - DDD
 
BBL - TDD pour les DevOps - Puppet
BBL - TDD pour les DevOps - PuppetBBL - TDD pour les DevOps - Puppet
BBL - TDD pour les DevOps - Puppet
 

En vedette

"Spécification par l'exemple" par l'exemple : le BDD démystifié
"Spécification par l'exemple" par l'exemple : le BDD démystifié"Spécification par l'exemple" par l'exemple : le BDD démystifié
"Spécification par l'exemple" par l'exemple : le BDD démystifié
Gerald Reinhart
 
Spécification par l'exemple & Tests d'Acceptance Agile avec cucumber
Spécification par l'exemple & Tests d'Acceptance Agile  avec cucumberSpécification par l'exemple & Tests d'Acceptance Agile  avec cucumber
Spécification par l'exemple & Tests d'Acceptance Agile avec cucumberJean-Michel Garnier
 
QA Fest 2014. Анна Гаврилюк. Cool as сucumber
QA Fest 2014. Анна Гаврилюк. Cool as сucumberQA Fest 2014. Анна Гаврилюк. Cool as сucumber
QA Fest 2014. Анна Гаврилюк. Cool as сucumber
QAFest
 
Les nouveautés du Framework .NET 4.5
Les nouveautés du Framework .NET 4.5Les nouveautés du Framework .NET 4.5
Les nouveautés du Framework .NET 4.5
Microsoft
 
Dot Net Core
Dot Net CoreDot Net Core
Dot Net Core
Amir Barylko
 
Aumentando reaproveitamento de código com MvvmCross
Aumentando reaproveitamento de código com MvvmCrossAumentando reaproveitamento de código com MvvmCross
Aumentando reaproveitamento de código com MvvmCross
akamud
 
.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais
akamud
 
Decouvrir CQRS (sans Event sourcing) par la pratique
Decouvrir CQRS (sans Event sourcing) par la pratiqueDecouvrir CQRS (sans Event sourcing) par la pratique
Decouvrir CQRS (sans Event sourcing) par la pratique
Thomas Pierrain
 
Présentation sur Maven 2 et petit retour d'expérience
Présentation sur Maven 2 et petit retour d'expériencePrésentation sur Maven 2 et petit retour d'expérience
Présentation sur Maven 2 et petit retour d'expérienceKhanh Maudoux
 
Introduction to c#
Introduction to c#Introduction to c#
Introduction to c#
Ravi Jakashania
 
Test acceptance
Test acceptanceTest acceptance
Test acceptance
Yannick Quenec'hdu
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using Cucumber
KMS Technology
 
ASP.NET Core 1.0 Overview
ASP.NET Core 1.0 OverviewASP.NET Core 1.0 Overview
ASP.NET Core 1.0 Overview
Shahed Chowdhuri
 
Visual studio 2015 and .net core 5 – get ready to rumble
Visual studio 2015 and .net core 5  – get ready to rumbleVisual studio 2015 and .net core 5  – get ready to rumble
Visual studio 2015 and .net core 5 – get ready to rumble
Tadeusz Balcer
 
Behavior Driven Development with Cucumber
Behavior Driven Development with CucumberBehavior Driven Development with Cucumber
Behavior Driven Development with Cucumber
Brandon Keepers
 
GTD Modèles papiers couleur à imprimer (hPDA)
GTD Modèles papiers couleur à imprimer (hPDA)GTD Modèles papiers couleur à imprimer (hPDA)
GTD Modèles papiers couleur à imprimer (hPDA)Nicolas Stampf
 
BDD in Action - building software that matters
BDD in Action - building software that mattersBDD in Action - building software that matters
BDD in Action - building software that matters
John Ferguson Smart Limited
 
Keynote .NET 2015 : une nouvelle ère
Keynote .NET 2015 : une nouvelle èreKeynote .NET 2015 : une nouvelle ère
Keynote .NET 2015 : une nouvelle ère
Microsoft
 
Tdd cara nov2010
Tdd cara nov2010Tdd cara nov2010
Tdd cara nov2010
Jean-Michel Garnier
 
Spécifications exécutables : Une pratique au cœur du développement Agile - Al...
Spécifications exécutables : Une pratique au cœur du développement Agile - Al...Spécifications exécutables : Une pratique au cœur du développement Agile - Al...
Spécifications exécutables : Une pratique au cœur du développement Agile - Al...
Agile Montréal
 

En vedette (20)

"Spécification par l'exemple" par l'exemple : le BDD démystifié
"Spécification par l'exemple" par l'exemple : le BDD démystifié"Spécification par l'exemple" par l'exemple : le BDD démystifié
"Spécification par l'exemple" par l'exemple : le BDD démystifié
 
Spécification par l'exemple & Tests d'Acceptance Agile avec cucumber
Spécification par l'exemple & Tests d'Acceptance Agile  avec cucumberSpécification par l'exemple & Tests d'Acceptance Agile  avec cucumber
Spécification par l'exemple & Tests d'Acceptance Agile avec cucumber
 
QA Fest 2014. Анна Гаврилюк. Cool as сucumber
QA Fest 2014. Анна Гаврилюк. Cool as сucumberQA Fest 2014. Анна Гаврилюк. Cool as сucumber
QA Fest 2014. Анна Гаврилюк. Cool as сucumber
 
Les nouveautés du Framework .NET 4.5
Les nouveautés du Framework .NET 4.5Les nouveautés du Framework .NET 4.5
Les nouveautés du Framework .NET 4.5
 
Dot Net Core
Dot Net CoreDot Net Core
Dot Net Core
 
Aumentando reaproveitamento de código com MvvmCross
Aumentando reaproveitamento de código com MvvmCrossAumentando reaproveitamento de código com MvvmCross
Aumentando reaproveitamento de código com MvvmCross
 
.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais
 
Decouvrir CQRS (sans Event sourcing) par la pratique
Decouvrir CQRS (sans Event sourcing) par la pratiqueDecouvrir CQRS (sans Event sourcing) par la pratique
Decouvrir CQRS (sans Event sourcing) par la pratique
 
Présentation sur Maven 2 et petit retour d'expérience
Présentation sur Maven 2 et petit retour d'expériencePrésentation sur Maven 2 et petit retour d'expérience
Présentation sur Maven 2 et petit retour d'expérience
 
Introduction to c#
Introduction to c#Introduction to c#
Introduction to c#
 
Test acceptance
Test acceptanceTest acceptance
Test acceptance
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using Cucumber
 
ASP.NET Core 1.0 Overview
ASP.NET Core 1.0 OverviewASP.NET Core 1.0 Overview
ASP.NET Core 1.0 Overview
 
Visual studio 2015 and .net core 5 – get ready to rumble
Visual studio 2015 and .net core 5  – get ready to rumbleVisual studio 2015 and .net core 5  – get ready to rumble
Visual studio 2015 and .net core 5 – get ready to rumble
 
Behavior Driven Development with Cucumber
Behavior Driven Development with CucumberBehavior Driven Development with Cucumber
Behavior Driven Development with Cucumber
 
GTD Modèles papiers couleur à imprimer (hPDA)
GTD Modèles papiers couleur à imprimer (hPDA)GTD Modèles papiers couleur à imprimer (hPDA)
GTD Modèles papiers couleur à imprimer (hPDA)
 
BDD in Action - building software that matters
BDD in Action - building software that mattersBDD in Action - building software that matters
BDD in Action - building software that matters
 
Keynote .NET 2015 : une nouvelle ère
Keynote .NET 2015 : une nouvelle èreKeynote .NET 2015 : une nouvelle ère
Keynote .NET 2015 : une nouvelle ère
 
Tdd cara nov2010
Tdd cara nov2010Tdd cara nov2010
Tdd cara nov2010
 
Spécifications exécutables : Une pratique au cœur du développement Agile - Al...
Spécifications exécutables : Une pratique au cœur du développement Agile - Al...Spécifications exécutables : Une pratique au cœur du développement Agile - Al...
Spécifications exécutables : Une pratique au cœur du développement Agile - Al...
 

Similaire à Pizza party 30-09-2011 bdd-cucumber

10 ans de Code (Agile Bordeaux 2019).pptx
10 ans de Code (Agile Bordeaux 2019).pptx10 ans de Code (Agile Bordeaux 2019).pptx
10 ans de Code (Agile Bordeaux 2019).pptx
Guillaume Saint Etienne
 
Soirée du Test Logiciel - Démystifier les xDD - C. TARDIEU, Acp qualife
Soirée du Test Logiciel - Démystifier les xDD - C. TARDIEU, Acp qualifeSoirée du Test Logiciel - Démystifier les xDD - C. TARDIEU, Acp qualife
Soirée du Test Logiciel - Démystifier les xDD - C. TARDIEU, Acp qualife
TelecomValley
 
Native script
Native scriptNative script
Native script
Neticoa Sénégal
 
Drupal7 - Bonnes Pratiques (Partie 1)
Drupal7 - Bonnes Pratiques (Partie 1)Drupal7 - Bonnes Pratiques (Partie 1)
Drupal7 - Bonnes Pratiques (Partie 1)
Alexandre Marie
 
Agile Methodologies
Agile MethodologiesAgile Methodologies
Agile Methodologies
Jean-Philippe Jacoupy
 
AgileTour Strasbourg 2011 BDD with jBehave
AgileTour Strasbourg 2011 BDD with jBehaveAgileTour Strasbourg 2011 BDD with jBehave
AgileTour Strasbourg 2011 BDD with jBehave
Cedric Vidal
 
Agile - Les stories INVEST, 3C et SMART
Agile - Les stories INVEST, 3C et SMARTAgile - Les stories INVEST, 3C et SMART
Agile - Les stories INVEST, 3C et SMART
Sébastien GAUDIN
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
VISEO
 
DDD session BrownBagLunch (FR)
DDD session BrownBagLunch (FR)DDD session BrownBagLunch (FR)
DDD session BrownBagLunch (FR)
Cyrille Martraire
 
La Rochelle workshop 2016
La Rochelle workshop 2016La Rochelle workshop 2016
La Rochelle workshop 2016
Christian Brousseau
 
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
SEO CAMP
 
Synergies entre DEV et SEO (SeoCampus 2019)
Synergies entre DEV et SEO (SeoCampus 2019)Synergies entre DEV et SEO (SeoCampus 2019)
Synergies entre DEV et SEO (SeoCampus 2019)
LVLUP
 
Domain Driven Design - Agile France 2010
Domain Driven Design - Agile France 2010Domain Driven Design - Agile France 2010
Domain Driven Design - Agile France 2010
François Wauquier
 
Gérer l'inconnu avec peu de moyens par le développement itératif - L'agili...
Gérer l'inconnu avec peu de moyens par le développement itératif - L'agili...Gérer l'inconnu avec peu de moyens par le développement itératif - L'agili...
Gérer l'inconnu avec peu de moyens par le développement itératif - L'agili...
Benoit St-André
 
DDD Introduction
DDD IntroductionDDD Introduction
DDD Introduction
Gregory Boissinot
 
10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8
Microsoft
 
Behavior Driven Development - agile testing day
Behavior Driven Development - agile testing dayBehavior Driven Development - agile testing day
Behavior Driven Development - agile testing day
Georges Damien
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
boulonvert
 
Toutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDBToutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDB
Content Square
 
Agilité et SharePoint: Incompatible? On gage que non!
Agilité et SharePoint: Incompatible? On gage que non!Agilité et SharePoint: Incompatible? On gage que non!
Agilité et SharePoint: Incompatible? On gage que non!
Franck Cornu
 

Similaire à Pizza party 30-09-2011 bdd-cucumber (20)

10 ans de Code (Agile Bordeaux 2019).pptx
10 ans de Code (Agile Bordeaux 2019).pptx10 ans de Code (Agile Bordeaux 2019).pptx
10 ans de Code (Agile Bordeaux 2019).pptx
 
Soirée du Test Logiciel - Démystifier les xDD - C. TARDIEU, Acp qualife
Soirée du Test Logiciel - Démystifier les xDD - C. TARDIEU, Acp qualifeSoirée du Test Logiciel - Démystifier les xDD - C. TARDIEU, Acp qualife
Soirée du Test Logiciel - Démystifier les xDD - C. TARDIEU, Acp qualife
 
Native script
Native scriptNative script
Native script
 
Drupal7 - Bonnes Pratiques (Partie 1)
Drupal7 - Bonnes Pratiques (Partie 1)Drupal7 - Bonnes Pratiques (Partie 1)
Drupal7 - Bonnes Pratiques (Partie 1)
 
Agile Methodologies
Agile MethodologiesAgile Methodologies
Agile Methodologies
 
AgileTour Strasbourg 2011 BDD with jBehave
AgileTour Strasbourg 2011 BDD with jBehaveAgileTour Strasbourg 2011 BDD with jBehave
AgileTour Strasbourg 2011 BDD with jBehave
 
Agile - Les stories INVEST, 3C et SMART
Agile - Les stories INVEST, 3C et SMARTAgile - Les stories INVEST, 3C et SMART
Agile - Les stories INVEST, 3C et SMART
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
DDD session BrownBagLunch (FR)
DDD session BrownBagLunch (FR)DDD session BrownBagLunch (FR)
DDD session BrownBagLunch (FR)
 
La Rochelle workshop 2016
La Rochelle workshop 2016La Rochelle workshop 2016
La Rochelle workshop 2016
 
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
 
Synergies entre DEV et SEO (SeoCampus 2019)
Synergies entre DEV et SEO (SeoCampus 2019)Synergies entre DEV et SEO (SeoCampus 2019)
Synergies entre DEV et SEO (SeoCampus 2019)
 
Domain Driven Design - Agile France 2010
Domain Driven Design - Agile France 2010Domain Driven Design - Agile France 2010
Domain Driven Design - Agile France 2010
 
Gérer l'inconnu avec peu de moyens par le développement itératif - L'agili...
Gérer l'inconnu avec peu de moyens par le développement itératif - L'agili...Gérer l'inconnu avec peu de moyens par le développement itératif - L'agili...
Gérer l'inconnu avec peu de moyens par le développement itératif - L'agili...
 
DDD Introduction
DDD IntroductionDDD Introduction
DDD Introduction
 
10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8
 
Behavior Driven Development - agile testing day
Behavior Driven Development - agile testing dayBehavior Driven Development - agile testing day
Behavior Driven Development - agile testing day
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
 
Toutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDBToutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDB
 
Agilité et SharePoint: Incompatible? On gage que non!
Agilité et SharePoint: Incompatible? On gage que non!Agilité et SharePoint: Incompatible? On gage que non!
Agilité et SharePoint: Incompatible? On gage que non!
 

Plus de Hervé Leclerc

Octo talk : docker multi-host networking
Octo talk : docker multi-host networking Octo talk : docker multi-host networking
Octo talk : docker multi-host networking
Hervé Leclerc
 
Petit DéJeuner Industrialisation 13 10 2011 Eurosites
Petit DéJeuner Industrialisation 13 10 2011 EurositesPetit DéJeuner Industrialisation 13 10 2011 Eurosites
Petit DéJeuner Industrialisation 13 10 2011 Eurosites
Hervé Leclerc
 
Alter Way Petit Dejeuner Drupal7
Alter Way Petit Dejeuner Drupal7Alter Way Petit Dejeuner Drupal7
Alter Way Petit Dejeuner Drupal7
Hervé Leclerc
 
SSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLSSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQL
Hervé Leclerc
 
Ecl J2ee Igc2
Ecl J2ee Igc2Ecl J2ee Igc2
Ecl J2ee Igc2
Hervé Leclerc
 
Mobile Cloud Computing
Mobile Cloud ComputingMobile Cloud Computing
Mobile Cloud ComputingHervé Leclerc
 
Expertise Alterway Au Service Des Projets Drupal 0.6
Expertise Alterway Au Service Des Projets Drupal   0.6Expertise Alterway Au Service Des Projets Drupal   0.6
Expertise Alterway Au Service Des Projets Drupal 0.6Hervé Leclerc
 
Expertise Alterway Au Service Des Projets Talend
Expertise Alterway Au Service Des Projets TalendExpertise Alterway Au Service Des Projets Talend
Expertise Alterway Au Service Des Projets TalendHervé Leclerc
 

Plus de Hervé Leclerc (8)

Octo talk : docker multi-host networking
Octo talk : docker multi-host networking Octo talk : docker multi-host networking
Octo talk : docker multi-host networking
 
Petit DéJeuner Industrialisation 13 10 2011 Eurosites
Petit DéJeuner Industrialisation 13 10 2011 EurositesPetit DéJeuner Industrialisation 13 10 2011 Eurosites
Petit DéJeuner Industrialisation 13 10 2011 Eurosites
 
Alter Way Petit Dejeuner Drupal7
Alter Way Petit Dejeuner Drupal7Alter Way Petit Dejeuner Drupal7
Alter Way Petit Dejeuner Drupal7
 
SSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLSSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQL
 
Ecl J2ee Igc2
Ecl J2ee Igc2Ecl J2ee Igc2
Ecl J2ee Igc2
 
Mobile Cloud Computing
Mobile Cloud ComputingMobile Cloud Computing
Mobile Cloud Computing
 
Expertise Alterway Au Service Des Projets Drupal 0.6
Expertise Alterway Au Service Des Projets Drupal   0.6Expertise Alterway Au Service Des Projets Drupal   0.6
Expertise Alterway Au Service Des Projets Drupal 0.6
 
Expertise Alterway Au Service Des Projets Talend
Expertise Alterway Au Service Des Projets TalendExpertise Alterway Au Service Des Projets Talend
Expertise Alterway Au Service Des Projets Talend
 

Pizza party 30-09-2011 bdd-cucumber

  • 1. BDD – CUCUMBER Behavior Driven Development Introduction avec Cucumber & Cucumber- nagios Hervé Leclerc Septembre 2011
  • 3. TDD – BDD – DDD ● Méthodes de développement Agile ● TDD : Test Driven Development ● BDD : Behavior Driven Development ● DDD : Domain Driven Design
  • 4. DDD ● Méthode de conception logiciel pilotée par le domaine, le métier ● L'approche 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 qu'il couvre et ayant une meilleure résistance au changement.
  • 5. TDD ● Wikipédia : ● Écrire un premier test ● Vérifier qu'il échoue (car le code qu'il teste n'existe 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, c'est-à-dire l'améliorer tout en gardant les mêmes fonctionnalités.
  • 6. LE TDD C'EST 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. TDD BDD DDD
  • 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. 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 d'un bénéfice (ou pas) ● Parfaitement adaptée à Scrum ● Permet à tout le monde (CP,DEV,COM,CLI...) d'exprimer des besoins dans même langage ● Les scénarios servent de critères d'acceptations → une fois acceptés on est sûr que l'application se comporte comme ce qui a été défini dans les scénarios
  • 10. BDD → cucumber Story : 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. 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. Exemple de scénario Feature: 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. Gherkin est i18n so... # language: fr Fonctionnalité: 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. En Action ! an-user a-password
  • 15.
  • 16. cucumber-nagios ● Permet de faire du BDD sur de l'infra
  • 18. DEMO