When to embrace Behavior Driven Development?

Post on 20-Feb-2017

82 views 0 download

transcript

Copyright © 2015 SolutionsIQ Inc. All rights reserved.

6801 185th Ave NE, Suite 200Redmond, WA 98052solutionsiq.com1.800.235.4091

When to Embrace Behavior Driven development ?How to adopt it the right way?

PREPARED BYRanjith TharayilAgile Coach SolutionsIQ

Terri Sharp
Background artwork, logo and address block are locked.Customize it: Unused text placeholders can be deleted if not needed. The title placeholder will hold up to three lines of text, sub title holds up to two lines of text. For readability, it would be better not to change the size of the text on the title slides.

2

What the hell is this?

Terri Sharp
This slide shows the first three levels of the bullet list heirarchy. You can unbold the subhead line if you wish, or use the Increase List Level button to move through the levels:Level one, Calibri 19pt boldLevel two, Calibri 19pt regularLevel three, Calibri 19pt regular with double carat bulletLevel four, Calibri 17pt regular with hyphen bulletLevel five, Calibri 17pt regular with square bulletCustomize it: Change text size if needed to fit for an extremely text-heavy layout.

3

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.

Dan North

Terri Sharp
The gray background box is locked. A blank version (no gray box) is available if needed.Customize it: Move the quote marks to fit around your text. The text placeholder can be changed as needed, if you wish to use smaller text and add an image or graphic.

4

Not again , Stop the crap we have seen this

Terri Sharp
This slide shows the first three levels of the bullet list heirarchy. You can unbold the subhead line if you wish, or use the Increase List Level button to move through the levels:Level one, Calibri 19pt boldLevel two, Calibri 19pt regularLevel three, Calibri 19pt regular with double carat bulletLevel four, Calibri 17pt regular with hyphen bulletLevel five, Calibri 17pt regular with square bulletCustomize it: Change text size if needed to fit for an extremely text-heavy layout.

5

The BDD Philosophy : how can we collaborate better ?

Product Owner

Developers Quality Assurance

Production Support

Business

6

The BDD school of thought ,Outside in

Spec

Test

Code

Outside in

7

The flow

N-1 N N+1

» Sprints

SpecBy

example

» Sprint planning

» Pull only those with spec ready » Three Amigo Meetings

» BA ,PO» Developers » QA» Production Support » Any one who could

contribute in scenario identification

• Disciplined delivery• Working agreements • DOR• DOD• Less risk of failure

8

No Comments :S

9

Doing BDD vs Adopting BDD

Do BDD for

1567

10

BDD Myths

• Myth 1: BDD requires a framework or tool

• Myth 2 : BDD is about testing

• Myth 3: BDD has to be done top-down

<Footer Content: Presentation Title, Partner Name, Other>

11

• “Step Away from the Tools”• “BDD isn’t about the tools.”

Liz Keogh

Myth 1: BDD requires a framework or tool

Terri Sharp
The Agenda layout is a specially formatted bullet-type layout. Title text is level one; use Increase List Level (NOT the Bullet List button) to move to level two formatting for listing agenda or schedule items.Customize it: Add sublists to agenda lines using the bulleted list formatting built in - use the Increase List Level button to access the additional formatting.

<Footer Content: Presentation Title, Partner Name, Other>

12

• #BDD supports collaboration. If u can’t collaborate please don’t try using Cucumber as test automation

Myth 2 : BDD is about testing

Seb Rose

Terri Sharp
The Agenda layout is a specially formatted bullet-type layout. Title text is level one; use Increase List Level (NOT the Bullet List button) to move to level two formatting for listing agenda or schedule items.Customize it: Add sublists to agenda lines using the bulleted list formatting built in - use the Increase List Level button to access the additional formatting.

13

In fact, BDD isn’t even really about testing. It’s just a way of capturing those conversations which happens to provide some tests, and lifts some of the burden on the testers. If you want to run additional performance tests, exploratory tests, or even record some tests, it doesn’t have to come under the BDD banner. It’s perfectly OK to do BDD and test things as well.

Liz Keogh

Myth 2 : BDD is about testing

14

+Scenario 1: Account is in credit+Given the account is in creditAnd the card is validAnd the dispenser contains cashWhen the customer requests cashThen ensure the account is debitedAnd ensure cash is dispensedAnd ensure the card is returned

+Scenario 1: Account is in credit+Given the account is in creditAnd the card is validAnd the dispenser contains cashWhen the customer requests cashThen check that the account is debitedAnd check that cash is dispensedAnd check that the card is returnedAnd check that nothing happens that shouldn’t happen and everything else happens that should happen for all variations of this scenario and all possible states of the ATM and all possible states of the customer’s account and all possible states of the rest of the database and all possible states of the system as a whole, and anything happening in the cloud that should not matter but might matter.

James Bach

Myth 2 : BDD is about testing

15

Test iceberg

16

“BDD doesn't come with BRAINS kindly use yours”

Terri Sharp
Customize it: Feel free to add an image or graphic to the right side of the box, if needed.

17

The Gap

18

Complexity

<Footer Content: Presentation Title, Partner Name, Other>

19

Lets play a game

Terri Sharp
Customize it: Feel free to add an image or graphic to the right side of the box, if needed.

20

10 level tower of cards

21

BDD Workshop, Society General 22

BDD Workshop, Society General 23

24

Complexity

25

How to measure complexity

Points Complexity Description

1 Just about everyone in the world has done this

2 Lots of people have done this, including someone on our team.

3 Someone in our company has done this, or we have access to expertise

4 Someone in the world did this, but not in our organization (and probably

at a competitor)

5 Nobody in the world has ever done this before

Second Order ignorance We say second order of ignorance exist if “when I don't know that I don't know something”.

Liz Keogh

26

Scenario Identification, 3 key pillars

Functional:-Happy path-Sad path-Exceptional

Constraints

Join Coffee TalkIn your town!

In Chennai on May 28th

Coming Up Webinar – DevOps

Testing Strategy

www.agilecoffeetalk.comwww.meetup.com/Agile-Technical-Group/

Agile Technical Group

Bangalore19th and 20th August 2016

www.xpconference.com

XP Conference 2016

Bangalore19th May 2016

www.solutionsiq.in/leadership-meet-2016/

Agile Leadership Meet

Questions?You may be interested

in these events

28

“BDD doesn't come with BRAINS kindly use yours”

Terri Sharp
Customize it: Feel free to add an image or graphic to the right side of the box, if needed.

29

Extras

30

BDD for maintenance projects ?

• Lots of legacy code • Enhancements

• Defect fix

• Production issues

Adapting BDD for software maintenance projects using the “dEep” model.

we can categories the type of work into 4 different types .

31

d , defects

E ,Complex Enhancements

e ,Simple Enhancements

p , urgent production issues

32

E , Complex Enhancements

• follow classical BDD style:

• 3 Amigo meetings , trigger conversations

• Capture Scenarios , specification by example

• pull based

• TDD strategy : inner cycle

• Check if E2E test is required

• working agreements ,DOR ,DOD

• highly disciplined

• Full team participation

33

e ,Smaller Enhancements

• Skip 3 Amigo meetings

• cover the module with scenarios based test

• Express new requirements in the form of a scenario

• get the spec reviewed by BA/PO , dev ,QA .

• Highly pragmatic approach ,

• (need basis ) UT or E2E test

• test first approach or TDD

34

d, Defects

• d came to existence because there was a hole in your test pyramid

• fix the hole that caused the issue ,may be a test or two , be pragmatic

• fix the code , again test first strategy

35

p, urgent production issues

• fix the code first & deploy

• put a card in your back log to fix the hole in the test pyramid which caused the issues

• Test last strategy

36

BDD in a nut shell

I have shamelessly copied this pic from Rachel's

blog

Terri Sharp
This layout is for a single image, chart or infographic to fill the entire live space of the slide.Customize it: Add a text box filled with white as a caption, if needed.For a true full frame slide image (no title), use the Blank slide master, it has no title placeholder and no gray rule, and use the Insert > Picture command.

37

Key Question

I have shamelessly copied this pic from Naresh Jain PPT

38

The old school of thought , Inside Out

Test

Code

Spec

Inside Out