Slide 1

Slide 1 text

How to fail with BDD Dan North @tastapod

Slide 2

Slide 2 text

How to fail with Testing and BDD Dan North @tastapod

Slide 3

Slide 3 text

How to fail with BDD and Testing Dan North @tastapod

Slide 4

Slide 4 text

@tastapod Defining BDD *back in the golden age of 140 characters

Slide 5

Slide 5 text

@tastapod Defining BDD

Slide 6

Slide 6 text

@tastapod Defining BDD https:/ /en.wikipedia.org/wiki/Behavior-driven_development BDD is a second generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.

Slide 7

Slide 7 text

@tastapod How to fail with BDD BDD is a second generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.

Slide 8

Slide 8 text

@tastapod How to fail with BDD BDD is a second generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.

Slide 9

Slide 9 text

@tastapod Ignore outside-in, pull-based Are you starting where you should? Or just where you know? Where does demand coming from? What is the next most valuable thing to work on?

Slide 10

Slide 10 text

@tastapod How to fail with BDD BDD is a second generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.

Slide 11

Slide 11 text

@tastapod How to fail with BDD BDD is a second generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.

Slide 12

Slide 12 text

@tastapod Ignore multiple stakeholder Operate a feature factory Fall into the Build Trap™ Accumulate technical debt Create a support nightmare

Slide 13

Slide 13 text

@tastapod How to fail with BDD BDD is a second generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.

Slide 14

Slide 14 text

@tastapod How to fail with BDD BDD is a second generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.

Slide 15

Slide 15 text

@tastapod Ignore multiple scale Gherkin fixation Cucumber allergy Tool fixation

Slide 16

Slide 16 text

@tastapod How to fail with BDD BDD is a second generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.

Slide 17

Slide 17 text

@tastapod How to fail with BDD BDD is a second generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.

Slide 18

Slide 18 text

@tastapod Ignore high-automation Without automation there is no feedback Without feedback there is no direction Copy-and-paste is not automation! Automation is a programming activity

Slide 19

Slide 19 text

@tastapod How to fail with BDD BDD is a second generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.

Slide 20

Slide 20 text

@tastapod How to fail with BDD BDD is a second generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.

Slide 21

Slide 21 text

@tastapod Ignore interactions Developer confirmation bias Tester confirmation bias Tooling as passive-aggressive shield

Slide 22

Slide 22 text

@tastapod How to fail with BDD BDD is a second generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.

Slide 23

Slide 23 text

@tastapod How to fail with BDD BDD is a second generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.

Slide 24

Slide 24 text

@tastapod Ignore working, tested software BDD is not about conversations! BDD is about shipping working software that matters using conversations!

Slide 25

Slide 25 text

@tastapod How to fail with BDD BDD is a second generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.

Slide 26

Slide 26 text

@tastapod Defining Testing What? Why? “to increase confidence for stakeholders through evidence” Definition Purpose

Slide 27

Slide 27 text

@tastapod Defining Testing “to increase confidence for stakeholders through evidence” pragmatism empathy ingenuity

Slide 28

Slide 28 text

@tastapod How to fail with Testing “to increase confidence for stakeholders through evidence” pragmatism empathy ingenuity

Slide 29

Slide 29 text

@tastapod Ignore pragmatism Feature files for everything! Test coverage targets Moar tests!

Slide 30

Slide 30 text

@tastapod How to fail with Testing “to increase confidence for stakeholders through evidence” pragmatism empathy ingenuity

Slide 31

Slide 31 text

@tastapod Ignore empathy Those pesky stakeholders again! What are you are testing, and why? Are you just focusing on the nearest or noisiest?

Slide 32

Slide 32 text

@tastapod How to fail with Testing “to increase confidence for stakeholders through evidence” pragmatism empathy ingenuity

Slide 33

Slide 33 text

@tastapod Ignore ingenuity When the only tool you have is a gherkin… Step outside of your own echo chamber Shift testability concerns upstream

Slide 34

Slide 34 text

@tastapod You can fail with BDD and Testing You just have to not be doing BDD and not be doing Testing

Slide 35

Slide 35 text

Thanks for listening! https:/ /dannorth.net @tastapod