BDD


Behavior
Driven
Development



Nicolas Bonamy



Chef / Directeur de projet @ Capgemini

Développeur JavaScript, PHP, iOS, Android


Le BDD ?


Réponse de Dan North face aux difficultés
à mettre en oeuvre le TDD

Les tests sont écrits de façon déclarative
en langage "naturel"

Réconcilie le fonctionnel et la technique !


SHOULD

(DOIT)

LE BDD !


Effort conjoint des fonctionnels et des développeurs

Tests fonctionnels automatisables

Non-régression fonctionnelle

Pourquoi pas une recette client ?




            






BEHAT

|
MINK

|

DRIVER

(GOUTTE / SAHI / SELENIUM)

|

BROWSER

Les drivers


Headless (Goutte)

Requêtes HTTP au serveur

Pas de JavaScript


Browser Controller (Sahi, Selenium)

Interagissent avec un navigateur

JavaScript / AJAX

Plus lent...



Dans la vraie vie


On a rapidement besoin de recourir à
l'utilisation de sélecteurs CSS

Ca n'est pas utilisable par un fonctionnel !

Extension à développer afin de mettre en place
un dictionnaire de sélecteurs métier




Des extensions intéressantes

https://github.com/sanpii/behatch-contexts


Plus d'actions browser : "I wait until I see"

Capture d'écran automatique dès qu'un test est en échec

Tests JSON permettant de tester des services REST

BDD / PHP / Behat / Mink

By nbonamy

BDD / PHP / Behat / Mink

  • 1,839