SlideShare a Scribd company logo
Let’s cook cucumber!!
vodQA Pune 2016
Pranjali Talekar
Amit Gundiyal
Abhay Dalvi
Pranathi Birudugadda
Agenda
Welcome note, Expectation setting, Group split up
Installations
Discussion about BDD and Cucumber
Setup project framework
Hands-on workshop
Advanced Features Demo
Q&A + Feedback
#vodqa
#thoughtworks
INTRODUCTION TO BDD
BDD is...
“Behaviour-driven development is about implementing an
application by describing its behaviour from the perspective of its
stakeholders”
- Dan North
BDD (Contd…)
It is an agile software development practice that has evolved
from TDD (Test Driven Development).
The premise of BDD is to bring technology and business
together.
So, As the name suggests, the practice recommends defining
the behavior upfront and using the same to drive the product
development.
It has evolved from TDD. So there was something amiss in TDD that led to
this evolution. Right ?
No clarity of how much to test.
i.e. should we test for negative numbers, should we test for decimal etc.
There is a clear chance of missing an expected behavior of the
method while implementing it.
It is not driven through a specification or the so called desired behavior. And
because of this, the boundaries are not clear.
Why BDD ?
Mindset
Tooling support
BDD expects the desired behavior to be written in a Given,
When, Then format...
Given describes the pre-requisites for the expectation
When describes the actual steps to carry on the effect of the
expectation
Then describes the verification that the expectations were
met.
How to adopt BDD ?
Benefits of BDD
Usability
System functionality is more deliberate
Developer is placed into the paradigm of a user of the system
Fewer defects
Live documentation
Living specification
Tests describe the behaviour of the system
Higher code quality
Testable code tends to follow better design patterns ( more modular code , flexible ,
understandable etc).
Confidence
Tests cover smaller, incremental slices of the system.
Tests act as safety net covering existing functionality.
Faster Delivery
Tests allow new features to be added more easily without breaking existing ones.
Misunderstanding of requirements appear earlier in development cycle.
Popular BDD testing Tools
Cucumber (https://cucumber.io)
Jasmine (http://jasmine.github.io)
JBehave (http://jbehave.org)
Concordian (http://concordion.org)
easyb (http://easyb.org)
Lets cook cucumber !!
Introduction To Cucumber
❏ Type : Behavior driven development framework / Collaboration
tool / Test tool
❏ Written in : Ruby
❏ Operating system : Cross-platform
❏ Supports about 60+ languages
❏ Automation can be written in own favorite language ( Ruby, Java,
c#.net , JavaScript, Scala, Groovy, Jython, Python, Perl, C++ etc)
❏ Helps to execute plain text functional descriptions as automated
tests
❏ Writing scenarios before code enables programmers to be guided
by an unambiguous specification
Lets cook cucumber !!
How Cucumber executes a scenario ?
INTRODUCTION TO FRAMEWORK
Framework Ecosystem
In a tool we want...
Simplicity
because who doesn’t like simple!!
Maintainability
because everyone has been on a long running project and we
know it is hell to keep tests working
Customized
because we all have our own preferences
Speed
because we all have that need for speed
Understanding Gherkin Syntax
Feature: Cucumber mandates to write a brief feature
description of the scenarios you want to write in a feature
file.Provide a high-level description of a software feature, and
to group related scenarios.
Scenario: Before writing any scenario it also mandates the
user to write a brief scenario description.
Given/When/Then/And - Every step in your scenario would be
starting with one of them.
Example - Gherkin Syntax
Given [Pre - condition]
When [Action performed]
Then [Result]
Example:
Feature: Refund item
Scenario: John returns a faulty microwave
Given John has bought a microwave for $100
And he has a receipt
When he returns the microwave
Then John should be refunded $100
HANDS ON
Advanced Features Demo
Data driven Execution
Table driven execution
Background
Hooks
Tags
Running through CLI ( JUnit way ).
Reports
Suggested Reading
http://dannorth.net/introducing-bdd/
http://behaviourdriven.org/
http://guide.agilealliance.org/guide/bdd.html
http://dannorth.net/2012/05/31/bdd-is-like-tdd-if/
http://lizkeogh.com/behaviour-driven-development/
http://lizkeogh.com/2012/05/30/showcasing-the-language-of-bdd/
http://benmabey.com/2008/05/19/imperative-vs-declarative-scenarios-in-user-
stories.html
The Cucumber Book
THANK YOU
For questions or suggestions:
vodqa-pune@thoughtworks.com
pranathi.b@thoughtworks.com
abhayda@thoughtworks.com
amit.gundiyal@thoughtworks.com
pranjalt@thoughtworks.com

More Related Content

PPTX
Integration of automation framework with ci tools
PDF
Sharing the pain using Protractor
PDF
Increase automation to rest
PDF
What is WAAT?
PDF
Automating Web Analytics
PDF
Gatling Performance Workshop
PPTX
Migration from AngularJS to Angular
PDF
Cucumber ppt
Integration of automation framework with ci tools
Sharing the pain using Protractor
Increase automation to rest
What is WAAT?
Automating Web Analytics
Gatling Performance Workshop
Migration from AngularJS to Angular
Cucumber ppt

What's hot (20)

PDF
How to go about testing in React?
PDF
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
PDF
The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)
PPTX
Test Automation Framework with BDD and Cucumber
PDF
The what, why and how of web analytics testing
PDF
Sharing (less) Pain of using Protractor & WebDriver
PDF
Client-Side Performance Testing
PPTX
Introduction to Bdd and cucumber
PPT
Automated Testing With Jasmine, PhantomJS and Jenkins
ODP
Test Automation Framework using Cucumber BDD overview (part 1)
PDF
Introduction cypress
PDF
Getting Started With Cypress
PPTX
Cucumber BDD
PDF
Mobile automation using selenium cucumber & appium
PPSX
Cucumber & gherkin language
PPTX
Bdd – with cucumber and gherkin
PPTX
Story Testing Approach for Enterprise Applications using Selenium Framework
PPTX
What Is Cucumber?
PPTX
Hands on BDD with cucumber - Agile Goa Sept 2013
PPTX
Automation test framework with cucumber – BDD
How to go about testing in React?
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)
Test Automation Framework with BDD and Cucumber
The what, why and how of web analytics testing
Sharing (less) Pain of using Protractor & WebDriver
Client-Side Performance Testing
Introduction to Bdd and cucumber
Automated Testing With Jasmine, PhantomJS and Jenkins
Test Automation Framework using Cucumber BDD overview (part 1)
Introduction cypress
Getting Started With Cypress
Cucumber BDD
Mobile automation using selenium cucumber & appium
Cucumber & gherkin language
Bdd – with cucumber and gherkin
Story Testing Approach for Enterprise Applications using Selenium Framework
What Is Cucumber?
Hands on BDD with cucumber - Agile Goa Sept 2013
Automation test framework with cucumber – BDD
Ad

Viewers also liked (20)

PPTX
Hallgrímur pétursson
PPTX
My favorite sport[1]
PPT
Power point 4 media
PPTX
Free tibet
PPTX
Sknsz pomaga przy wizycie premiera
PPTX
My favorite sport[1]
PDF
Llista provisional d'inscrits vn'12
PPT
Impress carros esportivos
PDF
Sknsz i prezydent 14.10
RTF
Dfs manual
PPS
Continuing Pakistan Floods
PDF
Playing to win
PPTX
Presentacion Libro advances in ocular surgery Sbrina Lara Patricia Duran Mayr...
PDF
La ruta de la sal 2013
PDF
Palmares 1846 2006
PPTX
Seminarium prawa dla ludzi reguły dla biznesu
PDF
Master Class 'Servicialisation - From Service Identifying to Service Billing ...
PPTX
Marco jurídico epidemiología
PDF
Llista resum d'inscrits norte
PDF
2004 norte general
Hallgrímur pétursson
My favorite sport[1]
Power point 4 media
Free tibet
Sknsz pomaga przy wizycie premiera
My favorite sport[1]
Llista provisional d'inscrits vn'12
Impress carros esportivos
Sknsz i prezydent 14.10
Dfs manual
Continuing Pakistan Floods
Playing to win
Presentacion Libro advances in ocular surgery Sbrina Lara Patricia Duran Mayr...
La ruta de la sal 2013
Palmares 1846 2006
Seminarium prawa dla ludzi reguły dla biznesu
Master Class 'Servicialisation - From Service Identifying to Service Billing ...
Marco jurídico epidemiología
Llista resum d'inscrits norte
2004 norte general
Ad

Similar to Lets cook cucumber !! (20)

PPTX
presentation.pptx
PDF
Introducing BDD and TDD with Cucumber
PDF
BDD & Cucumber
PPTX
So What Do Cucumbers Have To Do With Testing
PPT
BDD along with Continuous Integration
PPT
Stc 2015 regional-round-ppt-bdd along with ci
PDF
[@NaukriEngineering] BDD implementation using Cucumber
PDF
Behavior Driven Development—A Guide to Agile Practices
PPTX
Bdd with Cucumber and Mocha
PDF
Behavior Driven Development with Cucumber
PDF
Master Cucumber cheat sheet for testing .pdf
PPTX
Introduction to Behaviour Driven Development (BDD) and Cucumber with Java
PPTX
Wednesday Webinar on "Strengthening your Agility with BDD - A demo using Cucu...
PDF
Javantura v7 - Behaviour Driven Development with Cucumber - Ivan Lozić
PPTX
Testing with cucumber testing framework
PPTX
Design your tests to behave - An introduction To BDD!
PPTX
BDD 001 behavoir draven delopment ts.pptx
PPT
Behavior Driven Development by Example
PPTX
SGIN2013-ScrumStartRek-CucumberRecipes-SonikChopra
PDF
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
presentation.pptx
Introducing BDD and TDD with Cucumber
BDD & Cucumber
So What Do Cucumbers Have To Do With Testing
BDD along with Continuous Integration
Stc 2015 regional-round-ppt-bdd along with ci
[@NaukriEngineering] BDD implementation using Cucumber
Behavior Driven Development—A Guide to Agile Practices
Bdd with Cucumber and Mocha
Behavior Driven Development with Cucumber
Master Cucumber cheat sheet for testing .pdf
Introduction to Behaviour Driven Development (BDD) and Cucumber with Java
Wednesday Webinar on "Strengthening your Agility with BDD - A demo using Cucu...
Javantura v7 - Behaviour Driven Development with Cucumber - Ivan Lozić
Testing with cucumber testing framework
Design your tests to behave - An introduction To BDD!
BDD 001 behavoir draven delopment ts.pptx
Behavior Driven Development by Example
SGIN2013-ScrumStartRek-CucumberRecipes-SonikChopra
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman

More from vodQA (20)

PPTX
Performance Testing
PPTX
Testing Strategy in Micro Frontend architecture
PPTX
Api testing libraries using java script an overview
PPTX
Testing face authentication on mobile
PPTX
Testing cna
PPTX
Etl engine testing with scala
PPTX
EDA for QAs
PDF
vodQA Pune (2019) - Browser automation using dev tools
PPTX
vodQA Pune (2019) - Augmented reality overview and testing challenges
PPTX
vodQA Pune (2019) - Testing AI,ML applications
PPTX
vodQA Pune (2019) - Design patterns in test automation
PPTX
vodQA Pune (2019) - Testing ethereum smart contracts
PPTX
vodQA Pune (2019) - Insights into big data testing
PDF
vodQA Pune (2019) - Performance testing cloud deployments
PDF
vodQA Pune (2019) - Jenkins pipeline As code
PPTX
vodQA(Pune) 2018 - Consumer driven contract testing using pact
PPTX
vodQA(Pune) 2018 - Visual testing of web apps in headless environment manis...
PPTX
vodQA(Pune) 2018 - Enhancing the capabilities of testing team preparing for...
PPTX
vodQA(Pune) 2018 - QAing the security way
PPTX
vodQA(Pune) 2018 - Docker in Testing
Performance Testing
Testing Strategy in Micro Frontend architecture
Api testing libraries using java script an overview
Testing face authentication on mobile
Testing cna
Etl engine testing with scala
EDA for QAs
vodQA Pune (2019) - Browser automation using dev tools
vodQA Pune (2019) - Augmented reality overview and testing challenges
vodQA Pune (2019) - Testing AI,ML applications
vodQA Pune (2019) - Design patterns in test automation
vodQA Pune (2019) - Testing ethereum smart contracts
vodQA Pune (2019) - Insights into big data testing
vodQA Pune (2019) - Performance testing cloud deployments
vodQA Pune (2019) - Jenkins pipeline As code
vodQA(Pune) 2018 - Consumer driven contract testing using pact
vodQA(Pune) 2018 - Visual testing of web apps in headless environment manis...
vodQA(Pune) 2018 - Enhancing the capabilities of testing team preparing for...
vodQA(Pune) 2018 - QAing the security way
vodQA(Pune) 2018 - Docker in Testing

Recently uploaded (20)

PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Encapsulation theory and applications.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Modernizing your data center with Dell and AMD
PPTX
Big Data Technologies - Introduction.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Cloud computing and distributed systems.
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPT
Teaching material agriculture food technology
PDF
Machine learning based COVID-19 study performance prediction
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Network Security Unit 5.pdf for BCA BBA.
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Encapsulation theory and applications.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Modernizing your data center with Dell and AMD
Big Data Technologies - Introduction.pptx
Spectral efficient network and resource selection model in 5G networks
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Cloud computing and distributed systems.
NewMind AI Monthly Chronicles - July 2025
Unlocking AI with Model Context Protocol (MCP)
20250228 LYD VKU AI Blended-Learning.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Encapsulation_ Review paper, used for researhc scholars
The Rise and Fall of 3GPP – Time for a Sabbatical?
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Teaching material agriculture food technology
Machine learning based COVID-19 study performance prediction
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Network Security Unit 5.pdf for BCA BBA.

Lets cook cucumber !!

Editor's Notes

  • #3: Talk about the agenda What is BDD according to you guys?
  • #23: this looks professional