This is a quick post listing some reasons you might want to use Cucumber in your project.

Understandable test cases

As Cucumber is a Behavior Driven Development tool, the features and test steps are typically described on a higher level, a level understandable to people not writing code or knowing how the system behaves from the inside.

When people in your organization want to know what is being tested and how, having test cases available in a format that can be understood by basically anyone in the team is a big advantage and a time saver.

Can be used for manual and automated tests

Writing test cases is a lot of work. There are many approaches to writing test cases ranging from using a system like HP Quality Center to not writing test cases at all. The requirements of your company and the approach taken by your QA team plays a big role on how much work it is and both approaches obviously have their advantages.

What can be agreed upon is that writing test cases always takes some effort. Writing automated test cases in addition to the manual ones takes even more effort.

Consider the following typical test case example:

- The database contains one user that can be used for login test

Test steps:
- Navigate to the login page
- Enter username to the username field
- Enter password to the password field
- Click on the login button

Expected results:
- The user can login
- The username is displayed in the top right corner of the page

The example test case can easily be written in the format required by Cucumber in Gherkin syntax:

Given the database contains one user that can be used for login test
When the user navigates to the login page
And enters the username to the username field
And enters the password to the password field
And clicks on the login button
Then the user is logged in
And the username is displayed on the top right corner

The steps above can be further optimized but here they aim to show the similarity between a manual and an automated test case.

While not really targeted for writing manual tests, Cucumber can be used as a tool to have tests readily in Gherkin so that they can be easily automated when there is time/budget for it.

Can be written by people outside of test team

Test cases are almost always written by the QA team. Requirements are almost always written by the product manager or a project manager. Yet requirements and test cases to test them are closely related.

There is synergy in having the people defining the requirements and test cases working together and using a tool like Cucumber is a good excuse in getting the co-operation going on a practical level.


These are just some ideas on why using Cucumber in your project / organization might be a good idea. These might not be the reasons you are thinking of when making the decision but still things to keep in mind.