SlideShare a Scribd company logo
BDD & Cucumber
When All Teammates Speak The Same Language
What is the Software Development Life Cycle?
Classic Example Of Collaboration Skills
Building the wrong software
There are only 2 problems in software development:
Building the software wrong
Why Teammates Do Not Understand Each Other
It’s All About Brains
How It Looks Like
How To Write Software That Really Matters
Software Development Is All About Knowing And Delivering WHAT MATTERS
Most To The Business
Only Due To Effective Communication You Will Know What Matters
I’m responsible
For what I say.
But I’m not
responsible for what
you understand.
I don’t mind
being hated.
But I hate being
misunderstood.
A Lot Of DDs To Solve Our Problems
How Many DDs Do You Know?
How Many DDs Do You Really Need?
…
What Is BDD?
Behavior-Driven Development (BDD) is an agile software development
technique that encourages collaboration between developers, QA and
non-technical or business participants in software project.
BUSINESS TECHNOLOGY
Domain Driven
Design
Test Driven
Development
B
D
D
What Is BDD?
What Is BDD?
 BDD’s definition: "It's about focusing on the behavior of an application from
the point of view of its stakeholders”
 BDD says you should elevate your mind to a level of behavioral abstraction
above the code implementation.
 BDD asks questions about behavior of app before and during development
to reduce miscommunication.
 Idea (BDD): user story can be formulated as acceptance test
before code is written.
What Is BDD?
3 Amigos
QA
DeveloperCustomer
A Lot Of DDs To Solve Our Problems
The Traditional Development Process
The Development Process Is Applying BDD
Example
More Examples
Behavior-Driven Development
Behavior-Driven Development
Сomparison Of Approaches
TDD BDD ATDD
Focus Unit Testing Requirements Acceptance Tests
Value
New features are focused
on requirements
New features align with business
outcomes
Makes unit testing easier
to implement
End Users
TDD tests are technical and
should be understood by
developers/testers
BDD tests should be understandable
for both customers and IT team
ATDD Tests should be
readable and focused for
customers
Agile Steps
Step1 : Test
Step2 : Code
Step 3: Refactor
Build the functionality incrementally
guided by expected behavior
Step1 : Discuss
Step2 : Develop
Step 3: Deliver
Test
Mapping
Each functionality should
have implementation of
test
Each story should have behavior test
Each story should have
acceptance test
Advantages Of BDD
• Writing tests first in a customer friendly language
• Your tests are your specifications and your specifications are your tests
• Dan North: “BDD takes the position that you can turn an idea for a
requirement into implemented, tested, production-ready code simply
and effectively, as long as the requirement is specific enough that
everyone knows what’s going on.”
• Executable specifications
• 31% faster delivery
• 4 times less defects
Your Majesty GHERKIN
WHAT IS GHERKIN
Feature: 15th QA LAB
In order to fill the QA LAB schedule
As a Cucumber user
I want to talk about BDD with Cucumber
Scenario: “BDD & Cucumber” talk
Given I have manage to prepare a talk
And there are people to hear it
When I give the talk
Then the audience should learn something
WHAT IS GHERKIN
Feature: 15th QA LAB
In order to fill the QA LAB schedule
As a Cucumber user
I want to talk about BDD with Cucumber
Scenario: “BDD & Cucumber” talk
Given I have manage to prepare a talk
And there are people to hear it
When I give the talk
Then the audience should learn something
WHAT IS GHERKIN
Feature: 15th QA LAB
In order to fill the QA LAB schedule
As a Cucumber user
I want to talk about BDD with Cucumber
Given I have manage to prepare a talk
And there are people to hear it
When I give the talk
Then the audience should learn something
Scenario: “BDD & Cucumber” talk
WHAT IS GHERKIN
Feature: 15th QA LAB
In order to fill the QA LAB schedule
As a Cucumber user
I want to talk about BDD with Cucumber
Given I have manage to prepare a talk
And there are people to hear it
When I give the talk
Then the audience should learn something
Scenario: “BDD & Cucumber” talk
WHAT IS GHERKIN
Feature: 15th QA LAB
In order to fill the QA LAB schedule
As a Cucumber user
I want to talk about BDD with Cucumber
I have manage to prepare a talk
Scenario: “BDD & Cucumber” talk
Given
When
Then
And there are people to hear it
I give the talk
the audience should learn something
Context
Event
Outcome
GHERKIN LANGUAGE
Feature – Description of the feature file
Background – Defines common steps across multiple scenarios
Scenario – A feature file can have multiple scenarios, each test is described by the
scenario keyword
Given – Preconditions of a scenario
When – Description of the action which will be executed
Then – Specific outcome from executing the last step
And – Provides ab additional condition to the step
But – Negative conditions from the last executed step
Scenario Outline – Enables data to be sent to scenarios using template(s) and
examples (Stop code duplication)
Examples – Used to provide real life examples for a specific scenario outline
WHAT TOOLS CAN BE USED
• JBehave
• RSpec
• MSpec
• SpecUnit
• SpecFlow
• Fitnesse
• Concordion
• Capybara
• Cucumber
BDD & Cucumber
INTRODUCTION TO CUCUMBER
 Cucumber is a software tool that is used for testing other software.
 Cucumber is written in the Ruby programming language.
 Cucumber is Aslak Hellesoy’s rewrite of RSpec’s “Story Runner” (April 2008),
which was originally written by Dan North.
 Cucumber works well with Browser Automation tools (Selenium Web Driver).
 A very active open source project.
 Supports a variety of languages.
HOW CUCUMBER EXECUTE SCENARIO
FEATURE FILE
RUNNER CLASS
SELENIUM INTERGRATION
SELENIUM INTERGRATION
SELENIUM INTERGRATION
BDD & Cucumber
PARAMETRISATION
PARAMETRISATION
DATA TABLES
DATA TABLES
DATA TABLES
SCENARIO OUTLINE(S)
HOOKS
CUCUMBER OPTIONS
TAGS
BDD & Cucumber
BDD & Cucumber
VLADIMIR ARUTIN
ISTQB CERTIFIED
TEST MANAGER

More Related Content

PPTX
Introduction to Bdd and cucumber
PPTX
Bdd – with cucumber and gherkin
PPTX
Cucumber BDD
PPTX
BDD WITH CUCUMBER AND JAVA
PPTX
Test Automation Framework with BDD and Cucumber
PPT
Cucumber presentation
PPSX
Cucumber & gherkin language
Introduction to Bdd and cucumber
Bdd – with cucumber and gherkin
Cucumber BDD
BDD WITH CUCUMBER AND JAVA
Test Automation Framework with BDD and Cucumber
Cucumber presentation
Cucumber & gherkin language

What's hot (20)

PPTX
What Is Cucumber?
ODP
BDD with Cucumber
PPTX
Cucumber presenation
PPTX
Automation test framework with cucumber – BDD
PDF
Introduction to BDD with Cucumber for Java
PDF
Cucumber ppt
PDF
Selenium with Cucumber
PPTX
BDD testing with cucumber
ODP
Test Automation Framework using Cucumber BDD overview (part 1)
PDF
Successfully Implementing BDD in an Agile World
PPTX
Automated Test Framework with Cucumber
ODP
Introduction to BDD
PDF
An introduction to Behavior-Driven Development (BDD)
PDF
BDD with the Cucumber
PPTX
Cucumber With Selenium
PPTX
Introduction to Behaviour Driven Development (BDD) and Cucumber with Java
PPTX
Behavior Driven Development Testing (BDD)
PPT
Scrum Testing Methodology
PPTX
Behavior driven development (bdd)
PDF
Behavior-Driven Development and Automation Testing Using Cucumber Framework W...
What Is Cucumber?
BDD with Cucumber
Cucumber presenation
Automation test framework with cucumber – BDD
Introduction to BDD with Cucumber for Java
Cucumber ppt
Selenium with Cucumber
BDD testing with cucumber
Test Automation Framework using Cucumber BDD overview (part 1)
Successfully Implementing BDD in an Agile World
Automated Test Framework with Cucumber
Introduction to BDD
An introduction to Behavior-Driven Development (BDD)
BDD with the Cucumber
Cucumber With Selenium
Introduction to Behaviour Driven Development (BDD) and Cucumber with Java
Behavior Driven Development Testing (BDD)
Scrum Testing Methodology
Behavior driven development (bdd)
Behavior-Driven Development and Automation Testing Using Cucumber Framework W...
Ad

Similar to BDD & Cucumber (20)

PPTX
BDD 001 behavoir draven delopment ts.pptx
PDF
Introducing BDD and TDD with Cucumber
PPTX
Lets cook cucumber !!
PDF
Behavior Driven Development with Cucumber
PPTX
Wednesday Webinar on "Strengthening your Agility with BDD - A demo using Cucu...
PPTX
Bdd in action
PDF
Behavior Driven Development—A Guide to Agile Practices
PPTX
Testing with cucumber testing framework
PPTX
presentation.pptx
PDF
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
PPTX
Behavior Driven Development
PPTX
Cucumber jvm best practices v3
PPT
BDD along with Continuous Integration
PPT
Stc 2015 regional-round-ppt-bdd along with ci
PPTX
Xamariners - BDD + Mobile
PPTX
Behavior-Driven Design: One Team's Exploration
PPTX
SGIN2013-ScrumStartRek-CucumberRecipes-SonikChopra
PPTX
BDD Selenium for Agile Teams - User Stories
PPT
Behavior Driven Development by Example
PPT
BDD communication bridges - Expedia TED talk
BDD 001 behavoir draven delopment ts.pptx
Introducing BDD and TDD with Cucumber
Lets cook cucumber !!
Behavior Driven Development with Cucumber
Wednesday Webinar on "Strengthening your Agility with BDD - A demo using Cucu...
Bdd in action
Behavior Driven Development—A Guide to Agile Practices
Testing with cucumber testing framework
presentation.pptx
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development
Cucumber jvm best practices v3
BDD along with Continuous Integration
Stc 2015 regional-round-ppt-bdd along with ci
Xamariners - BDD + Mobile
Behavior-Driven Design: One Team's Exploration
SGIN2013-ScrumStartRek-CucumberRecipes-SonikChopra
BDD Selenium for Agile Teams - User Stories
Behavior Driven Development by Example
BDD communication bridges - Expedia TED talk
Ad

More from Vladimir Arutin (8)

PDF
SQL INJECTIONS EVERY TESTER NEEDS TO KNOW
PDF
The Human Side of Microservices
PDF
Automation with Tosca Tricentis
PDF
Экстремальный проектный менеджмент. Набор и управление командой
PDF
Мифы и правда о тестировании ПО
PDF
Software Testing Metrics
PDF
Pairwise Testing
PDF
Test Management by Vladimir Arutin
SQL INJECTIONS EVERY TESTER NEEDS TO KNOW
The Human Side of Microservices
Automation with Tosca Tricentis
Экстремальный проектный менеджмент. Набор и управление командой
Мифы и правда о тестировании ПО
Software Testing Metrics
Pairwise Testing
Test Management by Vladimir Arutin

Recently uploaded (20)

PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PPTX
Welding lecture in detail for understanding
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PDF
PPT on Performance Review to get promotions
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
bas. eng. economics group 4 presentation 1.pptx
DOCX
573137875-Attendance-Management-System-original
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
Strings in CPP - Strings in C++ are sequences of characters used to store and...
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
Sustainable Sites - Green Building Construction
PDF
Structs to JSON How Go Powers REST APIs.pdf
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Welding lecture in detail for understanding
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PPT on Performance Review to get promotions
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
bas. eng. economics group 4 presentation 1.pptx
573137875-Attendance-Management-System-original
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
Strings in CPP - Strings in C++ are sequences of characters used to store and...
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Sustainable Sites - Green Building Construction
Structs to JSON How Go Powers REST APIs.pdf
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
Model Code of Practice - Construction Work - 21102022 .pdf
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx

BDD & Cucumber

  • 1. BDD & Cucumber When All Teammates Speak The Same Language
  • 2. What is the Software Development Life Cycle?
  • 3. Classic Example Of Collaboration Skills
  • 4. Building the wrong software There are only 2 problems in software development: Building the software wrong
  • 5. Why Teammates Do Not Understand Each Other It’s All About Brains
  • 7. How To Write Software That Really Matters Software Development Is All About Knowing And Delivering WHAT MATTERS Most To The Business Only Due To Effective Communication You Will Know What Matters I’m responsible For what I say. But I’m not responsible for what you understand. I don’t mind being hated. But I hate being misunderstood.
  • 8. A Lot Of DDs To Solve Our Problems How Many DDs Do You Know? How Many DDs Do You Really Need? …
  • 9. What Is BDD? Behavior-Driven Development (BDD) is an agile software development technique that encourages collaboration between developers, QA and non-technical or business participants in software project. BUSINESS TECHNOLOGY Domain Driven Design Test Driven Development B D D
  • 12.  BDD’s definition: "It's about focusing on the behavior of an application from the point of view of its stakeholders”  BDD says you should elevate your mind to a level of behavioral abstraction above the code implementation.  BDD asks questions about behavior of app before and during development to reduce miscommunication.  Idea (BDD): user story can be formulated as acceptance test before code is written. What Is BDD?
  • 14. A Lot Of DDs To Solve Our Problems
  • 16. The Development Process Is Applying BDD
  • 21. Сomparison Of Approaches TDD BDD ATDD Focus Unit Testing Requirements Acceptance Tests Value New features are focused on requirements New features align with business outcomes Makes unit testing easier to implement End Users TDD tests are technical and should be understood by developers/testers BDD tests should be understandable for both customers and IT team ATDD Tests should be readable and focused for customers Agile Steps Step1 : Test Step2 : Code Step 3: Refactor Build the functionality incrementally guided by expected behavior Step1 : Discuss Step2 : Develop Step 3: Deliver Test Mapping Each functionality should have implementation of test Each story should have behavior test Each story should have acceptance test
  • 22. Advantages Of BDD • Writing tests first in a customer friendly language • Your tests are your specifications and your specifications are your tests • Dan North: “BDD takes the position that you can turn an idea for a requirement into implemented, tested, production-ready code simply and effectively, as long as the requirement is specific enough that everyone knows what’s going on.” • Executable specifications • 31% faster delivery • 4 times less defects
  • 24. WHAT IS GHERKIN Feature: 15th QA LAB In order to fill the QA LAB schedule As a Cucumber user I want to talk about BDD with Cucumber Scenario: “BDD & Cucumber” talk Given I have manage to prepare a talk And there are people to hear it When I give the talk Then the audience should learn something
  • 25. WHAT IS GHERKIN Feature: 15th QA LAB In order to fill the QA LAB schedule As a Cucumber user I want to talk about BDD with Cucumber Scenario: “BDD & Cucumber” talk Given I have manage to prepare a talk And there are people to hear it When I give the talk Then the audience should learn something
  • 26. WHAT IS GHERKIN Feature: 15th QA LAB In order to fill the QA LAB schedule As a Cucumber user I want to talk about BDD with Cucumber Given I have manage to prepare a talk And there are people to hear it When I give the talk Then the audience should learn something Scenario: “BDD & Cucumber” talk
  • 27. WHAT IS GHERKIN Feature: 15th QA LAB In order to fill the QA LAB schedule As a Cucumber user I want to talk about BDD with Cucumber Given I have manage to prepare a talk And there are people to hear it When I give the talk Then the audience should learn something Scenario: “BDD & Cucumber” talk
  • 28. WHAT IS GHERKIN Feature: 15th QA LAB In order to fill the QA LAB schedule As a Cucumber user I want to talk about BDD with Cucumber I have manage to prepare a talk Scenario: “BDD & Cucumber” talk Given When Then And there are people to hear it I give the talk the audience should learn something Context Event Outcome
  • 29. GHERKIN LANGUAGE Feature – Description of the feature file Background – Defines common steps across multiple scenarios Scenario – A feature file can have multiple scenarios, each test is described by the scenario keyword Given – Preconditions of a scenario When – Description of the action which will be executed Then – Specific outcome from executing the last step And – Provides ab additional condition to the step But – Negative conditions from the last executed step Scenario Outline – Enables data to be sent to scenarios using template(s) and examples (Stop code duplication) Examples – Used to provide real life examples for a specific scenario outline
  • 30. WHAT TOOLS CAN BE USED • JBehave • RSpec • MSpec • SpecUnit • SpecFlow • Fitnesse • Concordion • Capybara • Cucumber
  • 32. INTRODUCTION TO CUCUMBER  Cucumber is a software tool that is used for testing other software.  Cucumber is written in the Ruby programming language.  Cucumber is Aslak Hellesoy’s rewrite of RSpec’s “Story Runner” (April 2008), which was originally written by Dan North.  Cucumber works well with Browser Automation tools (Selenium Web Driver).  A very active open source project.  Supports a variety of languages.
  • 46. HOOKS
  • 48. TAGS