SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
Communiquer en
informatique
Le développement piloté par le comportement avec Behat
2
En face de vous
●
Jean-François Lépine
●
Consultant PHP chez Alter Way
●
Secrétaire de l'AFUP (association française des utilisateur de PHP)
●
@Halleck45
●
http://blog.lepine.pro
●
http://industrialisation-php.com
3
Jeu concours : qui a déjà entendu ...
“Techniquement et fonctionnellement, c'est
super ! En plus on est largement dans les
temps”
“Génial ! C'est exactement ce à quoi je
pensais, il n'y a rien à reprendre”
“Ah oui, je me souviens bien : c'est en page 8
de l'annexe 2 des spécifications
fonctionnelles détaillées”
4
Il était une fois...
●
“J'ai besoin d'une voiture pour des petits trajets, aller au
travail et transporter ma famille”
Le client n'a pas eu ce qu'il voulait Et en plus il a perdu de l'argent
5
La vision du Produit
●
Est fournie par le Product Owner
●
Sert une philosophie
●
(souvent mercantile)
●
Est le Guide suprême du Projet
6
La Vision GMail
Vision
Permettre à chacun de communiquer et s'exprimer
Produit
●
webmail
●
Babel
●
Hangouts
●
app. android
●
like
●
...
●
Google+
●
gTalk
●
api
7
Une langue commune
●
Eviter les ambiguïtés
●
Est élaborée en commun
●
Est parlée par tous
●
Glossaire du projet
“Ubiquitous Language”
8
La fonctionnalité
●
Est unique
●
Se distingue des autres fonctionnalités
●
Peut appartenir à un lot fonctionnel
●
Est fournie par le Product Owner
●
Est exprimable
9
La fonctionnalité
Un titre explicite :
Un acteur :
Une interaction :
Un bénéfice fonctionnel :
Fonctionnalité: Titre clair et simple
En tant que rôle de l'utilisateur
Je peux réaliser quelque chose
Afin de obtenir un super bénéfice
10
La fonctionnalité
Fonctionnalité: acheter un chiot
  En tant que client du magasin
  Je peux acheter un chiot
  Afin de avoir un compagnon  
  tout mignon (ou pas ^^)
11
Le scénario
●
Doit être établi en commun
●
Doit (vraiment) être établi en commun
●
Représente les différents comportements possibles de
l'utilisateur avec le Produit
●
Se distingue clairement et facilement
12
Le scénario
Un titre:
●
Un contexte
Un déclencheur :
Un résultat attendu :
Étant donné que un contexte initial
Quand je fais quelque chose
Alors j'obtiens un résultat
Scénario: titre clair et explicite
13
Le scénario
Fonctionnalité: acheter un chiot
  (…)
  Scénario: acheter un chiot trop jeune
  
    Etant donné qu'un chiot est trop jeune pour être vendu
    Quand j'essaye de l'acheter
    Alors je suis informé que c'est impossible
14
ATDD is not BDD !
●
On devait communiquer, pas fournir des critères
d'acceptation
Fonctionnalité: acheter un chiot
  (…)
  Scénario: acheter un chiot trop jeune
  
    Etant donné que Médor a 2 mois
      Et qu'un chiot ne peut être vendu avant qu'il 
      n'ait 5 mois
    Quand j'essaye d'acheter Médor
    Alors je suis informé que «Médor est encore trop 
      jeune pour être vendu»
15
Des assistants visuels
Bonus
Automatisez !
17
Le test applicatif
Contrat Qui Avec
Code source / Information fonction PHPUnit, atoum
Objets / objets classes, paquets Interfaces, PHPSpec
Utilisateur / UI Interface graphique Selenium
Utilisateur / Produit Produit délivré Behat
18
Behat
●
Outil PHP
●
Réalisé par @everzet
●
Portage de Cucumber
●
Génial !
Permet d'automatiser la recette fonctionnelle
19
Installation
●
Très simple :
$ vim composer.json
­­­­
{
     "require": {
         "behat/behat": "2.4.*@stable"
     },
     "config": {
         "bin­dir": "bin/"
     }
}
­­­­
$ curl http://getcomposer.org/installer | php
$ php composer.phar install ­­prefer­source
20
Utilisation
●
Encore plus simple :
●
Il suffit de créer le fichier
features/acheter-un-chiot.feature :
$ ./vendor/bin/behat
Fonctionnalité: acheter un chiot
  (…)
  Scénario: acheter un chiot trop jeune
  
    (…)
21
Utilisation
●
À vous de traduire, en PHP, chaque étape :
22
Traduction
●
Fichiers PHP de ”Contexte”
L'expression régulière fait le lien
entre l'expression et le code PHP
23
Succès !
●
Tout s'est bien passé
24
Dans la vraie vie
●
On peut exécuter des tests dans un vrai navigateur
●
Chrome, Firefox...
●
Goutte, Sahi, Selenium...
●
Grâce à l'extension Mink
 {
     "require": {
             (...)
             "behat/mink": "1.4@stable"
     }
}
25
Retours d'expérience
●
Behat est très riche (extensions, communautés...)
●
Behat n'est qu'un outil
●
Il est facile de partir dans la mauvaise direction :
●
Il faut un Product Owner
●
Behat ne se substitue pas aux tests unitaires
26
Retours d'expérience
●
Relativement rapide à maîtriser
●
temps d'investissement moyen
●
nécessite un peu de motivation
●
Extrêmement bénéfique pour la communication de
l'équipe
●
Très bénéfique pour les recettes
●
Change la vie !
27
Questions
●
@Halleck45
●
http://blog.lepine.pro (série de billets sur Behat)
●
http://behat.org

Contenu connexe

En vedette

Open Access
Open AccessOpen Access
Open AccessTerheck
 
Lmd conference mian
Lmd conference mianLmd conference mian
Lmd conference mianAntoine MIAN
 
Présentation SIFE cycle de visite 1 (2012)
Présentation SIFE cycle de visite 1 (2012)Présentation SIFE cycle de visite 1 (2012)
Présentation SIFE cycle de visite 1 (2012)kaoutara007
 
Média humain 301111_pelham
Média humain 301111_pelhamMédia humain 301111_pelham
Média humain 301111_pelhamPelhammedia
 
060812 EEOC Response (FRENCH)
060812   EEOC Response (FRENCH)060812   EEOC Response (FRENCH)
060812 EEOC Response (FRENCH)VogelDenise
 
122809 fbi complaint (ohio supreme court)
122809   fbi complaint (ohio supreme court)122809   fbi complaint (ohio supreme court)
122809 fbi complaint (ohio supreme court)VogelDenise
 
Compu Traing
Compu TraingCompu Traing
Compu TraingRrrr10
 
Etat des lieux des TIC au Togo
Etat des lieux des TIC au TogoEtat des lieux des TIC au Togo
Etat des lieux des TIC au Togoadogba
 
Utr. plans proposed for the future vf
Utr. plans proposed for the future vfUtr. plans proposed for the future vf
Utr. plans proposed for the future vfIAU_Past_Conferences
 
Le rapport de la BNB
Le rapport de la BNBLe rapport de la BNB
Le rapport de la BNBlesoirbe
 
Ht lemagicienbet
Ht lemagicienbetHt lemagicienbet
Ht lemagicienbetkelticman
 
Présentation de Marthon & de la Tour Saint Jean
Présentation de Marthon & de la Tour Saint JeanPrésentation de Marthon & de la Tour Saint Jean
Présentation de Marthon & de la Tour Saint JeanTour Saint Jean
 
Solutions hebergement en Chine - Shanghai & Beijing
Solutions hebergement en Chine - Shanghai & BeijingSolutions hebergement en Chine - Shanghai & Beijing
Solutions hebergement en Chine - Shanghai & BeijingIZIASIA
 
îLes féroé
îLes féroéîLes féroé
îLes féroélleall
 

En vedette (20)

Dizappearapp.com
Dizappearapp.comDizappearapp.com
Dizappearapp.com
 
Open Access
Open AccessOpen Access
Open Access
 
Intervention La Bigotie - Festival Icare2011
Intervention La Bigotie - Festival Icare2011Intervention La Bigotie - Festival Icare2011
Intervention La Bigotie - Festival Icare2011
 
Lmd conference mian
Lmd conference mianLmd conference mian
Lmd conference mian
 
Présentation SIFE cycle de visite 1 (2012)
Présentation SIFE cycle de visite 1 (2012)Présentation SIFE cycle de visite 1 (2012)
Présentation SIFE cycle de visite 1 (2012)
 
Média humain 301111_pelham
Média humain 301111_pelhamMédia humain 301111_pelham
Média humain 301111_pelham
 
060812 EEOC Response (FRENCH)
060812   EEOC Response (FRENCH)060812   EEOC Response (FRENCH)
060812 EEOC Response (FRENCH)
 
Loft à Paris , 4 chambres, 1540000 euros
Loft à Paris , 4 chambres, 1540000 eurosLoft à Paris , 4 chambres, 1540000 euros
Loft à Paris , 4 chambres, 1540000 euros
 
122809 fbi complaint (ohio supreme court)
122809   fbi complaint (ohio supreme court)122809   fbi complaint (ohio supreme court)
122809 fbi complaint (ohio supreme court)
 
Leaverules
LeaverulesLeaverules
Leaverules
 
Compu Traing
Compu TraingCompu Traing
Compu Traing
 
Etat des lieux des TIC au Togo
Etat des lieux des TIC au TogoEtat des lieux des TIC au Togo
Etat des lieux des TIC au Togo
 
Utr. plans proposed for the future vf
Utr. plans proposed for the future vfUtr. plans proposed for the future vf
Utr. plans proposed for the future vf
 
Le rapport de la BNB
Le rapport de la BNBLe rapport de la BNB
Le rapport de la BNB
 
Bon usage
Bon usageBon usage
Bon usage
 
Ht lemagicienbet
Ht lemagicienbetHt lemagicienbet
Ht lemagicienbet
 
Présentation de Marthon & de la Tour Saint Jean
Présentation de Marthon & de la Tour Saint JeanPrésentation de Marthon & de la Tour Saint Jean
Présentation de Marthon & de la Tour Saint Jean
 
Intervention Guides Viatao - Festival Icare2011
Intervention Guides Viatao - Festival Icare2011Intervention Guides Viatao - Festival Icare2011
Intervention Guides Viatao - Festival Icare2011
 
Solutions hebergement en Chine - Shanghai & Beijing
Solutions hebergement en Chine - Shanghai & BeijingSolutions hebergement en Chine - Shanghai & Beijing
Solutions hebergement en Chine - Shanghai & Beijing
 
îLes féroé
îLes féroéîLes féroé
îLes féroé
 

Similaire à Introduction au développement piloté par le comportement avec Behat

7 principes clés pour prendre de bonnes décisions.pdf
7 principes clés pour prendre de bonnes décisions.pdf7 principes clés pour prendre de bonnes décisions.pdf
7 principes clés pour prendre de bonnes décisions.pdfVictorBillettedeVill1
 
JHipster from trenches - DevoXX 2017
JHipster from trenches - DevoXX 2017JHipster from trenches - DevoXX 2017
JHipster from trenches - DevoXX 2017Geoffray Gruel
 
Meet up : PO de M**** ! School of PO de beNext
Meet up : PO de M**** ! School of PO de beNextMeet up : PO de M**** ! School of PO de beNext
Meet up : PO de M**** ! School of PO de beNextAlexandre Quach
 
Lean Startup Day #LSD17 - Sauver la princesse avec un Design Sprint
Lean Startup Day #LSD17 - Sauver la princesse avec un Design SprintLean Startup Day #LSD17 - Sauver la princesse avec un Design Sprint
Lean Startup Day #LSD17 - Sauver la princesse avec un Design SprintBenjamin Richy
 
Travailler moins pour linker plus
Travailler moins pour linker plusTravailler moins pour linker plus
Travailler moins pour linker plusJulien Gadanho
 
jeu gestion projet
jeu gestion projet jeu gestion projet
jeu gestion projet CIPE
 
Les besoins en compétences du secteur numérique
Les besoins en compétences du secteur numériqueLes besoins en compétences du secteur numérique
Les besoins en compétences du secteur numériqueAgence du Numérique (AdN)
 
Webinar 1/4 pourquoi ça marche chez certains et pas chez moi (dwave.fr)
Webinar 1/4 pourquoi ça marche chez certains et pas chez moi   (dwave.fr)Webinar 1/4 pourquoi ça marche chez certains et pas chez moi   (dwave.fr)
Webinar 1/4 pourquoi ça marche chez certains et pas chez moi (dwave.fr)Neocamino
 
Sauver la princesse avec un design sprint MIX-iT17
Sauver la princesse avec un design sprint   MIX-iT17Sauver la princesse avec un design sprint   MIX-iT17
Sauver la princesse avec un design sprint MIX-iT17Benjamin Richy
 
Prospecter via e-mail : stratégie, bonnes pratiques, outils et automatisations
Prospecter via e-mail : stratégie, bonnes pratiques, outils et automatisationsProspecter via e-mail : stratégie, bonnes pratiques, outils et automatisations
Prospecter via e-mail : stratégie, bonnes pratiques, outils et automatisationsJulien Dereumaux
 
Trame webinar problématique client 1/2
Trame webinar problématique client 1/2Trame webinar problématique client 1/2
Trame webinar problématique client 1/2Neocamino
 
Pierre Kladny : Est-ce qu'un business plan sert à quelque chose?
Pierre Kladny : Est-ce qu'un business plan sert à quelque chose?Pierre Kladny : Est-ce qu'un business plan sert à quelque chose?
Pierre Kladny : Est-ce qu'un business plan sert à quelque chose?lereseau
 
Prospecter via e-mail : stratégie,bonnes pratiques, outils et automatisations
Prospecter via e-mail : stratégie,bonnes pratiques, outils et automatisationsProspecter via e-mail : stratégie,bonnes pratiques, outils et automatisations
Prospecter via e-mail : stratégie,bonnes pratiques, outils et automatisationsJulien Dereumaux
 
Conférence Ecommerce 2013
Conférence Ecommerce 2013 Conférence Ecommerce 2013
Conférence Ecommerce 2013 Cédric Fontaine
 
Gestion de projet #3 : besoin client
Gestion de projet #3 : besoin clientGestion de projet #3 : besoin client
Gestion de projet #3 : besoin clientJean Michel
 
Présentation aux investisseurs Exo B2B, Chambre de Commerce du Montréal Métr...
Présentation aux investisseurs Exo B2B, Chambre de Commerce du Montréal Métr...Présentation aux investisseurs Exo B2B, Chambre de Commerce du Montréal Métr...
Présentation aux investisseurs Exo B2B, Chambre de Commerce du Montréal Métr...Exo -B2B
 
PM_NewHeroes_2019 business agility day eng 16-9_light
PM_NewHeroes_2019 business agility day eng 16-9_lightPM_NewHeroes_2019 business agility day eng 16-9_light
PM_NewHeroes_2019 business agility day eng 16-9_lightAnge BRIZON
 

Similaire à Introduction au développement piloté par le comportement avec Behat (20)

7 principes clés pour prendre de bonnes décisions.pdf
7 principes clés pour prendre de bonnes décisions.pdf7 principes clés pour prendre de bonnes décisions.pdf
7 principes clés pour prendre de bonnes décisions.pdf
 
JHipster from trenches - DevoXX 2017
JHipster from trenches - DevoXX 2017JHipster from trenches - DevoXX 2017
JHipster from trenches - DevoXX 2017
 
Meet up : PO de M**** ! School of PO de beNext
Meet up : PO de M**** ! School of PO de beNextMeet up : PO de M**** ! School of PO de beNext
Meet up : PO de M**** ! School of PO de beNext
 
Lean Startup Day #LSD17 - Sauver la princesse avec un Design Sprint
Lean Startup Day #LSD17 - Sauver la princesse avec un Design SprintLean Startup Day #LSD17 - Sauver la princesse avec un Design Sprint
Lean Startup Day #LSD17 - Sauver la princesse avec un Design Sprint
 
Travailler moins pour linker plus
Travailler moins pour linker plusTravailler moins pour linker plus
Travailler moins pour linker plus
 
jeu gestion projet
jeu gestion projet jeu gestion projet
jeu gestion projet
 
Les besoins en compétences du secteur numérique
Les besoins en compétences du secteur numériqueLes besoins en compétences du secteur numérique
Les besoins en compétences du secteur numérique
 
Webinar 1/4 pourquoi ça marche chez certains et pas chez moi (dwave.fr)
Webinar 1/4 pourquoi ça marche chez certains et pas chez moi   (dwave.fr)Webinar 1/4 pourquoi ça marche chez certains et pas chez moi   (dwave.fr)
Webinar 1/4 pourquoi ça marche chez certains et pas chez moi (dwave.fr)
 
Sauver la princesse avec un design sprint MIX-iT17
Sauver la princesse avec un design sprint   MIX-iT17Sauver la princesse avec un design sprint   MIX-iT17
Sauver la princesse avec un design sprint MIX-iT17
 
Projet de cession d’un contrat d'appareil solaire
Projet de cession d’un contrat d'appareil solaire Projet de cession d’un contrat d'appareil solaire
Projet de cession d’un contrat d'appareil solaire
 
Prospecter via e-mail : stratégie, bonnes pratiques, outils et automatisations
Prospecter via e-mail : stratégie, bonnes pratiques, outils et automatisationsProspecter via e-mail : stratégie, bonnes pratiques, outils et automatisations
Prospecter via e-mail : stratégie, bonnes pratiques, outils et automatisations
 
Trame webinar problématique client 1/2
Trame webinar problématique client 1/2Trame webinar problématique client 1/2
Trame webinar problématique client 1/2
 
Pierre Kladny : Est-ce qu'un business plan sert à quelque chose?
Pierre Kladny : Est-ce qu'un business plan sert à quelque chose?Pierre Kladny : Est-ce qu'un business plan sert à quelque chose?
Pierre Kladny : Est-ce qu'un business plan sert à quelque chose?
 
Prospecter via e-mail : stratégie,bonnes pratiques, outils et automatisations
Prospecter via e-mail : stratégie,bonnes pratiques, outils et automatisationsProspecter via e-mail : stratégie,bonnes pratiques, outils et automatisations
Prospecter via e-mail : stratégie,bonnes pratiques, outils et automatisations
 
cession d’un contrat de representation
cession d’un contrat de representation cession d’un contrat de representation
cession d’un contrat de representation
 
Conférence Ecommerce 2013
Conférence Ecommerce 2013 Conférence Ecommerce 2013
Conférence Ecommerce 2013
 
Gestion de projet #3 : besoin client
Gestion de projet #3 : besoin clientGestion de projet #3 : besoin client
Gestion de projet #3 : besoin client
 
Présentation aux investisseurs Exo B2B, Chambre de Commerce du Montréal Métr...
Présentation aux investisseurs Exo B2B, Chambre de Commerce du Montréal Métr...Présentation aux investisseurs Exo B2B, Chambre de Commerce du Montréal Métr...
Présentation aux investisseurs Exo B2B, Chambre de Commerce du Montréal Métr...
 
PM_NewHeroes_2019 business agility day eng 16-9_light
PM_NewHeroes_2019 business agility day eng 16-9_lightPM_NewHeroes_2019 business agility day eng 16-9_light
PM_NewHeroes_2019 business agility day eng 16-9_light
 
Vision produit attracteur
Vision produit attracteurVision produit attracteur
Vision produit attracteur
 

Introduction au développement piloté par le comportement avec Behat