2. What is Cucumber?
• Serves as documentation, automated tests
and development-aid - all rolled into one
format.
• Written by the team, in a language
understood by all.
• Cucumber is a Behaviour Driven Development
tool.
3. Agenda
• Introduction to BDD
• BDD Vs TDD
• Cucumber Features
• Demo: The real power of Cucumber
• Integration with different languages and
platforms
6. What we really do….
As a professional, I want to search for a conference
in India so that I can upgrade my skillset.
? User Stories are High Level
? Where to start with TDD?
? What to Test and what not to
Test
? What to call the tests?
? How much to test in one go?
10. BDD – Outside In Pull Based
VISION
GOAL
FEATURE
STORY
SCENARIO
CODE
11. Scenarios and Examples in Ubiquitous Language
HAVING CONVERSATION IS
MORE IMPORTANT
TALKING THROUGH
EXAMPLES HELP DISCOVER
CONSIDERS MULTIPLE
STAKEHOLDERS
12. BDD Vs TDD
• Development Methodology Vs Development
Technique
• Business Driven Vs Design Approach
• Customer Writing Tests Vs Developers writing
Tests
• Focus on Behavioural Aspect Vs Implementation
Aspect
13. Cucumber Example…
Story:
As a user
I want to login with my details
So that I can get access to the site
Scenario: User uses wrong password
Given a username 'jdoe'
And a password 'letmein'
When the user logs in with username and password
Then the login form should be shown again
GHERKIN
LANGUAGE
Gherkin Supports
40+ Languages.
14. Cucumber at a glance…
Written in plain
English Language using
Gherkin
Source Code in Ruby
Or Java Or Dot Net etc
16. Cucumber
for Dot Net
SpecFlow
Iron Ruby
Cuke4Nuke
Cucumber
for Java
Cuke4Duke
Webdriver
tools
Watir
Selenium
Mobile
Android –
Calabash
IOS – Frank
Win Phone
Competitive
products
FIT/FITNESS
Robot
Framework
Concordian
EasyB
JBehave
Integration with other platforms
17. • TestBot Or Hydra : Tools used to run
Cucumber tests in parallel. You can also use
Jenkins and create slave machines.
• Relish: A service to publish cucumber features
as documentation
• FactoryGirl GEM: Test Data Builder
• Easy to Integrate with CI environment.
Cucumber Add Ons
18. Summary
• Cucumber is a BDD tool.
• One stop shop for Requirements,
Development, Scenarios and Acceptance test.
• Written by the team, in a language
understood by all.
• Easy to integrate with different environments.
• Supported in multiple languages and
platforms.