why-is-bdd-misunderstood, by nicholas pufal and juraci vieira
DESCRIPTION
A lot of people complain about BDD. By taking a closer look at 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. In an effort to avoid further confusion, we decided to present this talk which was followed by an article that had a very good impact, written for ThoughtWorks Insights: http://www.thoughtworks.com/insights/blog/3-misconceptions-about-bdd We hope this helps to let everyone on the same page when the subject is BDD.TRANSCRIPT
*
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