Cucumber Framework: What is Cucumber Testing Tool?
What is 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. Cucumber framework uses Ruby programming language.
Cucumber Framework
In this Cucumber framework tutorial, you will learn:
How BDD works in Cucumber Automation?
Consider you are assigned to create Funds Transfer module in a Net Banking application.
There are multiple ways to test it in Cucumber Testing framework
- Fund Transfer should take place if there is enough balance in source account
- Fund Transfer should take place if the destination a/c details are correct
- Fund Transfer should take place if transaction password / rsa code / security authentication for the transaction entered by user is correct
- Fund Transfer should take place even if it’s a Bank Holiday
- Fund Transfer should take place on a future date as set by the account holder
The Test Scenario become more elaborate and complex as we consider additional features like transfer amount X for an interval Y days/months , stop schedule transfer when the total amount reaches Z , and so on
The general tendency of developers is to develop features and write test code later. As, evident in above case, Test Case development for this case is complex and developer will put off Testing till release , at which point he will do quick but ineffective testing.
To overcome this issue, Cucumber BDD (Behavior Driven Development), was conceived. It makes the entire testing process easy for a developer
In Cucumber BDD, whatever you write must go into Given-When-Then steps. Lets consider the same example above in BDD
Given that a fund transfer module in net banking application has been developed And I am accessing it with proper authentication
WhenI 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
Isn’t it easy to write and read and understand? It covers all possible test cases for the fund transfer module and can be easily modified to accommodate more. Also, it more like writing documentation for the fund transfer module.
Advantages of Cucumber Software
- It is helpful to involve business stakeholders who can’t easily read code
- Cucumber Testing tool focuses on end-user experience
- Style of writing tests allow for easier reuse of code in the tests
- Quick and easy set up and execution
- Cucumber test tool is an efficient tool for testing
Cucumber vs Selenium vs ALM
In this section, we will study the difference between Cucumber, Selenium and UFT.
Cucumber | HP ALM (QTP) | Selenium |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Also Check:- UFT vs Selenium: Difference Between Selenium and HP UFT