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
![Page 1: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/1.jpg)
*
Why BDD is misunderstood?
Nicholas PufalJuraci Vieira
Oct 2013
![Page 2: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/2.jpg)
**
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)
![Page 3: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/3.jpg)
**
"The definition of insanity is doing the same thing over and over again and
expecting different results."~ BROWN, RITA MAE
![Page 4: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/4.jpg)
**
![Page 5: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/5.jpg)
**
Let's start demystifying these complaints :)
![Page 6: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/6.jpg)
**
Client doesn't care for testing
![Page 7: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/7.jpg)
**
Client doesn’t care for testing That sentence is true for most of the
clients
![Page 8: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/8.jpg)
**
Client doesn’t care for testing Remember, BDD has nothing to do
with testing
![Page 9: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/9.jpg)
**
Client doesn’t want to write the specifications
![Page 10: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/10.jpg)
**
Client doesn’t want to write the specifications He shouldn’t be allowed to write the
specifications by himself
![Page 11: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/11.jpg)
**
Client doesn’t want to write the specifications
Client doesn't need to interact with the tool itself
![Page 12: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/12.jpg)
**
You can achieve the same without a business
readable DSL
![Page 13: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/13.jpg)
**
You can achieve the same without a business readable DSL
You can just use Capybara + RSpec
![Page 14: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/14.jpg)
**
You can achieve the same without a business readable DSL
Would you compare a car to a duck?
![Page 15: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/15.jpg)
**
Real life example: NY investment bank
![Page 16: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/16.jpg)
**
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
![Page 17: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/17.jpg)
**
We need examples to understand!
![Page 18: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/18.jpg)
**
![Page 19: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/19.jpg)
**
![Page 20: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/20.jpg)
**
3 amigos session to the rescue...
![Page 21: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/21.jpg)
**
![Page 22: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/22.jpg)
**
![Page 23: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/23.jpg)
**
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
![Page 24: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/24.jpg)
*
Feature file: concise way of presenting ideas. The path to fulfill business
needs.
*
![Page 25: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/25.jpg)
**
So, what BDD is really about?
![Page 26: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/26.jpg)
**
BDD is a full-stack agile methodology!
![Page 27: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/27.jpg)
**
Examples Tests
Requirements
can become
elaborate verify
Examples, requirements and tests are essentially tied together in a loop.
![Page 28: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/28.jpg)
*
•Enough is enough
•Deliver stakeholder value
•It’s all behavior
*
The principles of BDD
![Page 29: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/29.jpg)
**
How BDD enhances TDD?
![Page 30: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/30.jpg)
**
"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
![Page 31: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/31.jpg)
**
Move away from the word "Test"
![Page 32: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/32.jpg)
**
![Page 33: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/33.jpg)
*
•Explore examples through collaboration
•Create living documentation
*
Two things about BDD
![Page 34: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/34.jpg)
**
Questions?
*
![Page 35: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira](https://reader034.vdocuments.mx/reader034/viewer/2022042813/548db7c3b47959ce0c8b66a5/html5/thumbnails/35.jpg)
**
Thanks!
*
Nicholas Pufale-mail: [email protected]: http://coffeecupblog.comtwitter: @nicholaspufal
Juraci Vieirae-mail: [email protected]: http://testenext.blogspot.com.br