In today’s Session, we will discuss on What is TDD and BDD. Now I am going to show you how you can use Cucumber and how you can automate using Cucumber.
Cucumber is basically known as a BDD Framework i.e. Behavioral Driven Framework.
There are 2 Types of Frameworks. i.e.
- Predefined Framework
- User defined Framework
- Data Driven Framework
- Keyword Driven Framework
- Hybrid Driven Framework
Cucumber is automation framework which follows BDD framework. JUnit and TestNG are under Test Driven Framework.
TDD vs BDD
TDD (Test Driven Framework) is the process in which developer first create the unit test based on the requirement given by client. After creation, developer will start implement those features.
BDD (Behavioral Driven Framework) is nothing but the advance feature of TDD. In BDD framework, business analysts, project managers, users or anyone without technical can define the testcase in form of BDD.
Business will write the BDD test case in form of Given-When-Then . In this format, Given is the precondition, When is the test step and Then is the expected behavior. So BDD is nothing but the test case in different form. Business Analyst, Manager or some other person which has idea about the product requirement can write BDD test case.
Now the main difference between TDD and BDD is Communication and Feedback. Since testers are writing BDD tets case in simple English and client can understand the test case before starting the development process. If some clarification required from development side or BA side, this can be cleared in early stage.
In simple word, in BDD you will have better and clear communication for requirement before starting the development the features.
From the above example we have got the clear picture on What is TDD and BDD. In next section, we ill discuss more about the BDD framework with practical scenarios.