Projets Agiles : Comment utiliser la méthode BDD ?

Dans cet article vous decouvrirez la méthode et les principes du BDD dans les projets agiles.

Sommaire : 

  1. BDD ?
  2. Le Principe
  3. L’automatisation
  4. Les outils

1. C’est quoi BDD ?

Le Behavior-Driven Development, ou BDD, est une méthode de développement logicielle dérivée du Test-Driven Development – TDD. Elle incite à la collaboration des différentes parties prenantes au projet logicielle, équipes de développement, qualification et management en instaurant que le comportement d’une fonctionnalité sera décrit par des phrases basées sur un canevas composé de mots clés du langage courant.
La communication est ainsi facilitée entre les équipes et évite des incompréhensions inhérentes à des parties d’environnements différents.

L’accent est mis sur les processus métiers auxquels le logiciel devra apporter des solutions.

2. Le Principe du BDD dans un projet agile

Le BDD spécifie que les tests de tout composant de logiciel doivent être spécifiés en fonction du comportement souhaité du composant. Le « comportement désiré » consistant ici en les exigences fixées par l’entreprise – c’est-à-dire le comportement désiré qui a une valeur commerciale pour n’importe quelle entité ayant commandé la fonctionnalité logicielle en développement.

La structuration en scénario permet de formaliser l’expression des besoins avec un langage commun et facilement interprétable.

Les scénarios se présentent sous cette forme standardisée :

Titre
Qui
Quoi
Pourquoi

Scénario 1 :
Etant donné (Given)
Lorsque (When)
Alors (Then)

Scénario 2 :

Pour un cas un peu plus concret cela donnerait par exemple dans le cas d’un distributeur de billet :

+Scenario 1: Account is in credit+
Given the account is in credit
And the card is valid
And the dispenser contains cash
When the customer requests cash
Then ensure the account is debited
And ensure cash is dispensed
And ensure the card is returned

Consultez notre dernier webinar sur les spécifications BDD.

3. L’automatisation dans l’Agilité

Le BDD définissant un canevas pour la description des fonctionnalités il est aisé de créer des tests automatisé pour les scénarios. Le langage Gherkin , « Given – When – Then » utilisé dans l’exemple précédent, permet via des frameworks disponibles en de nombreuses langues, de traduire aisément les scénarios en test.
Ces scénarios étant établis dès le début du cycle de développement les équipes de qualifications peuvent très tôt préparer les tests pour les confirmer, et les automatiser. Dans un cycle d’intégration continu les tests sont alors prêts pour exécution quand les développeurs ont traité la fonctionnalité. Leur automatisation permettant également de les intégrer facilement dans des cycles de test de non-régression.

4. Les outils BDD/Agile

Des outils comme Cucumber (open source) ou Hiptest (éditeur Français, utilisé par ALL4TEST sur certain projets en France) permettent de mettre en œuvre cette approche BDD / Agile.