its testing-jim-but-not-as-we-know-it-devoxx

Post on 13-Jul-2015

2.243 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

@YourTwitterHandle#YourSessionHashtag

It’s testing, Jim, but not as we know it

John Ferguson Smart @wakaleo https://java.net/blogs/johnsmart http://www.wakaleo.com

@wakaleo#bddinactionuk

It’s testing, Jim, but not as we know it

John Ferguson Smart

Consultant  Trainer  Mentor  Author  Speaker  Coder

@wakaleo#bddinactionuk

It’s testing, Jim, but not as we know it

John Ferguson Smart

Consultant  Trainer  Mentor  Author  Speaker  Coder

@wakaleo#bddinactionuk

It’s testing, Jim, but not as we know it

John Ferguson Smart

Consultant  Trainer  Mentor  Author  Speaker  Coder

@wakaleo#bddinactionuk

It’s testing, Jim, but not as we know it

John Ferguson Smart

Consultant  Trainer  Mentor  Author  Speaker  Coder

@wakaleo#bddinactionuk

Behaviour Driven Development

@wakaleo#bddinactionuk

Behaviour Driven Development

Using examples

@wakaleo#bddinactionuk

Behaviour Driven Development

Using examples a shared understanding

@wakaleo#bddinactionuk

Behaviour Driven Development

Using examples a shared understanding

surface uncertainty

@wakaleo#bddinactionuk

Behaviour Driven Development

Using examples a shared understanding

surface uncertainty software that matters

@wakaleo#bddinactionuk

Behaviour Driven Development

BDD

@wakaleo#bddinactionuk

Behaviour Driven Development

BDDCollaboration

@wakaleo#bddinactionuk

Behaviour Driven Development

BDD

Hunting out value

Collaboration

@wakaleo#bddinactionuk

Behaviour Driven Development

BDD

Hunting out value

Collaboration

Building the right software

@wakaleo#bddinactionuk

Behaviour Driven Development

BDD

Hunting out value Automated Acceptance Criteria

Collaboration

Building the right software

@wakaleo#bddinactionuk

Behaviour Driven Development

BDD

Hunting out value Automated Acceptance Criteria

API and code design

Collaboration

Building the right software

@wakaleo#bddinactionuk

Behaviour Driven Development

BDD

Hunting out value Automated Acceptance Criteria

API and code design

Collaboration

Building the software right

Building the right software

@wakaleo#bddinactionuk

Behaviour Driven Development

BDD

Hunting out value Automated Acceptance Criteria

API and code design

Collaboration

Building the software right

Building the right software

Living Documentation

@wakaleo#bddinactionuk

The business owner tells the business

analyst what he wants

12 The business

analyst writes a requirements

document

3 The developer translates the requirements into software

4 The tester translates the requirements

into test cases 5 The technical writer translates

the software into functional and technical

documentationA traditional development process

BDD in a nutshell

@wakaleo#bddinactionuk

The business owner tells the business

analyst what he wants

12 The business

analyst writes a requirements

document

3 The developer translates the requirements into software

4 The tester translates the requirements

into test cases 5 The technical writer translates

the software into functional and technical

documentationA traditional development process

BDD in a nutshell

@wakaleo#bddinactionuk

The business owner tells the business

analyst what he wants

12 The business

analyst writes a requirements

document

3 The developer translates the requirements into software

4 The tester translates the requirements

into test cases 5 The technical writer translates

the software into functional and technical

documentationA traditional development process

BDD in a nutshell

@wakaleo#bddinactionuk

The business owner tells the business

analyst what he wants

12 The business

analyst writes a requirements

document

3 The developer translates the requirements into software

4 The tester translates the requirements

into test cases 5 The technical writer translates

the software into functional and technical

documentationA traditional development process

BDD in a nutshell

@wakaleo#bddinactionuk

The business owner tells the business

analyst what he wants

12 The business

analyst writes a requirements

document

3 The developer translates the requirements into software

4 The tester translates the requirements

into test cases 5 The technical writer translates

the software into functional and technical

documentationA traditional development process

BDD in a nutshell

@wakaleo#bddinactionuk

The business owner tells the business

analyst what he wants

12 The business

analyst writes a requirements

document

3 The developer translates the requirements into software

4 The tester translates the requirements

into test cases 5 The technical writer translates

the software into functional and technical

documentationA traditional development process

BDD in a nutshell

@wakaleo#bddinactionuk

The business owner tells the business

analyst what he wants

12 The business

analyst writes a requirements

document

3 The developer translates the requirements into software

4 The tester translates the requirements

into test cases 5 The technical writer translates

the software into functional and technical

documentationA traditional development process

BDD in a nutshell

@wakaleo#bddinactionuk

The business owner tells the business

analyst what he wants

12 The business

analyst writes a requirements

document

3 The developer translates the requirements into software

4 The tester translates the requirements

into test cases 5 The technical writer translates

the software into functional and technical

documentationA traditional development process

BDD in a nutshell

@wakaleo#bddinactionuk

The business owner tells the business

analyst what he wants

12 The business

analyst writes a requirements

document

3 The developer translates the requirements into software

4 The tester translates the requirements

into test cases 5 The technical writer translates

the software into functional and technical

documentationA traditional development process

BDD in a nutshell

@wakaleo#bddinactionuk

The business owner tells the business

analyst what he wants

12 The business

analyst writes a requirements

document

3 The developer translates the requirements into software

4 The tester translates the requirements

into test cases 5 The technical writer translates

the software into functional and technical

documentationA traditional development process

BDD in a nutshell

@wakaleo#bddinactionuk

The business owner tells the business

analyst what he wants

12 The business

analyst writes a requirements

document

3 The developer translates the requirements into software

4 The tester translates the requirements

into test cases 5 The technical writer translates

the software into functional and technical

documentationA traditional development process

BDD in a nutshell

@wakaleo#bddinactionuk

The business owner and the business

analyst have a conversation about

what he needs.

1

2

3

4 The tester uses these scenarios as the basis for

her tests

5

The automated tests provide feedback on progress and help

document the application

The business analyst, the developer and the tester elaborate the

requirements together.

The scenarios guide the developer and act as

automated tests

They define requirements as

structured, English-language format

"scenarios"

A BDD development process

@wakaleo#bddinactionuk

The business owner and the business

analyst have a conversation about

what he needs.

1

2

3

4 The tester uses these scenarios as the basis for

her tests

5

The automated tests provide feedback on progress and help

document the application

The business analyst, the developer and the tester elaborate the

requirements together.

The scenarios guide the developer and act as

automated tests

They define requirements as

structured, English-language format

"scenarios"

A BDD development process

@wakaleo#bddinactionuk

The business owner and the business

analyst have a conversation about

what he needs.

1

2

3

4 The tester uses these scenarios as the basis for

her tests

5

The automated tests provide feedback on progress and help

document the application

The business analyst, the developer and the tester elaborate the

requirements together.

The scenarios guide the developer and act as

automated tests

They define requirements as

structured, English-language format

"scenarios"

A BDD development process

@wakaleo#bddinactionuk

The business owner and the business

analyst have a conversation about

what he needs.

1

2

3

4 The tester uses these scenarios as the basis for

her tests

5

The automated tests provide feedback on progress and help

document the application

The business analyst, the developer and the tester elaborate the

requirements together.

The scenarios guide the developer and act as

automated tests

They define requirements as

structured, English-language format

"scenarios"

A BDD development process

@wakaleo#bddinactionuk

The business owner and the business

analyst have a conversation about

what he needs.

1

2

3

4 The tester uses these scenarios as the basis for

her tests

5

The automated tests provide feedback on progress and help

document the application

The business analyst, the developer and the tester elaborate the

requirements together.

The scenarios guide the developer and act as

automated tests

They define requirements as

structured, English-language format

"scenarios"

A BDD development process

@wakaleo#bddinactionuk

The business owner and the business

analyst have a conversation about

what he needs.

1

2

3

4 The tester uses these scenarios as the basis for

her tests

5

The automated tests provide feedback on progress and help

document the application

The business analyst, the developer and the tester elaborate the

requirements together.

The scenarios guide the developer and act as

automated tests

They define requirements as

structured, English-language format

"scenarios"

A BDD development process

@wakaleo#bddinactionuk

The business owner and the business

analyst have a conversation about

what he needs.

1

2

3

4 The tester uses these scenarios as the basis for

her tests

5

The automated tests provide feedback on progress and help

document the application

The business analyst, the developer and the tester elaborate the

requirements together.

The scenarios guide the developer and act as

automated tests

They define requirements as

structured, English-language format

"scenarios"

A BDD development process

•Specifica8ons  are  elaborated  collabora8vely  •Specifica8ons  use  a  common  language  •Executable  specifica8ons  provide  fast  feedback

@wakaleo#bddinactionuk

Building software that matters

Building the thing right

Building the right thing

Wha

t

How

Mis

alig

ned

requ

irem

ents

Poor craftsmanship

@wakaleo#bddinactionuk

Building software that matters

Building the thing right

Building the right thing

Wha

t

How

Mis

alig

ned

requ

irem

ents

Poor craftsmanship

Solves the wrong problem well

@wakaleo#bddinactionuk

Building software that matters

Building the thing right

Building the right thing

Wha

t

How

Mis

alig

ned

requ

irem

ents

Poor craftsmanship

Solves the wrong problem well

Solves the right problem poorly

@wakaleo#bddinactionuk

Building software that matters

Building the thing right

Building the right thing

Wha

t

How

Mis

alig

ned

requ

irem

ents

Poor craftsmanship

Buggy and useless

Solves the wrong problem well

Solves the right problem poorly

@wakaleo#bddinactionuk

Building software that matters

Building the thing right

Building the right thing

Wha

t

How

Mis

alig

ned

requ

irem

ents

Poor craftsmanship

Buggy and useless

Slow to change

Solves the wrong problem well

Solves the right problem poorly

@wakaleo#bddinactionuk

Building software that matters

Building the thing right

Building the right thing

Wha

t

How

Mis

alig

ned

requ

irem

ents

Poor craftsmanship

Buggy and useless

Hard to maintain

Slow to change

Solves the wrong problem well

Solves the right problem poorly

@wakaleo#bddinactionuk

Building software that matters

Building the thing right

Building the right thing

Wha

t

How

Mis

alig

ned

requ

irem

ents

Poor craftsmanship

Buggy and useless

Hard to maintain

Slow to change

Does what the business needs Reliable Easy to maintain

Solves the wrong problem well

Solves the right problem poorly

“Show  me  the  money”

@wakaleo#bddinactionuk

Building software that matters

Business Goal

Business Goal

Business Goal

We  start  with  a  business  goal

@wakaleo#bddinactionuk

Building software that matters

Business Goal

Business Goal

Business Goal

We  start  with  a  business  goal

“Increase  *cket  sales  by  5%  over  the  next  year  by  encouraging  travelers  to  fly  with  Flying  High  

rather  than  with  a  rival  company.”

@wakaleo#bddinactionuk

Building software that matters

Business Goal

Business Goal

Business Goal

What  features  will  enable  us  to  deliver  this  goal?

FeaturesFeaturesFeatures

@wakaleo#bddinactionuk

Building software that matters

Business Goal

Business Goal

Business Goal

What  features  will  enable  us  to  deliver  this  goal?

FeaturesFeaturesFeatures

Earn  Frequent  Flyer  points  from  flights

@wakaleo#bddinactionuk

Building software that matters

Business Goal

Business Goal

Business Goal

What  features  will  enable  us  to  deliver  this  goal?

FeaturesFeaturesFeatures

Earn  Frequent  Flyer  points  from  flights

Earn  Frequent  Flyer  points  from  purchases

@wakaleo#bddinactionuk

Building software that matters

Business Goal

Business Goal

Business Goal

What  features  will  enable  us  to  deliver  this  goal?

FeaturesFeaturesFeatures

Earn  Frequent  Flyer  points  from  flights

Earn  Frequent  Flyer  points  from  purchases

View  Frequent  Flyer  account  balance  online

@wakaleo#bddinactionuk

Building software that matters

Business Goal

Business Goal

Business Goal FeaturesFeaturesFeatures

We  use  conversa8ons  around  examples  to  build  up  our  understanding  of  these  features  

FeaturesFeaturesExamples

@wakaleo#bddinactionuk

Building software that matters

Business Goal

Business Goal

Business Goal FeaturesFeaturesFeatures

We  use  conversa8ons  around  examples  to  build  up  our  understanding  of  these  features  

FeaturesFeaturesExamples

“A  new  Frequent  Flyer  member  starts  off  with  Bronze  status”

@wakaleo#bddinactionuk

Building software that matters

Business Goal

Business Goal

Business Goal FeaturesFeaturesFeatures

We  use  conversa8ons  around  examples  to  build  up  our  understanding  of  these  features  

FeaturesFeaturesExamples

“A  new  Frequent  Flyer  member  starts  off  with  Bronze  status”

“If  she  earns  300  points,  she  becomes  a  Silver  Frequent  Flyer  member”

@wakaleo#bddinactionuk

Increase ticket sales revenue by 5%

Frequent Flyer members

Call centre staff

Buy more tickets

Encourage friends to join

Spend less time on phone sales

Purchase flights with redeemed miles

Purchase other goods with redeemed miles

Facebook and Twitter integration

Online sales

Why Who How What

Building software that matters

Techniques  like  Impact  Mapping  can  help  us  discuss  what  features  are  worth  building

@wakaleo#bddinactionuk

BDD - you don’t know what you don’t knowUnderstanding of what needs to be

delivered

Time

@wakaleo#bddinactionuk

BDD - you don’t know what you don’t knowUnderstanding of what needs to be

delivered

Time

Requirementsphase done

AnalysisPhase done

@wakaleo#bddinactionuk

BDD - you don’t know what you don’t knowUnderstanding of what needs to be

delivered

Time

Requirementsphase done

AnalysisPhase done

@wakaleo#bddinactionuk

BDD - you don’t know what you don’t knowUnderstanding of what needs to be

delivered

Time

Requirementsphase done

AnalysisPhase done

•Our  ignorance  decreases  over  8me  • It  does  not  decrease  at  a  linear  rate  • It  does  not  always  decrease  in  a  predictable  way

@wakaleo#bddinactionuk

BDD - building a shared understanding

@wakaleo#bddinactionuk

BDD - building a shared understanding

“Having  the  conversa/on    is  more  important  than    

recording  the  conversa/on  is  more  important  than    

automa/ng  the  conversa/on”  -­‐  Liz  Keogh

Building  a  shared  understanding

The  essence  of  BDD

@wakaleo#bddinactionuk

BDD - building a shared understanding

Story

bug  reports

Working  code boring  

manual  tes*ng

WASTEBA

Developer

TesterMany  teams  build  features  like  this

@wakaleo#bddinactionuk

BDD - building a shared understanding

A  liKle  collabora8on  goes  a  long  way

Story

@wakaleo#bddinactionuk

BDD - building a shared understanding

A  liKle  collabora8on  goes  a  long  way

Story

@wakaleo#bddinactionuk

BDD - building a shared understanding

A  liKle  collabora8on  goes  a  long  way

Story

@wakaleo#bddinactionuk

BDD - building a shared understanding

A  liKle  collabora8on  goes  a  long  way

Story

@wakaleo#bddinactionuk

BDD - building a shared understanding

A  liKle  collabora8on  goes  a  long  way

StoryExamples

@wakaleo#bddinactionuk

BDD - building a shared understanding

A  liKle  collabora8on  goes  a  long  way

StoryExamplesAutomated  acceptance  criteria

@wakaleo#bddinactionuk

BDD - building a shared understanding

A  liKle  collabora8on  goes  a  long  way

Shared  understanding

StoryExamplesAutomated  acceptance  criteria

@wakaleo#bddinactionuk

BDD - building a shared understanding

A  liKle  collabora8on  goes  a  long  way

Working  code    and    

Working  Automated  Acceptance  Tests

Shared  understanding

StoryExamplesAutomated  acceptance  criteria

@wakaleo#bddinactionuk

BDD - building a shared understanding

A  liKle  collabora8on  goes  a  long  way

Working  code    and    

Working  Automated  Acceptance  Tests

Exploratory  tes*ng,  usability  tes*ng...

Shared  understanding

StoryExamplesAutomated  acceptance  criteria

@wakaleo#bddinactionuk

BDD - building a shared understandingBA  and/or  product  owner

Tester Developer Automatable  Acceptance  Criteria

Shared  understanding

@wakaleo#bddinactionuk

BDD - building a shared understandingBA  and/or  product  owner

Tester Developer Automatable  Acceptance  Criteria

Shared  understanding

“The  Three  Amigos”

@wakaleo#bddinactionuk

BDD - building a shared understanding

@wakaleo#bddinactionuk

BDD - building a shared understanding

“The  Three  Amigos”

@wakaleo#bddinactionuk

BDD - building a shared understanding

“The  Three  Amigos”

@wakaleo#bddinactionuk

BDD - building a shared understanding

“The  Three  Amigos”

@wakaleo#bddinactionuk

BDD - building a shared understanding

“The  Three  Amigos”

@wakaleo#bddinactionuk

BDD - building a shared understanding

“The  Three  Amigos”

@wakaleo#bddinactionuk

Discovering requirements through examples

@wakaleo#bddinactionuk

Discovering requirements through examples

“A  new  Frequent  Flyer  member  starts  off  with  Bronze  status”

@wakaleo#bddinactionuk

Discovering requirements through examples

“A  new  Frequent  Flyer  member  starts  off  with  Bronze  status”

“If  she  earns  300  points,  she  becomes  a  Silver  Frequent  Flyer  member”

@wakaleo#bddinactionuk

Discovering requirements through examples

“A  new  Frequent  Flyer  member  starts  off  with  Bronze  status”

“If  she  earns  300  points,  she  becomes  a  Silver  Frequent  Flyer  member”

“If  I  ask  for  the  details  about  the  flight  FH-­‐102,  I  should  see  that  it  is  a  Sydney  to  Hong  Kong  flight  that  leaves  at  11:55pm  ”

@wakaleo#bddinactionuk

Discovering requirements through examples

“A  new  Frequent  Flyer  member  starts  off  with  Bronze  status”

“If  she  earns  300  points,  she  becomes  a  Silver  Frequent  Flyer  member”

“If  I  ask  for  the  details  about  the  flight  FH-­‐102,  I  should  see  that  it  is  a  Sydney  to  Hong  Kong  flight  that  leaves  at  11:55pm  ”

•Explore  requirements  •Discover  what  we  don’t  know  •Clarify  ambigui8es  • Iden8fy  assump8ons  and  misunderstandings  

@wakaleo#bddinactionuk

Discovering requirements through examples

We  express  the  examples  in  a  structured  format  using  simple  English  phrases

@wakaleo#bddinactionuk

Discovering requirements through examples

We  express  the  examples  in  a  structured  format  using  simple  English  phrases

@wakaleo#bddinactionuk

Discovering requirements through examples

We  express  the  examples  in  a  structured  format  using  simple  English  phrases

@wakaleo#bddinactionuk

Discovering requirements through examples

We  express  the  examples  in  a  structured  format  using  simple  English  phrases

@wakaleo#bddinactionuk

Automated acceptance criteria

“It is fun to have fun But you have to know how”

*Dr Seuss, “The Cat in the Hat”

*

@wakaleo#bddinactionuk

Automated acceptance criteria

@wakaleo#bddinactionuk

Automated acceptance criteria

@wakaleo#bddinactionuk

Business  Rules

Business  Flow

Page/Component  interac*ons

Page/Component/Service  API

Write testing APIs, not test scripts

@wakaleo#bddinactionuk

Business  Rules

Business  Flow

Page/Component  interac*ons

Page/Component/Service  API

Write testing APIs, not test scripts

@wakaleo#bddinactionuk

Business  Rules

Business  Flow

Page/Component  interac*ons

Page/Component/Service  API

Write testing APIs, not test scripts

@wakaleo#bddinactionuk

Business  Rules

Business  Flow

Page/Component  interac*ons

Page/Component/Service  API

Write testing APIs, not test scripts

@wakaleo#bddinactionuk

Business  Rules

Business  Flow

Page/Component  interac*ons

Page/Component/Service  API

Write testing APIs, not test scripts

@wakaleo#bddinactionuk

Work together!

@wakaleo#bddinactionuk

Work together!

•Discuss  tes8ng  strategies  in  the  “Three  Amigos”  sessions  •Factor  testability  into  the  design  •Developers  and  testers  pair  to  implement  the  automated  tests  

@wakaleo#bddinactionuk

Focus on business value

@wakaleo#bddinactionuk

Focus on business value

@wakaleo#bddinactionuk

Focus on business value

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

Illustrates  delivered  features

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

A  star*ng  point  for  manual  tests

Illustrates  delivered  features

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

A  star*ng  point  for  manual  tests

Illustrates  delivered  features

Progress  repor*ng

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

A  star*ng  point  for  manual  tests

Illustrates  delivered  features

Func*onal  and  technical  documenta*on

Progress  repor*ng

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

Living  documenta8on  gives  an  up-­‐to-­‐date  overview  of  the  project  status

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

Test  reports  tell  us…

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

Test  reports  tell  us…

How  many  tests  passed

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

Test  reports  tell  us…

How  many  failed

How  many  tests  passed

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

Test  reports  tell  us…

How  many  failed

How  many  tests  passed

How  many  weren’t  run

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

Test  reports  tell  us…

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

Test  reports  tell  us…

What  tests  exist  for  a  given  feature

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

Test  reports  tell  us…

What  tests  exist  for  a  given  feature

How  stable  the  feature  is

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

Test  reports  tell  us…

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

Test  reports  tell  us…

How  a  feature  was  tested

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

Test  reports  tell  us…

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

Test  reports  tell  us…

What  a  feature  looks  like

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

Test  reports  tell  us…

What  a  feature  looks  like

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

Test  reports  tell  us…

What  a  feature  looks  like

@wakaleo#bddinactionuk

Living Documentation - DIY!

@wakaleo#bddinactionuk

Living Documentation - DIY!

It’s  the  approach,  not  the  tool

@wakaleo#bddinactionuk

Living Documentation - DIY!

It’s  the  approach,  not  the  tool

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

Test results do not tell us what was not tested

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

Feature  Coverage  tells  us…

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

Feature  Coverage  tells  us…

What  do  we  plan  to  deliver?

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

Feature  Coverage  tells  us…

What  do  we  plan  to  deliver?

What  has  been  done?

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

Feature  Coverage  tells  us…

What  do  we  plan  to  deliver?

What  has  been  done? What  is  in  progress

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

Feature  Coverage  tells  us…

What  do  we  plan  to  deliver?

What  has  been  done? What  is  in  progress

What  hasn’t  been  started  yet

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

Feature  Coverage  tells  us…

What  do  we  plan  to  deliver?

What  has  been  done? What  is  in  progress

What  hasn’t  been  started  yet

How  many  automated  and  manual  tests  were  performed

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

Feature  Coverage  tells  us…

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

Feature  Coverage  tells  us…

What  stories  are  defined  for  this  

feature?

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

Feature  Coverage  tells  us…

What  stories  are  defined  for  this  

feature?

How  many  stories  have  automated  acceptance  criteria?

@wakaleo#bddinactionuk

Living Documentation - completing the cycle

Feature  Coverage  tells  us…

What  stories  are  defined  for  this  

feature?

How  many  stories  have  automated  acceptance  criteria?

What  acceptance  criteria  have  been  

automated?

@wakaleo#bddinactionuk

BDD gotchas

12

3

4

@wakaleo#bddinactionuk

BDD gotchas

12

3

4An8-­‐paKern  1  The  business  analyst  writes  the  scenarios  and  then  gives  them  to  the  other  team  members.

@wakaleo#bddinactionuk

BDD gotchas

12

3

4

@wakaleo#bddinactionuk

BDD gotchas

12

3

4

An8-­‐paKern  2  The  tester  writes  the  scenarios  at  the  end  to  implement  an  automated  test  suite.

@wakaleo#bddinactionuk

BDD gotchas

1

2

3

45

@wakaleo#bddinactionuk

BDD gotchas

1

2

3

45

@wakaleo#bddinactionuk

BDD gotchas

1

2

3

45

An8-­‐paKern  3  The  “Three  Amigos”  sessions  don’t  result  in  usable  scenarios,  so  the  developer  invents  them  aAerwards.

@wakaleo#bddinactionuk

BDD gotchas

1

2

3

45

@wakaleo#bddinactionuk

BDD gotchas

1

2

3

45

An8-­‐paKern  4  The  scenarios  are  too  UI-­‐centric  or  detail-­‐focused,  and  neglect  to  express  the  core  business  value.

@wakaleo#bddinactionuk

BDD benefits

@wakaleo#bddinactionuk

BDD benefits

•Focus  effort  •Reduce  waste  and  misaligned  requirements

@wakaleo#bddinactionuk

BDD benefits

Deliver  more  valuable  soXware

@wakaleo#bddinactionuk

BDD benefits

Make  changes  safely

@wakaleo#bddinactionuk

BDD benefits

Faster  and  more  reliable  releases

@wakaleo#bddinactionuk

BDD benefits

Reduced  maintenance  costs

@YourTwitterHandle#DVXFR14{session hashtag} @YourTwitterHandle#YourSessionHashtag

Q & A

@wakaleo#bddinactionuk

Want to learn more?

http://thucydides.info/

@wakaleo#bddinactionuk

Want to learn more?

http://thucydides.info/

top related