BDD - Meetup

Behaviour Driven Development
What is it and do you need it?
Gordon Marsh, Founder and CEO, CodeFuse Technology
May 2015
www.codefuse.io
Agenda
www.codefuse.io
BDD History
• Developed by Dan North as a solution to issues
that he saw with TDD.
• Evolved out of Agile practices.
• Part of the “shift left” movement to test what you
can as early as you can.
www.codefuse.io
BDD Benefits
•
•
•
•
Team clarity and understanding.
Well managed test automation.
Living documentation.
Less re-work.
www.codefuse.io
Defining a Behaviour
Typically business features will be defined as
a user story:
As a [role]
I want [feature]
So that I receive [value]
www.codefuse.io
OR
In order to [receive value]
As a [role]
I want [feature]
Defining a Behaviour
Given-When-Then (GWT) syntax
Given I have 100 shares of MSFT stock
And I have 150 shares of APPL stock
And the time is before close of trading
When I ask to sell 20 shares of MSFT stock
Then I should have 80 shares of MSFT stock
And I should have 150 shares of APPL stock
And a sell order for 20 shares of MSFT stock should have been executed
www.codefuse.io
BDD Process
www.codefuse.io
BDD and Automation
• BDD is often associated with automation, but it’s
not the sole point!
• Tools such as Cucumber and RSpec offer a
smooth process to convert your English
behaviours into an executable format.
• Usually underpinned by a tool such as Selenium.
www.codefuse.io
What Happened in Practice?
• Team one – fairly small, experienced, everyone bought into
the idea. Worked well.
• Team two – larger, less experienced, BDD viewed as a “testers”
thing with developers doing the techie bit. Improvements to
team understanding but big overhead. Questionable.
• Team three – Larger still, mixed experience, rejected BDD in
favour of SBE. Improvement to team understanding, smaller
overhead.
www.codefuse.io
Do you need BDD?
• CodeFuse has incorporated BDD into our cloud
•
•
•
•
automation product, so we do think it’s useful!
Team/Company size
Experience and discipline
Do you have a problem? Communications?
Is there a better solution for you such as SBE?
www.codefuse.io
Behaviour
Driven
Development
www.codefuse.io
Background to CodeFuse
www.codefuse.io
Start-up lessons learned
Not a “how to” – Mistakes in the first year we’ve had to
address.
www.codefuse.io
Branding
Don’t invest too much time in branding too
early. You want something to build around,
but you may need to change and you don’t
know if there is a market.
www.codefuse.io
Traction
It’s all important!
www.codefuse.io
Route To Market
• Seriously, what is your RTM?
• That’s where you need to “get out there”.
www.codefuse.io
Team – The Ideal Trio
- Financial: Business focus
- Can YOU evolve?
www.codefuse.io
Stop looking at the headlights!
Quitting your job is only the first mental leap
www.codefuse.io
BDD and Start-Up
[email protected]
www.codefuse.io