BDD: There's more to it than you think

50 %
50 %
Information about BDD: There's more to it than you think

Published on March 11, 2014

Author: wakaleo



"Given..When..Then"...a common perception of Behaviour Driven Development focuses on writing and automating SpecFlow-style scenarios. In fact this is just a small part of BDD: the full scope of BDD ranges from requirements discovery and description, through to driving technical design and implementation, helping testers focus their testing efforts more effectively, and even providing reliable, useful and accurate technical documentation. In this talk, you will learn about how much more there is to BDD than just "Given..When..Then"!

BDD It’s not just ‘given-when-then’

John Ferguson Smart Consultant   Trainer   Mentor   Author   Speaker   Coder

So what is this BDD thing? Scenario:  Learning  About  Qantas     Given  I  am  on  the  Wikipedia  home  page     When  I  search  for  'Qantas'  in  'English'     Then  I  should  see  the  'Qantas'  wikipedia  entry A  Test  Automa6on  Tool?

So what is this BDD thing? Scenario:  Learning  About  Qantas     Given  I  am  on  the  Wikipedia  home  page     When  I  search  for  'Qantas'  in  'English'     Then  I  should  see  the  'Qantas'  wikipedia  entry A  way  to  write  acceptance  criteria?

So what is this BDD thing? Scenario:  Learning  About  Qantas     Given  I  am  on  the  Wikipedia  home  page     When  I  search  for  'Qantas'  in  'English'     Then  I  should  see  the  'Qantas'  wikipedia  entry A  way  to  define  requirements?

BDD Feature Injection Automated Acceptance Criteria API and code design Collaboration Building the software right Building the right software Living Documentation

“Having  the  conversa/on     is  more  important  than     recording  the  conversa/on   is  more  important  than     automa/ng  the  conversa/on”   -­‐  Liz  Keogh BDD  starts  with  conversa6on

Feature  Injec6on Hunt  the  value!

Why do we build any feature? Increase  Revenue Protect  Revenue Reduce  Costs Avoid  Future  Costs

Examples/Scenarios Stories Features Capabilities Goals Acceptance Criteria Where do features come from?

Features guide the development process

But knowing why we build a feature is even better To increase ticket sale revenue Why Who How travellers take the train more often suggest taking the train to friends What online booking social network integration concessions credit card payment

Story bug  reports Working   code boring   manual   tes:ng WASTE BA Developer Tester Many teams build features like this… Collabora6on

…but a little cooperation goes a long way… Working  code     and     Working  Automated   Acceptance  Tests Exploratory  tes:ng,   usability  tes:ng... Shared   understanding Story Examples Automated   acceptance   criteria Collabora6on

We call this “The Three Amigos” BA  and/or  product  owner Tester Developer Automatable   Acceptance   Criteria Shared   understanding Collabora6on

Collabora6on We call this “The Three Amigos”

“Automation without collaboration is empty”

Scenario Step  Defini6ons Low  level  specifica6ons   (aka  “unit  tests”) Applica6on  Code API  and  Code  Design

Oh, the things you can learn… API  and  Code  Design

What  would  we  like  the  API  to  look  like? API  and  Code  Design

Then  write  low-­‐level  specifica6ons  for  the  code API  and  Code  Design

Then  write  low-­‐level  specifica6ons  for  the  code API  and  Code  Design

“Every class is an API for someone”

Living  Documenta6on

Living  Documenta6on A  star:ng  point  for  manual  tests Illustrates  delivered  features Func:onal  and  technical  documenta:on Progress  repor:ng

Living  Documenta6on Scenario: Searching by keyword Given Sally wants to buy a puppy for her son When she looks for ads in the Pets & Animals category containing puppy Then she should obtain a list of ads for puppies for sale

Living  Documenta6on

Living  Documenta6on High level requirements (capabilities)

Living  Documenta6on A capability Features that support this capability

Living  Documenta6on Details for a feature Stories for this feature

Living  Documenta6on Pending story Acceptance criteria for this story

Living  Documenta6on Acceptance criteria Acceptance criteria details

“Living Documentation completes the circle”

In conclusion… It’s  behaviour  all  the  way  down

Thank You John Ferguson Smart wakaleo

Add a comment

Related presentations

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

Body dysmorphic disorder - Simple English Wikipedia, the ...

Body dysmorphic disorder (BDD) ... They usually think about their body for more than ... even though people without BDD do not think they are. There is ...
Read more

BDD | About BDD

HELPING YOU . About BDD; ... whether you look as bad as you think you ... men and women with BDD? There are more similarities than differences between ...
Read more

Body dysmorphic disorder (BDD) - NHS Choices

Body dysmorphic disorder (BDD) ... if you have BDD, there ... CBT is a type of therapy that can help you manage your problems by changing the way you think ...
Read more

BDD | Getting help

... but rather than leaving you feeling more ... think your therapist can support you ... BDD most of the time unless there are more ...
Read more

The Truth about BDD - Clean Coder - Google Sites

Clean Coder Gear. Blog. The ... there are no more than S*E transitions from ... I think that on top of BDD/FSM you also need to be considering the sheer ...
Read more

Body Dysmorphic Disorder — When You Hate Your Appearance ...

It could be BDD, or body dysmorphic disorder, ... which is much more often than the average ... only a screening for BDD. If you think you may have the ...
Read more

BDD: Think Like an Actor - SitePoint – Learn HTML, CSS ...

If you've decided to practice BDD then you've already made a ... BDD: Think Like ... What tangible benefit does it have to you other than satisfying your ...
Read more

What’s the difference between Unit Testing, TDD and BDD ...

What’s the difference between Unit Testing, TDD and BDD? ... They are also more difficult to maintain than unit ... Some think you must use the “xUnit ...
Read more

Home - is dedicated to Kurt Hahn's philosophy and the role of his ideas in the future of ... There is more in you than you think . . . .; United ...
Read more