Cucumber Cadre : Qu'est-ce que Cucumber?

⚡ Résumé intelligent

Cucumber est un outil de test qui prend en charge le développement piloté par le comportement (BDD), permettant à quiconque de lire les tests, quelles que soient ses connaissances techniques. Cette ressource explique le fonctionnement du BDD à travers les étapes « Étant donné-Quand-Alors » et ses avantages. Cucumberet comment cela se compare à Selenium et HP ALM.

  • ???? Définition principale : Cucumber est un outil de développement piloté par le comportement qui rédige des tests en langage clair, compréhensibles par les parties prenantes techniques et non techniques.
  • 🗣️ BDD Foundation: Les analystes fonctionnels et les responsables produits décrivent le comportement du système avant que les développeurs n'écrivent le code, ce qui améliore la compréhension partagée.
  • 📝 Étant donné-Quand-Alors : chaque Cucumber Le scénario suit une structure lisible « Étant donné-Quand-Alors » qui sert également de documentation évolutive.
  • | Avantages clés: Installation rapide, réutilisation du code, orientation utilisateur et implication aisée des parties prenantes métiers non-développeuses.
  • ️ Comparaison des outils : Cucumber est gratuit et basé sur le BDD, tandis que HP ALM est payant et Selenium cibles tests fonctionnels et de performance.

Cucumber FrameworkTA

Qu'est-ce que le Cucumber?

Cucumber est un outil de test qui prend en charge le développement piloté par le comportement (BDD). Il offre une méthode pour écrire des tests compréhensibles par tous, quel que soit leur niveau de connaissances techniques. En BDD, les utilisateurs (analystes métier, responsables produit) rédigent d'abord des scénarios ou des tests d'acceptation qui décrivent le comportement du système du point de vue du client, pour examen et validation par les responsables produit avant que les développeurs n'écrivent leur code. Cucumber le cadre utilise le Langage de programmation Ruby.

Cucumber FrameworkTA
Cucumber FrameworkTA

Comment fonctionne BDD dans Cucumber Automatisation?

Imaginez que vous êtes chargé de créer un module de transfert de fonds dans une application de banque en ligne.

Il existe plusieurs façons de le tester dans le Cucumber Cadre de test :

  1. Le transfert de fonds ne devrait avoir lieu que si le solde du compte source est suffisant.
  2. Le transfert de fonds devrait avoir lieu si les coordonnées du compte destinataire sont correctes.
  3. Le transfert de fonds devrait avoir lieu si le mot de passe de transaction / le code RSA / l'authentification de sécurité de la transaction saisis par l'utilisateur est correct.
  4. Le transfert de fonds doit être effectué même s'il s'agit d'un jour férié.
  5. Le virement de fonds devra avoir lieu à une date ultérieure fixée par le titulaire du compte.

Le Scénario de test le système devient plus élaboré et complexe à mesure que nous prenons en compte des fonctionnalités supplémentaires telles que le transfert d'un montant X pendant un intervalle de Y jours/mois, l'arrêt du transfert programmé lorsque le montant total atteint Z, etc.

La tendance générale des développeurs est de développer les fonctionnalités et d'écrire le code de test ultérieurement. Comme le montre l'exemple ci-dessus, Cas de test Le développement pour ce scénario est complexe, et le développeur le reportera. Tests jusqu'à la sortie, moment auquel ils procéderont à des tests rapides mais inefficaces.

Pour surmonter ce problème, Cucumber BDD (développement axé sur le comportement) a été conçu. Il simplifie l'ensemble du processus de test pour un développeur.

In Cucumber BDD, tout ce que tu écris doit y aller Étant donné-quand-alors étapes. Prenons le même exemple que ci-dessus dans le cadre du BDD :

Given that a fund transfer module in net banking application has been developed
And I am accessing it with proper authentication
When I shall transfer with enough balance in my source account
Or I shall transfer on a Bank Holiday
Or I shall transfer on a future date
And destination a/c details are correct
And transaction password/RSA code/security authentication for the transaction is correct
And press or click send button
Then amount must be transferred
And the event will be logged in log file

N'est-ce pas facile à écrire, à lire et à comprendre ? Ce document couvre tous les cas de test possibles pour le module de transfert de fonds et peut être facilement modifié pour en intégrer davantage. Il s'apparente d'ailleurs à la rédaction de la documentation du module de transfert de fonds.

Avantages de Cucumber Logiciels

  1. Il est utile d'impliquer les parties prenantes de l'entreprise qui ne peuvent pas facilement lire le code.
  2. Le Cucumber Outil de test se concentre sur l'expérience de l'utilisateur final.
  3. Le style de rédaction des tests facilite la réutilisation du code dans les tests.
  4. Installation et exécution rapides et faciles.
  5. Le Cucumber l'outil de test est un outil efficace pour vers les tests.

Cucumber vs Selenium contre ALM

Dans cette section, nous étudierons la différence entre Cucumber, Seleniumet ALM.

Cucumber HP ALM (QTP) Selenium
Cucumber Le logiciel est gratuit. QTP est cher. Ce est gratuit.
Cucumber Ce logiciel est un outil de développement piloté par le comportement. Il s'agit d'un outil d'automatisation fonctionnelle. Il s'agit d'un outil fonctionnel et performant (Selenium Outil de test Grid).
Le plugin dans le Cucumber L'outil de test fonctionne plus rapidement. Les plugins sont plus lents que Cucumber et Selenium. Les plugins sont plus lents que Cucumber.
Cucumber Le framework prend également en charge d'autres langages que Ruby, comme Java, Scala, Groovy, etc. QTP Ne prend en charge que VB Script. Selenium supports Java, .Net, et bien d'autres langages.
La rédaction des étapes d'automatisation est un effort conjoint des testeurs et des développeurs. In QTP, seul le testeur rédige les étapes d'automatisation. J'aime CucumberLa rédaction des étapes d'automatisation est un effort conjoint des testeurs et des développeurs.
Le Cucumber L'outil de test ne prend en charge que l'environnement web. Compatible avec les applications web, de bureau et toutes les applications client-serveur. Compatible uniquement avec l'environnement web.

Vérifiez également: - UFT vs Selenium: Différence entre Selenium et HP UFT

FAQ

Oui. Les outils d'IA peuvent générer des scénarios Gherkin et des définitions d'étapes directement à partir des exigences écrites. Cependant, les testeurs doivent vérifier l'exactitude, la prise en compte des cas limites et l'exhaustivité des scénarios générés avant de les utiliser.

Non. L'IA accélère la rédaction des scénarios et la génération des étapes, mais les testeurs humains définissent toujours le comportement attendu, valident la logique métier et maintiennent la collaboration avec les parties prenantes, ce qui reste essentiel au développement piloté par le comportement.

Gherkin est le langage en texte brut Cucumber Il sert à rédiger des scénarios de test. Il suit la structure « Étant donné-Quand-Alors », ce qui rend les tests lisibles pour les parties prenantes métiers et les développeurs tout en restant exécutables.

Cucumber est un outil BDD. Il se concentre sur le comportement du système décrit du point de vue de l'utilisateur, contrairement au TDD qui consiste à écrire des tests unitaires avant d'implémenter chaque petite fonctionnalité.

Résumez cet article avec :