Introduction:
How are we going to complete this project Successfully?
To make any project successful it is very important to have experts from different fields in your team. But, do you think a project will be successful by having only talented people on the team? If all team members won't have a collaborative approach it is hardly possible to achieve an expected result. IT people use technical language while business people use business language. When it's time to work in a team it gets difficult for both teams ( IT and Business) to understand each other's language and due to this communication gap, it takes time to get an expected result which leads to decreased productivity. Â
To overcome this situation, BDD ( Behavior-Driven Development) came into the picture. BDD is a development method that encourages communication between teams. Cucumber is an open-source software testing tool that supports BDD. And Gherkin is a language that developers use to define tests in Cucumber.
Key Words: BDD, Gherkins, Cucumber, Scenario.
What is Gherkin Language?
Gherkin is a business readable language that helps you to describe business behavior without going into details of implementation. It is a domain-specific language for defining tests in Cucumber format for specifications. It uses plain language to describe use cases and allows users to remove logic details from behavior tests.
Gherkin Syntax:
Feature: Title of the Scenario
Given [Preconditions or Initial Context]
When [Event or Trigger]
Then [Expected output]
A Gherkin document has an extension .feature and is simply just a test file with a fancy extension. The cucumber reads the Gherkin document and executes a test to validate that the software behaves as per the Gherkin syntax.
Important Terms Used in Gherkin
Feature
Background
Scenario
Given
When
Then
And
But
Scenario Outline Examples
The naming convention is used for the feature name. However, there are no set rules in Cucumber about names.
Feature:
The file should have an extension .feature and each feature file should have only one feature. The feature keyword is with the Feature: and after that add, space, and name of the feature will be written.
Scenario:
Each feature file may have multiple scenarios, and each scenario starts with Scenario: followed by the scenario name.
Background:
Background keywords help you to add some context to the scenario. It can contain some steps of the scenario, but the only difference is that it should be run before each scenario.
Given: What Software will look like to the user
When: Things that the user will do
Then: What the user should expect
Gherkin Examples :Â
Feature: Login functionality
Scenario: Login with Valid Credentials
Scenario: Login with invalid credentials
Many scenarios can come under one feature.
Let's write Gherkins for 1st scenarioÂ
Scenario: Login with Valid Credentials
Given: The user has opened the application URL
And: Navigate to the login pageÂ
When: User enters valid email address and password
And: Clicks on the login buttonÂ
Then: The user should be able to log in successfully.
Now let's write Gherkin for 2nd scenario.
Scenario: Login with invalid credentials
Given: The user has opened the application URL
And: Navigate to the Login page
When: User enters invalid user id and passwordsÂ
And: clicks on Login Button
Then: The user should not be able to log in
And: Error message should be displayed.
Cucumber:Â
Cucumber is a testing tool that supports Behavior Driven Development (BDD). It offers a way to write tests that anybody can understand, regardless of their technical knowledge. In BDD, users (business analysts, product owners) first write scenarios or acceptance tests that describe the behavior of the system from the customer’s perspective, for review and sign-off by the product owners before developers write their codes.Â
Advantages of Cucumber Software :Â
It is helpful to involve business stakeholders who can’t easily read code
The Cucumber Testing tool focuses on end-user experience
The style of writing tests allows for easier reuse of code in the tests
Quick and easy setup and execution
The cucumber test tool is an efficient tool for testing.
Conclusion :Â
Gherkin provides a common set of keywords in English text, which can be used by people from different communities and yet get the same output in the form of test scripts. Gherkins are a way to add to user stories and give a full scenario that will help developers and testers understand both the outcome and the output of a particular user interaction. Gherkin scripts connect the human concept of cause and effect to the software concept of the input/ output process.
Reference:
Comments