SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
Cucumber, le texte qui teste




                               Cucumber, le texte qui teste

                                        Cyril Mougel

                                            AF83


                                       2 Octobre 2009
Cucumber, le texte qui teste
  Les tests




         1   Les tests

         2   Cucumber c’est quoi ?

         3   installation

         4   utilisation
Cucumber, le texte qui teste
  Les tests



      Pourquoi faire des tests ?




               Etre sˆr que ¸a marche
                     u       c
               Valider ce que le client veut
               Eviter les r´gressions
                           e
Cucumber, le texte qui teste
  Les tests



      Pourquoi automatiser ses tests ?




               Ne pas perdre son temps ` faire toujours les
                                        a
               mˆmes clics
                e
               Temps de test plus court
Cucumber, le texte qui teste
  Les tests



      Qui d´fini les tests ?
           e




               Le client
               Le chef de projet
               Le d´veloppeur
                   e
Cucumber, le texte qui teste
  Les tests



      Quel sont leur langage ?




               Le client : Le document texte
               Le chef de projet : Le document texte
               Le d´veloppeur : Le code
                   e
Cucumber, le texte qui teste
  Les tests




                               Pour aider tout le monde il y a

                                      Cucumber
Cucumber, le texte qui teste
  Cucumber c’est quoi ?




         1   Les tests

         2   Cucumber c’est quoi ?

         3   installation

         4   utilisation
Cucumber, le texte qui teste
  Cucumber c’est quoi ?



      Cucumber c’est quoi ?




               Test d’int´gration
                         e
               BDD (Behaviour Driven Development)
               H´ritier des Stories de Rspec
                e
Cucumber, le texte qui teste
  Cucumber c’est quoi ?



      Format des tests




               Business Readable DSL
               Fichier texte
Cucumber, le texte qui teste
  Cucumber c’est quoi ?



      Un exemple ?
       login.feature
       Feature : Login
         To ensure the safety of the application
         A regular user of the system
         Must authenticate before using the app

            Scenario : Success Login
              Given I have one user " shingara " with
                 password " tintinpouet "
              When I go to / login
              And I fill in " login " with " shingara "
              And I fill in " password " with " tintinpouet "
              And I press " Log In "
              Then the request should be success
              And I should see an notice message
              And I should not see " Administration "
Cucumber, le texte qui teste
  Cucumber c’est quoi ?




               Context
               Action
               R´sultat
                e
Cucumber, le texte qui teste
  Cucumber c’est quoi ?



      Given == Context



       Given step
       Given / ˆ I h a v e one u s e r ” ( [ ˆ  ” ] ∗ ) ” w i t h p a s s w o r d ” ( [ ˆ  ” ] ∗ ) ” $ / do | login ,
            password |
         # CODE q u i c r e e l ’ u t i l i s a t e u r
       end

       Given / ˆ I h a v e a l o g g e d u s e r ” ( [ ˆ  ” ] ∗ ) ” w i t h p a s s w o r d ” ( [ ˆ  ” ] ∗ ) ” $ / do | login ,
            password |
         %{Given I have one user ”#{l o g i n }” with password ”#{p a s s w o r d }”}
         # CODE q u i r e m p l i l e f o r m u l a i r e e t l e v a l i d e
       end
Cucumber, le texte qui teste
  Cucumber c’est quoi ?



      When == Action




       When step
       When / ˆ I f o l l o w ” ( . ∗ ) ” $ / do | link |
         @response = click_link ( link )
       end

       When / ˆ I f i l l i n ” ( . ∗ ) ” w i t h ” ( . ∗ ) ” $ / do | field , value |
         @response = fill_in ( field , : with = value )        >
       end
Cucumber, le texte qui teste
  Cucumber c’est quoi ?



      Then == R´sultat
               e




       Then step
       Then / ˆ I s h o u l d n o t s e e ” ( [ ˆ  ” ] ∗ ) ” $ / do | text |
           webr at_session . response . body . to_s . should_not =˜ /#{t e x t }/ m
       end

       Then / ˆ I s h o u l d s e e an ? (w+) m e s s a g e $ / do | message_type |
           webr at_session . response . should have_xpath ( ” / / ∗ [ @ c l a s s =’#{ m e s s a g e t y p e } ’ ] ” )
       end
Cucumber, le texte qui teste
  installation




         1   Les tests

         2   Cucumber c’est quoi ?

         3   installation

         4   utilisation
Cucumber, le texte qui teste
  installation



      installation




               gem install rspec rspec-rails cucumber webrat
               ruby script/generate cucumber
Cucumber, le texte qui teste
  installation




       features/
           login.feature
           step definitions/
               login steps.rb
Cucumber, le texte qui teste
  utilisation




         1   Les tests

         2   Cucumber c’est quoi ?

         3   installation

         4   utilisation
Cucumber, le texte qui teste
  utilisation
Cucumber, le texte qui teste
  utilisation
Cucumber, le texte qui teste
  utilisation




                               questions ?

Contenu connexe

Similaire à Cucumber Le Text Qui Test

Automatisation des tests - objectifs et concepts - partie 1
Automatisation des tests  - objectifs et concepts - partie 1Automatisation des tests  - objectifs et concepts - partie 1
Automatisation des tests - objectifs et concepts - partie 1Christophe Rochefolle
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2Christophe Rochefolle
 
Alfresco en quelques points - Recherche Tutorial
Alfresco en quelques points - Recherche TutorialAlfresco en quelques points - Recherche Tutorial
Alfresco en quelques points - Recherche TutorialPASCAL Jean Marie
 
Tout ce que vous avez voulu savoir sur les Doublures sans jamais oser le dema...
Tout ce que vous avez voulu savoir sur les Doublures sans jamais oser le dema...Tout ce que vous avez voulu savoir sur les Doublures sans jamais oser le dema...
Tout ce que vous avez voulu savoir sur les Doublures sans jamais oser le dema...Guillaume Saint Etienne
 
Non-regression testing in web app development
Non-regression testing in web app developmentNon-regression testing in web app development
Non-regression testing in web app developmentCédric Villa
 
Eb02 Ergonomie Creation Graphique D Un Site Web Et Processus Agile De Develop...
Eb02 Ergonomie Creation Graphique D Un Site Web Et Processus Agile De Develop...Eb02 Ergonomie Creation Graphique D Un Site Web Et Processus Agile De Develop...
Eb02 Ergonomie Creation Graphique D Un Site Web Et Processus Agile De Develop...Valtech
 
At2009 Soigner Sa Schizophrenie 1.2
At2009 Soigner Sa Schizophrenie 1.2At2009 Soigner Sa Schizophrenie 1.2
At2009 Soigner Sa Schizophrenie 1.2Emmanuel Hugonnet
 
Génération automatique de texte
Génération automatique de texteGénération automatique de texte
Génération automatique de texteEstelle Delpech
 
Décryptage des LLMs au-delà de la hype - Lyon Data science
Décryptage des LLMs au-delà de la hype - Lyon Data scienceDécryptage des LLMs au-delà de la hype - Lyon Data science
Décryptage des LLMs au-delà de la hype - Lyon Data scienceMarie-Alice Blete
 
Cocoaheads Paris Nombembre Test unitaires
Cocoaheads Paris Nombembre Test unitairesCocoaheads Paris Nombembre Test unitaires
Cocoaheads Paris Nombembre Test unitairesCocoaHeads France
 
Tester les applications Zend Framework
Tester les applications Zend FrameworkTester les applications Zend Framework
Tester les applications Zend FrameworkMickael Perraud
 
Université de la performance
Université de la performanceUniversité de la performance
Université de la performancepkernevez
 
Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...
Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...
Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...Publicis Sapient Engineering
 
Deployer en continu, Benoît Lafontaine, USIEVENT 2013
Deployer en continu, Benoît Lafontaine, USIEVENT 2013Deployer en continu, Benoît Lafontaine, USIEVENT 2013
Deployer en continu, Benoît Lafontaine, USIEVENT 2013Benoît Lafontaine
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovyguest6e3bed
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation GroovyJS Bournival
 

Similaire à Cucumber Le Text Qui Test (20)

Automatisation des tests - objectifs et concepts - partie 1
Automatisation des tests  - objectifs et concepts - partie 1Automatisation des tests  - objectifs et concepts - partie 1
Automatisation des tests - objectifs et concepts - partie 1
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2
 
Anatomie du test
Anatomie du testAnatomie du test
Anatomie du test
 
Alfresco en quelques points - Recherche Tutorial
Alfresco en quelques points - Recherche TutorialAlfresco en quelques points - Recherche Tutorial
Alfresco en quelques points - Recherche Tutorial
 
Tout ce que vous avez voulu savoir sur les Doublures sans jamais oser le dema...
Tout ce que vous avez voulu savoir sur les Doublures sans jamais oser le dema...Tout ce que vous avez voulu savoir sur les Doublures sans jamais oser le dema...
Tout ce que vous avez voulu savoir sur les Doublures sans jamais oser le dema...
 
Cerberus Testing
Cerberus TestingCerberus Testing
Cerberus Testing
 
Non-regression testing in web app development
Non-regression testing in web app developmentNon-regression testing in web app development
Non-regression testing in web app development
 
Eb02 Ergonomie Creation Graphique D Un Site Web Et Processus Agile De Develop...
Eb02 Ergonomie Creation Graphique D Un Site Web Et Processus Agile De Develop...Eb02 Ergonomie Creation Graphique D Un Site Web Et Processus Agile De Develop...
Eb02 Ergonomie Creation Graphique D Un Site Web Et Processus Agile De Develop...
 
At2009 Soigner Sa Schizophrenie 1.2
At2009 Soigner Sa Schizophrenie 1.2At2009 Soigner Sa Schizophrenie 1.2
At2009 Soigner Sa Schizophrenie 1.2
 
Génération automatique de texte
Génération automatique de texteGénération automatique de texte
Génération automatique de texte
 
Décryptage des LLMs au-delà de la hype - Lyon Data science
Décryptage des LLMs au-delà de la hype - Lyon Data scienceDécryptage des LLMs au-delà de la hype - Lyon Data science
Décryptage des LLMs au-delà de la hype - Lyon Data science
 
Cocoaheads Paris Nombembre Test unitaires
Cocoaheads Paris Nombembre Test unitairesCocoaheads Paris Nombembre Test unitaires
Cocoaheads Paris Nombembre Test unitaires
 
Tester les applications Zend Framework
Tester les applications Zend FrameworkTester les applications Zend Framework
Tester les applications Zend Framework
 
Conformiq
ConformiqConformiq
Conformiq
 
Université de la performance
Université de la performanceUniversité de la performance
Université de la performance
 
Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...
Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...
Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...
 
Deployer en continu, Benoît Lafontaine, USIEVENT 2013
Deployer en continu, Benoît Lafontaine, USIEVENT 2013Deployer en continu, Benoît Lafontaine, USIEVENT 2013
Deployer en continu, Benoît Lafontaine, USIEVENT 2013
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovy
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovy
 
Securité web
Securité webSecurité web
Securité web
 

Plus de Cyril Mougel

Super marmite-pourquoi-choisir-mongodb
Super marmite-pourquoi-choisir-mongodbSuper marmite-pourquoi-choisir-mongodb
Super marmite-pourquoi-choisir-mongodbCyril Mougel
 
Google Wave, le dernier de chez Google
Google Wave, le dernier de chez GoogleGoogle Wave, le dernier de chez Google
Google Wave, le dernier de chez GoogleCyril Mougel
 
Merb Le Framework Tellement Bien Qu Il Sera Integré Dans Rails
Merb Le Framework Tellement Bien Qu Il Sera Integré Dans RailsMerb Le Framework Tellement Bien Qu Il Sera Integré Dans Rails
Merb Le Framework Tellement Bien Qu Il Sera Integré Dans RailsCyril Mougel
 
Initiation Rails Rspec
Initiation Rails RspecInitiation Rails Rspec
Initiation Rails RspecCyril Mougel
 
Migration Rails 2.0 2.2
Migration Rails 2.0 2.2Migration Rails 2.0 2.2
Migration Rails 2.0 2.2Cyril Mougel
 

Plus de Cyril Mougel (7)

Errbit
ErrbitErrbit
Errbit
 
Mongoid
MongoidMongoid
Mongoid
 
Super marmite-pourquoi-choisir-mongodb
Super marmite-pourquoi-choisir-mongodbSuper marmite-pourquoi-choisir-mongodb
Super marmite-pourquoi-choisir-mongodb
 
Google Wave, le dernier de chez Google
Google Wave, le dernier de chez GoogleGoogle Wave, le dernier de chez Google
Google Wave, le dernier de chez Google
 
Merb Le Framework Tellement Bien Qu Il Sera Integré Dans Rails
Merb Le Framework Tellement Bien Qu Il Sera Integré Dans RailsMerb Le Framework Tellement Bien Qu Il Sera Integré Dans Rails
Merb Le Framework Tellement Bien Qu Il Sera Integré Dans Rails
 
Initiation Rails Rspec
Initiation Rails RspecInitiation Rails Rspec
Initiation Rails Rspec
 
Migration Rails 2.0 2.2
Migration Rails 2.0 2.2Migration Rails 2.0 2.2
Migration Rails 2.0 2.2
 

Cucumber Le Text Qui Test

  • 1. Cucumber, le texte qui teste Cucumber, le texte qui teste Cyril Mougel AF83 2 Octobre 2009
  • 2. Cucumber, le texte qui teste Les tests 1 Les tests 2 Cucumber c’est quoi ? 3 installation 4 utilisation
  • 3. Cucumber, le texte qui teste Les tests Pourquoi faire des tests ? Etre sˆr que ¸a marche u c Valider ce que le client veut Eviter les r´gressions e
  • 4. Cucumber, le texte qui teste Les tests Pourquoi automatiser ses tests ? Ne pas perdre son temps ` faire toujours les a mˆmes clics e Temps de test plus court
  • 5. Cucumber, le texte qui teste Les tests Qui d´fini les tests ? e Le client Le chef de projet Le d´veloppeur e
  • 6. Cucumber, le texte qui teste Les tests Quel sont leur langage ? Le client : Le document texte Le chef de projet : Le document texte Le d´veloppeur : Le code e
  • 7. Cucumber, le texte qui teste Les tests Pour aider tout le monde il y a Cucumber
  • 8. Cucumber, le texte qui teste Cucumber c’est quoi ? 1 Les tests 2 Cucumber c’est quoi ? 3 installation 4 utilisation
  • 9. Cucumber, le texte qui teste Cucumber c’est quoi ? Cucumber c’est quoi ? Test d’int´gration e BDD (Behaviour Driven Development) H´ritier des Stories de Rspec e
  • 10. Cucumber, le texte qui teste Cucumber c’est quoi ? Format des tests Business Readable DSL Fichier texte
  • 11. Cucumber, le texte qui teste Cucumber c’est quoi ? Un exemple ? login.feature Feature : Login To ensure the safety of the application A regular user of the system Must authenticate before using the app Scenario : Success Login Given I have one user " shingara " with password " tintinpouet " When I go to / login And I fill in " login " with " shingara " And I fill in " password " with " tintinpouet " And I press " Log In " Then the request should be success And I should see an notice message And I should not see " Administration "
  • 12. Cucumber, le texte qui teste Cucumber c’est quoi ? Context Action R´sultat e
  • 13. Cucumber, le texte qui teste Cucumber c’est quoi ? Given == Context Given step Given / ˆ I h a v e one u s e r ” ( [ ˆ ” ] ∗ ) ” w i t h p a s s w o r d ” ( [ ˆ ” ] ∗ ) ” $ / do | login , password | # CODE q u i c r e e l ’ u t i l i s a t e u r end Given / ˆ I h a v e a l o g g e d u s e r ” ( [ ˆ ” ] ∗ ) ” w i t h p a s s w o r d ” ( [ ˆ ” ] ∗ ) ” $ / do | login , password | %{Given I have one user ”#{l o g i n }” with password ”#{p a s s w o r d }”} # CODE q u i r e m p l i l e f o r m u l a i r e e t l e v a l i d e end
  • 14. Cucumber, le texte qui teste Cucumber c’est quoi ? When == Action When step When / ˆ I f o l l o w ” ( . ∗ ) ” $ / do | link | @response = click_link ( link ) end When / ˆ I f i l l i n ” ( . ∗ ) ” w i t h ” ( . ∗ ) ” $ / do | field , value | @response = fill_in ( field , : with = value ) > end
  • 15. Cucumber, le texte qui teste Cucumber c’est quoi ? Then == R´sultat e Then step Then / ˆ I s h o u l d n o t s e e ” ( [ ˆ ” ] ∗ ) ” $ / do | text | webr at_session . response . body . to_s . should_not =˜ /#{t e x t }/ m end Then / ˆ I s h o u l d s e e an ? (w+) m e s s a g e $ / do | message_type | webr at_session . response . should have_xpath ( ” / / ∗ [ @ c l a s s =’#{ m e s s a g e t y p e } ’ ] ” ) end
  • 16. Cucumber, le texte qui teste installation 1 Les tests 2 Cucumber c’est quoi ? 3 installation 4 utilisation
  • 17. Cucumber, le texte qui teste installation installation gem install rspec rspec-rails cucumber webrat ruby script/generate cucumber
  • 18. Cucumber, le texte qui teste installation features/ login.feature step definitions/ login steps.rb
  • 19. Cucumber, le texte qui teste utilisation 1 Les tests 2 Cucumber c’est quoi ? 3 installation 4 utilisation
  • 20. Cucumber, le texte qui teste utilisation
  • 21. Cucumber, le texte qui teste utilisation
  • 22. Cucumber, le texte qui teste utilisation questions ?