Sommaire : 

A. BDD ?

B. Le Principe

C. L’automatisation

D. Les outils

 

A. 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.

B. Le Principe

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

 

C. L’automatisation

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.

D . Les outils

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

 

By | 2018-02-02T16:10:25+00:00 février 2nd, 2018|Dossiers thématiques|