bdd framework
Tutoriel BDD (Behavior Driven Development) Framework: Explorez les fonctionnalités et les avantages de BDD Framework avec des exemples de Cucumber Framework
Le framework BDD, c'est-à-dire le développement piloté par le comportement, est une approche de développement logiciel qui permet au testeur / analyste métier de créer des cas de test dans un langage textuel simple (anglais).
Le langage simple utilisé dans les scénarios aide même les membres non techniques de l'équipe à comprendre ce qui se passe dans le projet logiciel. Cela aide et améliore la communication entre les équipes techniques et non techniques, les gestionnaires et les parties prenantes.
Ce que vous apprendrez:
- Qu'est-ce que le développement axé sur le comportement BDD?
- Concombre - Un outil de cadre BDD
- Avantages de BDD Framework
- Conclusion
Qu'est-ce que le développement axé sur le comportement BDD?
BDD transpire du TDD ie Test Driven Development qui permet aux utilisateurs de travailler avec plusieurs données de test avec une intervention minimale dans le code logiciel et contribue ainsi à augmenter la réutilisabilité du code, ce qui est un mécanisme permettant de gagner du temps dans le développement logiciel / l'automatisation des tests .
En héritant de TDD, BDD possède également toutes ces fonctionnalités ainsi que ses avantages.
fausse adresse e-mail que je peux utiliser
- Les scénarios de test sont écrits séparément dans un fichier différent, nommé fichier de fonctionnalités.
- Les tests sont écrits en concentrant les user stories et le comportement du système dans un langage profane.
- Le code est sujet à être écrit différemment dans le fichier de définitions d'étape, c'est-à-dire Java, Python.
Lecture suggérée => Comment les testeurs sont-ils impliqués dans l'approche TBB / BDD
Pourquoi utiliser BDD Framework?
Avant le framework BDD, tout le monde utilisait TDD. TDD fonctionne très bien dans le développement de logiciels, à condition que les parties prenantes connaissent le cadre utilisé et que leurs connaissances techniques soient suffisantes. Cependant, cela peut ne pas toujours être le cas.
BDD fournit un chemin qui sert de pont pour surmonter le fossé entre les équipes techniques et non techniques, car les cas de test sont généralement rédigés en texte simple, c'est-à-dire en anglais. Le principal avantage de BDD est le jargon bas et une approche plus claire qui est plus facile à comprendre.
Comment mettre en œuvre l'approche BDD?
Les scénarios de test doivent être rédigés dans un langage simple avec une description détaillée du test, comment tester l'application et le comportement de l'application qui peut être compréhensible par tous.
Dans ce tutoriel, nous nous concentrerons sur Concombre - un outil logiciel pour BDD et apprendra à l'implémenter pratiquement en utilisant son langage à savoir Gherkin.
Concombre - Un outil de cadre BDD
Cucumber est un outil de framework BDD (Behavior Driven Development) pour écrire des cas de test.
Donné - Quand - Alors approche
- Donné: Un contexte donné (conditions préalables).
- Lorsque: Une action est effectuée (actions).
- Puis: Résultat / conséquence particulier après l'étape ci-dessus (Résultats).
Exemple de fichier d'entités
Feature : BDD implementation using Cucumber Scenario : Login to G-mail using Cucumber plugin Given User is navigating to G-mail Login Page When User need to enter username as 'Username' and password as 'Password' Then User is successfully navigated to the G-mail Mail Box
Exemple de fichier de définition d'étape
import cucumber.api.java.en.Given; import cucumber.api.java.en.Then; import cucumber.api.java.en.When; public class Sample { @Given('^User is navigating to G-mail Login Page$') public void user_is_navigating_to_G_mail_Login_Page() throws Throwable { // Write code here that turns the phrase above into concrete actions } @When('^User need to enter username as '((^')*)' and password as '((^')*)'$') public void user_need_to_enter_username_as_and_password_as(String arg1, String arg2) throws Throwable { // Write code here that turns the phrase above into concrete actions } @Then('^User is successfully navigated to the G-mail Mail Box$') public void user_is_successfully_navigated_to_the_G_mail_Mail_Box() throws Throwable { // Write code here that turns the phrase above into concrete actions } }
Cucumber est un plugin de test qui aide à la mise en œuvre de l'approche de développement axée sur le comportement.
Lecture recommandée => Les meilleurs outils BDD que vous devez connaître
Avantages de BDD Framework
Vous trouverez ci-dessous les différents avantages de BDD.
# 1) Couverture des histoires d'utilisateurs
Le cadre hybride avec BDD est destiné à être combiné avec différentes fonctionnalités. Chaque ressource en phase de développement logiciel peut contribuer au cadre BDD.
En raison de son concept simple de texte profane sous forme de fichier de fonctionnalités, permet aux parties prenantes des ressources techniques d'écrire les scénarios en langage Gherkin à l'aide des user stories. La compatibilité du texte brut permet d'obtenir une couverture maximale lors des tests.
Le fichier d'entités contenant les scénarios sont:
- User stories définies de l'entreprise.
- Critères permettant aux développeurs de déterminer si les spécifications répondent aux exigences de l'entreprise.
- Scénarios de test pour l'équipe de test.
- Coque de protection pour un testeur d'automatisation qui leur permet d'écrire séparément leur code dans des fichiers de définition d'étape.
- Expliqué les scénarios de test pour les parties prenantes.
La classification des définitions d'étape aide le testeur d'automatisation à garder son code intact, ce qui aide ainsi à la maintenance des scripts.
# 2) Clarté des scénarios
Le langage Gherkin utilise un texte profane qui se concentre sur le résultat du produit qui est testé / développé à l'aide de BDD.
En tant que fichier de fonctionnalités séparant la description technique dans un fichier de définitions d'étape différent pour les testeurs d'automatisation, il aide intelligemment une personne non technique à comprendre facilement le test automatisé. Toutes les mises à jour peuvent être implémentées dans une petite discussion.
Le pouvoir de lisibilité du cornichon garantit la clarté des scénarios à chacun de ses utilisateurs, ce qui, à son tour, aide à créer le bon produit.
# 3) Automatisation des scénarios de test
La mise en œuvre de Cucumber dans un cadre BDD permet à un testeur d'automatisation de lancer facilement le script avec la bonne approche. Un langage simple des scénarios de concombre les aide à mieux comprendre la fonctionnalité.
Cucumber est un plugin indépendant du langage car il est compatible avec de nombreux langages de programmation Par exemple. Java , Python , etc.
Lire aussi => Test d'automatisation à l'aide de l'outil BDD
# 4) Réutilisation du code dans le cadre
Étant donné - Quand - Ensuite, l'approche donne la liberté aux testeurs d'utiliser les mêmes étapes autant de fois que nous le souhaitons dans le fichier de fonctionnalités, ce qui permet progressivement de gagner du temps pour les testeurs d'automatisation.
Exemple:
Scénario: Scénario 1
Donné L'utilisateur est dirigé vers la page d'accueil Google
Lorsque L'utilisateur a recherché «concombre» dans le moteur de recherche
Puis Cliqué sur le bouton de recherche
Et L'utilisateur peut voir les résultats de la recherche pour le concombre dans le navigateur Web
Scénario: Scénario 2
Donné L'utilisateur est dirigé vers la page d'accueil Google
Lorsque L'utilisateur a recherché 'Selenium' dans le moteur de recherche
Puis Cliqué sur le bouton de recherche
Et L'utilisateur peut voir les résultats de la recherche pour Selenium dans le navigateur Web
Dans les deux scénarios ci-dessus, nous pouvons conclure que ' Donné', ' Lorsque ' et ' Puis ”Étapes sont réutilisables dans le second scénario.
# 5) Paramétrage dans le fichier de fonctionnalités
Un utilisateur peut paramétrer les étapes du cornichon dans le fichier d'entités pour obtenir une réutilisabilité dans le fichier.
Par exemple, si un utilisateur travaille sur une application bancaire où il se connecte encore et encore à l'application. Ce type d'étapes pourrait être paramétré avec un ensemble différent de données et cela fait gagner du temps au testeur.
Lors de l'écriture des scénarios, l'utilisateur doit définir les étapes du fichier de caractéristiques de manière à ce que l'utilisateur puisse utiliser facilement la fonctionnalité commune.
# 6) Intégration continue - Facile à intégrer
Cucumber prend également en charge le travail avec Jenkins. Vous pouvez exécuter l'exécution du test de concombre dans Jenkins et également l'implémenter dans les machines esclaves Jenkins. Le plugin de rapport de concombre fournit également aux utilisateurs une vue étendue pour suivre les scénarios de test.
A lire => Processus d'intégration continue
Conclusion
Le développement axé sur le comportement est une approche très intelligente méthodologie agile . Il est toujours recommandé de démarrer votre développement ou vos tests en utilisant BDD, car son utilisation vous donne une plate-forme pour travailler de manière indépendante avec différentes technologies.
Cucumber est l'un des meilleurs outils permettant de mettre en œuvre l'approche de développement axé sur le comportement dans le projet logiciel. Cela nous permet de travailler avec de nombreuses technologies Par exemple. Java, Python, Jython, etc.
Le concombre est largement utilisé par de nombreuses organisations et pigistes, il compte également de nombreuses communautés où les utilisateurs peuvent discuter de leurs problèmes et trouver facilement des solutions à leurs problèmes.
La langue du concombre - Gherkin qui utilise de simples mots anglais simples - réduit le fossé de communication entre les équipes techniques et les parties prenantes et leur permet de travailler ensemble au même niveau.
Nous espérons que cet article vous a aidé à comprendre les bases du BDD Framework !!
lecture recommandée
- Comment les testeurs sont impliqués dans les techniques TDD, BDD et ATDD
- 8 Meilleurs outils de développement orienté comportement (BDD) et cadres de test
- Test d'automatisation à l'aide de l'outil Cucumber et du sélénium - Tutoriel Selenium # 30
- Méthodologie Agile: Guide du débutant sur la méthode Agile et Scrum
- Tutoriel Specflow: Le guide ultime de l'outil BDD
- Processus d'intégration continue: comment améliorer la qualité des logiciels et réduire les risques
- Tutoriel Cucumber Selenium: Intégration Cucumber Java Selenium WebDriver
- 15 meilleurs outils d'intégration continue en 2021 (comparé)