sgin2013 scrum startrek-cucumber recipes-sonikchopra
DESCRIPTION
TRANSCRIPT
![Page 1: Sgin2013 scrum startrek-cucumber recipes-sonikchopra](https://reader033.vdocuments.us/reader033/viewer/2022060106/54850c6ab4795984178b48d9/html5/thumbnails/1.jpg)
Cucumber Recipes
Sonik Chopra PMI ACP, PMP Agile Coach, Manager Pitney Bowes Software
![Page 2: Sgin2013 scrum startrek-cucumber recipes-sonikchopra](https://reader033.vdocuments.us/reader033/viewer/2022060106/54850c6ab4795984178b48d9/html5/thumbnails/2.jpg)
Agenda
• Introduction to BDD
• BDD Vs TDD
• Cucumber Features
• Demo: The real power of Cucumber
• Integration with different languages and platforms
![Page 3: Sgin2013 scrum startrek-cucumber recipes-sonikchopra](https://reader033.vdocuments.us/reader033/viewer/2022060106/54850c6ab4795984178b48d9/html5/thumbnails/3.jpg)
Behaviour Driven Development
Implementing an application by describing its behaviour by the perspective of its stakeholders..
Dan North
![Page 4: Sgin2013 scrum startrek-cucumber recipes-sonikchopra](https://reader033.vdocuments.us/reader033/viewer/2022060106/54850c6ab4795984178b48d9/html5/thumbnails/4.jpg)
But don’t we already do this??
![Page 5: Sgin2013 scrum startrek-cucumber recipes-sonikchopra](https://reader033.vdocuments.us/reader033/viewer/2022060106/54850c6ab4795984178b48d9/html5/thumbnails/5.jpg)
What we really do…. As a Retail Customer, I want to withdraw money from my Account so that I can get Money.
Unit Tests
Should_Not_Dispense_When_the_ClientAccount_has_money_lessthan_minimum_amount()
Should_withdraw_Money_When_appropriate_Sum_Found()
Should_Not_Withdaw_Post_Expiry_Date()
Should_Withdraw_Post_Expiry_Date()
Should_Be_A_Valid_User()
Should_Not_Withdraw_When_Negative_Balance()
Should_Be_A_Valid_Account_Type()
Should_Return_Error_When_ATM_Is_Without_Cash()
![Page 6: Sgin2013 scrum startrek-cucumber recipes-sonikchopra](https://reader033.vdocuments.us/reader033/viewer/2022060106/54850c6ab4795984178b48d9/html5/thumbnails/6.jpg)
Restricted view on Behaviour
![Page 7: Sgin2013 scrum startrek-cucumber recipes-sonikchopra](https://reader033.vdocuments.us/reader033/viewer/2022060106/54850c6ab4795984178b48d9/html5/thumbnails/7.jpg)
Difference in thinking
CLIENT CUSTOMER
BUYER
SHOPPER
PUNTER
DEV QA BA CLIENT PO
![Page 8: Sgin2013 scrum startrek-cucumber recipes-sonikchopra](https://reader033.vdocuments.us/reader033/viewer/2022060106/54850c6ab4795984178b48d9/html5/thumbnails/8.jpg)
Increased Ambiguity LOST
![Page 9: Sgin2013 scrum startrek-cucumber recipes-sonikchopra](https://reader033.vdocuments.us/reader033/viewer/2022060106/54850c6ab4795984178b48d9/html5/thumbnails/9.jpg)
BDD – Outside In
VISION
GOAL
FEATURE
STORY
SCENARIO
CODE
![Page 10: Sgin2013 scrum startrek-cucumber recipes-sonikchopra](https://reader033.vdocuments.us/reader033/viewer/2022060106/54850c6ab4795984178b48d9/html5/thumbnails/10.jpg)
Scenarios and Examples in Ubiquitous Language
HAVING CONVERSATION IS MORE IMPORTANT
TALKING THROUGH EXAMPLES HELP DISCOVER
CONSIDERS MULTIPLE STAKEHOLDERS
![Page 11: Sgin2013 scrum startrek-cucumber recipes-sonikchopra](https://reader033.vdocuments.us/reader033/viewer/2022060106/54850c6ab4795984178b48d9/html5/thumbnails/11.jpg)
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
![Page 12: Sgin2013 scrum startrek-cucumber recipes-sonikchopra](https://reader033.vdocuments.us/reader033/viewer/2022060106/54850c6ab4795984178b48d9/html5/thumbnails/12.jpg)
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.
![Page 13: Sgin2013 scrum startrek-cucumber recipes-sonikchopra](https://reader033.vdocuments.us/reader033/viewer/2022060106/54850c6ab4795984178b48d9/html5/thumbnails/13.jpg)
Cucumber at a glance…
Written in plain English Language using Gherkin
Source Code in Ruby Or Java Or Dot Net etc
![Page 14: Sgin2013 scrum startrek-cucumber recipes-sonikchopra](https://reader033.vdocuments.us/reader033/viewer/2022060106/54850c6ab4795984178b48d9/html5/thumbnails/14.jpg)
DEMO of Cucumber Capabilities
![Page 15: Sgin2013 scrum startrek-cucumber recipes-sonikchopra](https://reader033.vdocuments.us/reader033/viewer/2022060106/54850c6ab4795984178b48d9/html5/thumbnails/15.jpg)
Cucumber for Dot Net
SpecFlow
Iron Ruby
Cuke4Nuke
Cucumber for Java
Cuke4Duke
Webdriver tools
Watir
Selenium
Competitive products
FIT/FITNESS
Robot Framework
Concordian
EasyB
JBehave
Integration with other platforms
![Page 16: Sgin2013 scrum startrek-cucumber recipes-sonikchopra](https://reader033.vdocuments.us/reader033/viewer/2022060106/54850c6ab4795984178b48d9/html5/thumbnails/16.jpg)
• 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
![Page 17: Sgin2013 scrum startrek-cucumber recipes-sonikchopra](https://reader033.vdocuments.us/reader033/viewer/2022060106/54850c6ab4795984178b48d9/html5/thumbnails/17.jpg)
Thank You
Sonik Chopra PMI ACP, PMP Agile Coach, Manager Pitney Bowes Software [email protected] http://in.linkedin.com/in/sonikchopra Twitter: @sonikchopra