Le Behavior Driven Developpement (BDD) fait partie des bonnes pratiques de développement. Il consiste à écrire le comportement attendu de l’application pour ensuite le transformer en tests et enfin développer la fonctionnalité en suivant ces tests. Ces comportements sont écrits en Gherkin par le Product Owner (PO) en collaboration avec les développeurs. La problématique est l’écriture et le stockage de ces Gherkin. Le Product Owner ne va pas aller dans un IDE pour les écrire. C’est là qu’intervient le plugin QuaBDD de Kanboard. Il va vous guider dans l’écriture des tests en utilisant la syntaxe Gherkin. Et va aussi vous permettre de stocker les Gherkin directement dans un tableau Kanban.
Installation
Depuis l’interface :
Comme QuaBDD fait partie de la liste officielle des plugins de Kanboard, il est possible de l’installer en ‘remote install’. C’est-à-dire que qu’il est possible de l’installer directement depuis le panneau de configuration de Kanboard.

Depuis le serveur :
Si l’installation à distance n’est pas activée sur votre Kanboard alors vous avez deux solutions :
git clone git@gitlab.com:quamob/QuaBDD.git
- Télécharger le zip du plugin dans l’onglet ‘release’ du dépôt git et l’extraire dans le dossier plugin.
Syntaxe Gherkin
La syntaxe Gherkin permet de décrire le comportement voulu d’une application en français dans un fichier .feature. Cela permet à des personnes qui ne savent pas forcément coder de lire et d’écrire ces tests. Il faut toutefois respecter un format.
Un fichier .feature correspond à une fonctionnalité. Cette fonctionnalité aura un titre et une description qui seront écrit sous ce format :
Feature: Titre de la fonctionnalité
Description de la fonctionnalité
Ensuite chaque comportement que l’on va décrire s’appelle des scénarii. Chaque scénario devra être écrit en trois parties ‘Given’, ‘When’ et ‘Then’. Dans ‘Given’, il faudra décrire le contexte initial du scénario. Pour ‘When’, il faudra décrire un évènement, une action. Cela peut être une personne qui interagit avec le système, ou un événement déclenché par un autre système. Enfin pour ‘Then’, il faudra écrire le résultat attendu après l’événement.
Au final, le fichier .feature sera de la forme ci-dessous :
Feature: Effectuer une recherche dans le catalogue
En tant que client
Je veux afficher le catalogue du site en fonction des filtres que je choisis
Scenario: Fait une recherche avec une catégorie comme filtre
Given J'ai le catalogue rempli d'article sur le site internet
And J'ai un filtre sur une catégorie d'article
When Quand je lance ma recherche
Then Je dois avoir d'affiché seulement les articles de la catégorie
Scenario: Fait une recherche avec aucun filtre
Given J'ai le catalogue rempli d'article sur le site internet
And Je n'ai aucun filtre
When Quand je lance ma recherche
Then Je dois avoir tous les articles du site d'affiché
Ajouter un Gherkin
Avec QuaBDD installé, un nouveau bouton « Ajouter un test Gherkin » apparaît à deux endroits. Un se situe dans la liste déroulante des options d’une tâche et un autre se trouve dans les détails d’une tâche. Appuyer sur ce bouton va ouvrir une fenêtre de création de tests Gherkin.

Le titre correspond au titre du scénario Gherkin. Vous pouvez ensuite choisir dans la liste déroulante quelle partie (Given, When, Then) vous voulez remplir. En appuyant sur le bouton Ajouter, vous aurez votre ligne qui sera ajoutée dans l’affichage de droite. Dans cette partie, vous pourrez supprimer les lignes que vous souhaitez en appuyant sur la croix noire. Enfin un exemple est disponible en appuyant sur ‘Exemple’ et la case ‘Créer un autre Gherkin’ vous permet de garder la fenêtre ouverte après la création du Gherkin pour pouvoir en créer rapidement un autre.
Afficher les Gherkin
Une nouvelle partie nommée ‘Gherkin’ est disponible dans les détails de la tâche. Dans cette partie, vous allez avoir la liste de tous les Gherkin affectés à cette tâche. Si vous avez les droits de modification sur le projet vous allez avoir accès à deux boutons, un bouton de modification et un bouton de suppression.

Nouveau tag sur vos tâches
QuaBDD ajoute un nouveau tag sur vos tâches. Si une tâche possède au moins un test Gherkin, alors un tag apparaîtra sur celle-ci avec le nombre de Gherkin qu’elle possède. Si vous appuyez dessus, vous aurez accès au même affichage des tests Gherkin que dans les détails de la tâche.

Exporter les Gherkin
Une fois que vous avez écrit tous les Gherkin dont vous avez besoin pour votre fonctionnalité, vous avez la possibilité de les copier. Pour cela, il suffit d’appuyer sur le bouton ‘Afficher tous les tests Gherkin’. Cela fera apparaître une fenêtre avec toutes les informations dont vous avez besoin pour votre fichier .feature.

A partir de cette fenêtre vous pouvez donc télécharger le fichier .feature correspondant en appuyant sur ‘Exporter le fichier .feature’. Ensuite, vous avez le choix entre différents langages de programmation (Python, Java, JS, Ruby) et de framework pour exporter votre fichier .step. Après sélection, vous pourrez le télécharger en appuyant sur le bouton ‘Exporter le fichier .step’.
Il est possible de créer directement ces fichiers .feature et .step dans votre branche de développement Git en utilisant le plugin QuaCICD. Vous retrouverez plus d’informations sur l’article correspondant à ce plugin.
Vidéos
Le plugin est accompagné de trois vidéos :
- Une vidéo de présentation
- Une vidéo sur l’utilisation du plugin
- Une vidéo d’explication du code source