Les équipes disposent de nombreuses options lorsqu’il s’agit de savoir comment écrire et tester des logiciels. Comment déterminer la syntaxe à utiliser et la solution de test qui vous convient ? Dans ce post, nous allons explorer l’utilisation de Gherkin et des tests Gherkin. Nous couvrirons la syntaxe, la façon d’écrire un test, et aborderons les avantages et les inconvénients.
Ces options peuvent être un bon choix dans les bonnes circonstances, mais il y a certaines considérations à garder à l’esprit avant de vous lancer, surtout lorsque vous tenez également compte du processus d’automatisation des tests.
Avant de discuter de ce qu’est Gherkin et de la façon d’écrire des tests Gherkin, il y a quelques choses que nous devons couvrir d’abord. Il est important de comprendre le rôle que joue le développement guidé par le comportement (BDD) et comment cette pratique, Cucumber et Gherkin fonctionnent tous ensemble.
Qu’est-ce que le BDD ?
Le développement guidé par le comportement (BDD) est une méthode de développement qui encourage la communication entre les équipes. Cette approche collaborative rapproche les aspects commerciaux et techniques des projets. Cette méthode permet aux équipes de mieux communiquer sur les exigences, de détecter les problèmes très tôt et de maintenir les logiciels au fil du temps avec facilité.
Les équipes qui utilisent le BBD ont deux objectifs. Le premier est de s’assurer que les exigences peuvent être comprises par l’ensemble de l’équipe. Ensuite, les équipes peuvent se concentrer sur la prévention des problèmes éventuels, plutôt que d’éteindre les feux s’ils sont découverts plus tard. Souvent, cela signifie que moins de retravail est nécessaire.
Simplement, nous pouvons décrire ce développement en deux phases. La découverte et les tests.
D’abord, les équipes découvrent ce qu’elles ne savent pas AVANT de commencer à travailler. Ensuite, elles comprennent mieux comment rester sur la bonne voie et être plus productives.
Lorsqu’il s’agit de tests, le processus de réflexion sur ces tests commence avant même le début du développement. Les tests sont écrits pour piloter la mise en œuvre et le produit final.
Qu’est-ce que Cucumber ?
Cucumber est un outil de test logiciel open-source qui prend en charge le BBD. (Développement guidé par le comportement). Il fonctionne avec Gherkin parce que la syntaxe Gherkin structure le texte brut de manière à ce qu’il puisse être lu par l’outil.
Cucumber lit les tests Gherkin et valide que le code fonctionne comme il le devrait. Il le fait en travaillant à travers des scénarios et des étapes Gherkin. (Plus d’informations à ce sujet ci-dessous). Cucumber créera ensuite un rapport montrant de chaque étape et scénario a réussi ou s’il a échoué.
Qu’est-ce que Gherkin?
Gherkin est un langage que les développeurs utilisent pour définir les tests dans Cucumber. Comme ce langage utilise un anglais simple, il est destiné à décrire les cas d’utilisation d’un système logiciel d’une manière qui peut être lue et comprise par presque tout le monde.
Cette syntaxe favorise le développement guidé par le comportement car elle permet aux développeurs, aux gestionnaires, aux analystes d’affaires et aux autres parties concernées de comprendre les exigences du projet et du cycle de vie.
Le langage permet de créer facilement une documentation simple du code en cours d’écriture. Gherkin fournit également des scripts pour l’automatisation des tests et prend en charge des dizaines de langages.
whitepaper
Développement piloté par le comportement. Qui a besoin de Gherkin ?
Comment écrire des tests Gherkin
Pour écrire des tests Gherkin, vous devez d’abord comprendre certains des mots-clés utilisés, et ce qu’ils font en pratique. Voici une liste des mots-clés les plus courants dans la syntaxe Gherkin.
- Feature
- Règle
- Exemple
- Donné, Quand, Alors, Et, Mais
- Fondamental
- Scénario Outline
Chaque mot-clé est essentiel au processus d’écriture d’un excellent test Gherkin. Maintenant, regardons de plus près ces mots-clés et comment les utiliser pour écrire des tests Gherkin.
Feature
Les documents Gherkin commencent par ce mot-clé, suivi d’un texte qui fournit une description. Plus simplement, la fonctionnalité est une description de ce que le logiciel est censé faire. Ce mot-clé est également utilisé pour regrouper des scénarios.
Ce n’est pas vraiment à des fins de test, mais cela vous permet d’ajouter de la documentation sur les exigences et les règles métier. La section de description se termine lorsque vous commencez une nouvelle ligne avec l’un des autres mots clés tels que schéma de scénario, exemple ou règle.
Descriptions
Si nécessaire, des descriptions en forme libre peuvent également être écrites sous les mots clés mentionnés ci-dessus, tant qu’aucune de vos lignes ne commence par un mot clé.
Règle
Le mot clé règle est utilisé pour représenter une règle métier qui doit être incluse. Cela permet de fournir un contexte pour une fonctionnalité. Ces « règles » devraient avoir plus d’un scénario pour montrer la règle et peuvent avoir une section de fond. (Détaillé ci-dessous).
Les étapes de Gherkin
Puis, jetons un coup d’œil à certaines des étapes des tests Gherkin. Il s’agit de Given, When, Then, And, ou But.
Given
Les étapes Given plantent le décor du scénario. Dans la plupart des cas, ces étapes décrivent quelque chose qui a eu lieu dans le passé. Cela donne au système un contexte avant qu’un utilisateur ne commence à interagir avec lui. Pour cette raison, vous ne devez pas couvrir les interactions de l’utilisateur dans cette étape. Pensez à ce que vous incluez dans cette étape comme des conditions préalables.
Note : Vous pouvez avoir plus d’une étape Given.
When
Les étapes When sont des étapes d’action. Elles décrivent un événement. Par exemple, un événement déclenché par un autre système ou un utilisateur qui interagit avec lui. Il est recommandé de n’avoir qu’une seule étape when pour chaque scénario.
Then
Les étapes then sont des étapes de résultat. C’est là que vous décrivez ce que vous voulez que le système fasse afin de pouvoir le comparer à la façon dont le logiciel se comporte réellement dans la pratique. Cela devrait être quelque chose que vous pouvez réellement voir comme résultat, comme un message ou un rapport.
Et, Mais
Lorsque vous avez plusieurs d’un des types d’étapes énumérés ci-dessus, vous pouvez utiliser et ou mais. Cela permet de garder votre documentation organisée et lisible.
Background
Comme mentionné ci-dessus, le background vous permet d’ajouter encore plus de contexte aux scénarios d’une fonctionnalité. C’est ici que vous pouvez avoir plus d’une étape donnée, selon les besoins.
Note : Il ne peut y avoir qu’une seule étape d’arrière-plan pour chaque fonctionnalité. Si vous avez besoin de plus d’étapes d’arrière-plan, vous devrez créer différents fichiers de fonctionnalité.
Scénario Outline
L’outline du scénario contient une section d’exemples. Ces étapes se lisent comme un modèle. Le plan du scénario rune une fois pour chaque ligne de la section des exemples, à l’exception de la ligne d’en-tête.
Pour et contre l’utilisation de Gherkin
Maintenant que vous savez comment écrire un test Gherkin, vous vous demandez peut-être comment déterminer si c’est la bonne option pour votre équipe. La vérité est que l’utilisation de Gherkin et de Cucumber présente à la fois des avantages et des inconvénients. Examinons de plus près quelques-uns d’entre eux.
Gherkin est simple
À la base, Gherkin est facile à comprendre, tant pour les développeurs que pour les dirigeants d’entreprise. En un sens, il est » non technique « , ce qui facilite la collaboration entre les équipes.
Focus sur les exigences du projet
La syntaxe Gherkin et ce type de test ciblent vraiment les exigences du projet et de l’entreprise. Cela garantit un processus de développement construit avec l’expérience utilisateur en tête.
Réutilisation du code
La façon dont ces tests sont écrits facilite la réutilisation de parties du code d’autres tests. Cela peut s’additionner et permettre d’économiser du temps, de l’argent et des ressources.
Pas pour tous les projets
Gherkin + Cucumber n’est pas idéal pour tous les types de projets. Les projets courts qui nécessiteront beaucoup de tests peuvent être retardés en utilisant cette méthode. Bien que le BBD ait son temps et sa place, cette façon de penser et la mise en œuvre de ces tests peuvent ralentir les projets.
Il nécessite beaucoup d’engagement
Cela pourrait être un avantage ou un inconvénient, selon la méthodologie de développement de votre équipe. Comme mentionné précédemment, Gherkin et Cucumber vont de pair avec le développement axé sur le comportement. Cela signifie que cela nécessite que votre équipe travaille constamment en collaboration, ce qui n’est pas toujours adapté à votre projet.
Dépenses potentielles
Bien que ces tests puissent être plus faciles à écrire, un test mal écrit peut entraîner beaucoup de temps supplémentaire et d’argent gaspillé si les tests doivent être réécrits. À moins que les développeurs ne comprennent très bien Gherkin et Cucumber, ce type de test peut représenter un énorme risque financier
L’avenir de Gherkin
Ici, chez Functionize, nous pensons que s’éloigner de Gherkin est l’avenir et apportera de meilleurs avantages. Gherkin est une façon pour les gens d’écrire des plans de test, mais ce n’est pas là que le processus s’arrête. Les développeurs doivent encore rédiger des scripts de test. Ce processus peut faire perdre beaucoup de temps que les développeurs pourraient passer ailleurs.
Gherkin est une bonne première étape pour intégrer les personnes non techniques dans les tests d’automatisation. Mais nos clients se tournent vers notre ALP parce que nous » supprimons l’intermédiaire » que constitue la nécessité de scripter Selenium et que nous facilitons la création de tests.
Wrapping Up
Gherkin et Cucumber peuvent être un bon choix lorsque vous avez besoin que tous les membres de l’équipe soient au courant sans creuser les aspects techniques. Cependant, en aval, cette combinaison peut rendre l’automatisation des tests plus compliquée qu’elle ne doit l’être.
Le choix vous appartient, mais avant de choisir une syntaxe et une solution, considérez attentivement les avantages et les inconvénients. Le plus important est que vous et votre équipe obteniez les bons outils pour vos projets de développement.
Cependant, notre point de vue est que Gherkin est tout simplement trop inflexible et difficile à apprendre. Notre solution est notre moteur de traitement linguistique adaptatif (ALP™), récemment publié. Celui-ci vous permet d’écrire des tests comme une série d’étapes en anglais simple.
Ce blog a exploré ce qu’est un test Gherkin, comment écrire des tests Gherkin et les avantages et inconvénients de l’utilisation de cette syntaxe. Nous espérons que cela vous a donné un aperçu du meilleur langage et des meilleures options de test pour votre prochain projet.
Les tests Gherkin sont des outils de gestion de la qualité.