Upload
nicholas-pufal
View
541
Download
1
Embed Size (px)
DESCRIPTION
Many people complain about BDD. By taking a closer look in those complaints we realize that they start to reject BDD not because of its ideas, but because they try to solve all of their problems by installing a tool - and not really applying all of the concepts behind it. So, let's put everyone on the same page when the subject is BDD.
Citation preview
*
Why BDD is misunderstood?
Nicholas PufalJuraci Vieira
Oct 2013
**
Agenda
Introduction(5 min)
Common complaints(10 min)
Real life example: NY investment bank(10 min)
What BDD is really about?(10 min)
Q&A (10 min)
**
"The definition of insanity is doing the same thing over and over again and
expecting different results."~ BROWN, RITA MAE
**
**
Let's start demystifying these complaints :)
**
Client doesn't care for testing
**
Client doesn’t care for testing That sentence is true for most of the
clients
**
Client doesn’t care for testing Remember, BDD has nothing to do
with testing
**
Client doesn’t want to write the specifications
**
Client doesn’t want to write the specifications He shouldn’t be allowed to write the
specifications by himself
**
Client doesn’t want to write the specifications
Client doesn't need to interact with the tool itself
**
You can achieve the same without a business
readable DSL
**
You can achieve the same without a business readable DSL
You can just use Capybara + RSpec
**
You can achieve the same without a business readable DSL
Would you compare a car to a duck?
**
Real life example: NY investment bank
**
Real life example: NY investment bank
•Specifications written using SpecFlow (Cucumber equivalent for .NET)
•Complex business domain
•BAs (client's side) with strong knowledge about the business needs
**
We need examples to understand!
**
**
**
3 amigos session to the rescue...
**
**
**
Real life example: NY investment bank
•No QAs in the team
•3 amigos = 2 Devs + 1 BA
•2 Devs, but one with a QA mindset
*
Feature file: concise way of presenting ideas. The path to fulfill business
needs.
*
**
So, what BDD is really about?
**
BDD is a full-stack agile methodology!
**
Examples Tests
Requirements
can become
elaborate verify
Examples, requirements and tests are essentially tied together in a loop.
*
•Enough is enough
•Deliver stakeholder value
•It’s all behavior
*
The principles of BDD
**
How BDD enhances TDD?
**
"I decided it must be possible to present TDD in a way that
gets straight to the good stuff and avoids all the
pitfalls." ~ NORTH, DAN
**
Move away from the word "Test"
**
*
•Explore examples through collaboration
•Create living documentation
*
Two things about BDD
**
Questions?
*
**
Thanks!
*
Nicholas Pufale-mail: [email protected]: http://coffeecupblog.comtwitter: @nicholaspufal
Juraci Vieirae-mail: [email protected]: http://testenext.blogspot.com.br