Comme son nom l’indique, le Behavior Driven Development s’oriente vers le comportement que les logiciels doivent avoir. Grâce au langage ubiquitaire, qui signifie grossièrement « langage d’usage courant », les profanes peuvent également créer certaines descriptions de comportement. Le langage ubiquitaire est issu du Domain Driven Design (DDD), qui, comme le BDD, se concentre sur les domaines d’application. Les deux approches prennent en compte tous les domaines impliqués dans le processus de développement de logiciels et les relient entre eux indépendamment des frameworks, des langages de programmation ou des outils. Cela est rendu possible grâce à l’utilisation d’un langage unifié.
Cependant, le Behavior Driven Development n’est pas dépourvu d’outils ou de frameworks. En effet, pour que les cas de test que vous définissez soient traduits en code exécutable, quelques règles doivent être suivies. Par exemple, les descriptions dans le BDD ne sont pas rédigées en texte libre. En utilisant les outils BDD, tels que JBehave, Cucumber ou Behat, vous suivez une structure définie qui permet une implémentation fluide. L’utilisation de ces outils est beaucoup plus facile que l’apprentissage d’un langage de programmation classique. Découvrez les structures hiérarchiques que vous devez suivre dans le cadre du Behavior Driven Development :
- Commencez par une analyse des besoins afin de définir les tâches, les objectifs et les fonctionnalités du logiciel. Demandez-vous, ou demandez à votre client, ce que le logiciel doit faire.
- Une fois que vous avez identifié toutes les fonctionnalités, celles-ci sont décrites sous la forme de scénarios prédéfinis. Essayez de penser à toutes les situations possibles dans lesquelles le logiciel doit réagir avec une réponse précise.
- L’étape suivante consiste à définir les réponses attendues pour chaque scénario dans un schéma de vérification (« étant donné-quand-alors »). « Étant donné » décrit le logiciel avant le test, « quand », l’action pendant le test et « alors » l’état du logiciel après le test.
Selon l’outil BDD utilisé, le vocabulaire peut légèrement varier. Certains outils proposent des variantes à la formulation « étant donné ». Ces outils sont disponibles pour les langages de programmation les plus courants, tels que Java, JavaScript, Python ou Ruby.