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

PDF
Owf2013 developper-projet-fonctionnellement-riches
PDF
Sante
PPTX
Louvre2
PPTX
Lyon ville lumière
PDF
052412 French
PDF
French thank you to republic of ecuador (asylum of julian assange)
ODT
Jodete noé x d
PDF
Créons des produits exceptionnels ! animé par Yannick Grenzinger
Owf2013 developper-projet-fonctionnellement-riches
Sante
Louvre2
Lyon ville lumière
052412 French
French thank you to republic of ecuador (asylum of julian assange)
Jodete noé x d
Créons des produits exceptionnels ! animé par Yannick Grenzinger

En vedette (20)

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

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

PPTX
Présentation BDD
PDF
Les tests behat par la pratique
PPT
Symphonie pour PHP industrialisé en agilité majeure
PPT
Symphonie pour PHP industrialisé en agilité majeure
PDF
Pizza party 30-09-2011 bdd-cucumber
PDF
BDD (Behavior Driven Development) - Une voie vers l'agilité
PDF
Dossier de competences fc beezen
PDF
On test quoi - DCLannion 2017
Présentation BDD
Les tests behat par la pratique
Symphonie pour PHP industrialisé en agilité majeure
Symphonie pour PHP industrialisé en agilité majeure
Pizza party 30-09-2011 bdd-cucumber
BDD (Behavior Driven Development) - Une voie vers l'agilité
Dossier de competences fc beezen
On test quoi - DCLannion 2017
Publicité

Dernier (9)

PDF
Frais et décompte dans SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Démystification des QR codes - histoire - utilisations - techniques
PDF
IPTV Meilleur - Le Meilleur Abonnement IPTV en France pour 2025
PDF
Analyse technique approfondie pour la gestion des transports dans SAP S/4HANA...
PDF
Architecture logicielle et Modeles de Conception
PPTX
Projet de Fin d’Études – Plateforme FMS pour la Gestion des FCPR
PDF
COURS GCDs Chap 9.pdf tous les éléments.
PPTX
test pour la présentation foire de Chalôns V1
PPT
Pratiques des systèmes d'information ppt
Frais et décompte dans SAP S/4HANA Transportation Management, S4TM3 Col26
Démystification des QR codes - histoire - utilisations - techniques
IPTV Meilleur - Le Meilleur Abonnement IPTV en France pour 2025
Analyse technique approfondie pour la gestion des transports dans SAP S/4HANA...
Architecture logicielle et Modeles de Conception
Projet de Fin d’Études – Plateforme FMS pour la Gestion des FCPR
COURS GCDs Chap 9.pdf tous les éléments.
test pour la présentation foire de Chalôns V1
Pratiques des systèmes d'information ppt

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