Horje
Writing scenarios with Gherkin syntax

The Gherkin is a domain-specific language designed to describe software behavior in plain text using the natural language format. It is primarily used in behavior-driven development (BDD) to write clear and concise scenarios that describe how a system should behave. These scenarios are written in the Given-When-Then format making them easy to understand for all stakeholders including the non-technical members of a team.

What is Gherkin?

The Gherkin is the language used by the Cucumber tool which supports BDD. It enables teams to develop tests in a human-readable style that can later be automated to check the behavior of a system. The Gherkin’s simplicity and clarity make it a useful communication tool for developers, testers, and business stakeholders.

The Gherkin syntax is structured with the following keywords:

  • Feature: Describes the feature under test.
  • Scenario: Describe a specific situation or example.
  • Given: Describes the initial context or state.
  • When: Describes the action or event.
  • Then: Describe the expected outcome or result.
  • And / But: Used to add additional conditions to the Given, When, and Then steps.

Writing Gherkin Scenarios

To write effective Gherkin scenarios follow these steps:

  • Identify the Feature: Determine the feature or functionality we want to test.
  • Define the Scenarios: The Break down the feature into the specific scenarios that cover different aspects and edge cases.
  • Write the Steps: Use Given-When-Then to the describe the steps for the each scenario.

Example

Let’s consider an example of the simple login feature.

Feature: User Registration

Scenario: Successful registration with valid details

  • Given the user is on the registration page
  • When the user enters a valid username, email, and password
  • And the user clicks the register button
  • Then the user should be redirected to the welcome page
  • And the user should see a registration confirmation message

Scenario: Unsuccessful registration with invalid email

  • Given the user is on the registration page
  • When the user enters a valid username and password, but an invalid email address
  • And the user clicks the register button
  • Then the user should see an error message indicating an invalid email

Scenario: Unsuccessful registration with missing fields

  • Given the user is on the registration page
  • When the user leaves the username and email fields blank
  • And the user clicks the register button
  • Then the user should see a validation error message indicating required fields

Best Practices for Writing Gherkin Scenarios

  • Keep it Simple: Write clear and concise scenarios. To Avoid technical jargon and complex sentences.
  • Focus on Behavior: The Describe the behavior of the system from user’s perspective not the implementation details.
  • Use Consistent Language: The Maintain consistency in the language and terminology used across the all scenarios.
  • Avoid Multiple Actions: Each When step should represent a single action to keep scenarios focused and easy to the understand.
  • Collaborate with Stakeholders: Involve all relevant stakeholders in the writing and reviewing scenarios to the ensure they accurately reflect the desired behavior.

Advanced Gherkin Features

  • Background: Used to define common Given steps that are shared across the multiple scenarios within a feature.
  • Scenario Outline: The Allows to run the same scenario multiple times with the different sets of data.

Example with Background and Scenario Outline

Feature: User Registration

Background: Given the user is on the registration page

Scenario Outline: Unsuccessful registration with various invalid inputs

  • When the user enters <username>, <email>, and <password>
  • And the user clicks the register button
  • Then the user should see a validation error message

Examples:

  1. | username | email | password |
  2. | | [email protected] | validPass |
  3. | validUser | invalid-email | validPass |
  4. | validUser | [email protected] | short |
  5. | validUser | [email protected] | |

Tools for Writing and Running Gherkin Scenarios

  • Cucumber: A popular tool that supports BDD and runs Gherkin scenarios.
  • SpecFlow: A BDD tool for the .NET that supports Gherkin syntax.
  • Behave: A BDD tool for the Python that uses Gherkin.

Conclusion

Writing scenarios with Gherkin syntax is an effective way to the describe software behavior in the clear, concise and human-readable format. By following best practices and leveraging tools like Cucumber teams can improve collaboration ensure better understanding of the requirements and create automated tests that validate system behavior.




Reffered: https://www.geeksforgeeks.org


Software Testing

Related
What is Chaos Testing? What is Chaos Testing?
Creating TestRail Projects - Steps to Create New Projects Creating TestRail Projects - Steps to Create New Projects
Cypress Locators - How to find HTML elements Cypress Locators - How to find HTML elements
How to Manage Dependency between Test Cases? How to Manage Dependency between Test Cases?
Reports in Cypress Reports in Cypress

Type:
Geek
Category:
Coding
Sub Category:
Tutorial
Uploaded by:
Admin
Views:
14