What is BDD and why do we need it?
BDD is a fancy term used for Behavior Driven
Development and testing.
BDD is a simple syntax in which a developer refers to
write code and the QA tester designs test cases
BDD WAS BORN FROM TWO BASIC NEEDS
IN THE TESTING DOMAIN:
- A shift in the thought process from thinking about
“tests” to thinking about “behavior”.
- The need for a method where business users can
sketch use cases without having to understand
the technical language associated with translating
them into test cases.
Understandingly, the market demanded tools which
could create test cases from business scenarios into
plain English language. Companies started to come out
with automation tools like Cucumber which provide
automation with testing scripts from simple English
language such as, “If the battery is dying, then check if
the cells are also dying.”
ZEPHYR’S PERSPECTIVE ON BDD TO
HELP MEET THESE NEEDS
At Zephyr, we believe the challenge of clearly defining
user needs and sketching use cases without writing
code can easily be solved in six ways.
- Following the 5 Why’s principle to understand real
user needs and the purpose of the user story. This
will help uncover the “real” problem.
- Having a 3 Amigos Session- Business Teams
(Product Team and Customer Facing Team),
Development Team and Testing Team come
together to define and agree on the user story.
- Each amigo brings a unique perspective and
understanding of the user story to the table:
- Business Amigo thinks about what problem or
user need we are trying to solve. The application
behaviour is explained in Gherkin language (Listing
out User needs in plain English which can be used
for coding in format Given-When-Then-And).
- Developer Amigo thinks about the technical
feasibility and how a solution can be provided for
- Tester Amigo thinks about meeting the acceptance
criteria and mitigating the potential risks and
- Using the BDD framework to translate Gherkin
language to developer’s language like Java,
Python, Ruby etc.
- Using Cucumber which helps you run automated
test cases for the scenarios identified. Both
developers and testers can channelize this
- Product Teams certify the acceptance criteria for
the user stories to be shipped to customer.
How does Zephyr provide BDD?
Let's look at a simple example of searching a book from the library quick.
Writing a scenario in Gherkin Language and importing it in Zephyr application
You can next Configure Zephyr Server and Access key inside Zephyr
Zephyr provides an out-of-box plugin, which runs BDD scripts through MVN
In an analogy, Maven works like
a food processor where different
units (called plugins) are used to
accomplish different tasks.
For example-- compiling, running
a script etc.
Scenario has been created as a Test case in Zephyr
Scenario is added as Test Steps
BDD Cycle is planned utilizing Zephyr Test Planning
Showing Result of Scenario executed by MVN
How does Zephyr differentiate
from the market?
Aside from following the 5 Why’s and having a 3
Amigos meeting, you can also add more value to
your business and BDD framework with these features
found in Zephyr Enterprise:
- Zephyr supports parameterized behavior execution
- zAutomation framework passes different data
points to those scenarios
- Automate test cases by utilizing zAutomation
framework by passing different data points to
It doesn’t end there. Zephyr can help add value to
your business by organizing your test cases in our
application and more importantly getting reports
and metrics on those automated test cases. In Zephyr
- With a simple click of a button, the test cases
can be pulled into the application
- Test cycles can be automated by simple
- Results and Metrics are published and
available in real-time using powerful Zephyr
gadgets and dashboards
By leveraging the perspective of stakeholders, utilizing
the Cucumber Framework for test automation, and
providing comprehensive metrics and dashboard
reporting, Zephyr Enterprise will add value to your
business and help you address customer needs more
efficiently and effectively.