Practical Behavior Driven Development

Post on 06-Dec-2014

587 views 3 download

description

Presentation I gave at the QA Southwest conference in October 2012.

Transcript of Practical Behavior Driven Development

Practical Behavior Driven Development

Clayton Lengel-Zigich@claytonlzintegrumtech.comclaytonlz.com

BDD?

Conversation

Discovery

Shared Language

TDD

ATDD

xDD

DeliberateDiscoveryWorkshop

Your Org on BDD

Given what context?

How didI Get Here?

Why doI want todo this?

Where doI go from here?

What if there’s a problem?

Is this behaviorexpected?

Scenario: Generating a report for my division Given I am a division manager When I generate a report for my division Then I should see data specific to my division Scenario: Generating a report for all divisions Given I am a site manager When I generate a report for my site Then I should see data for all divisions in my site

GivenWhenThen

Hidden Dangers

focuson

tools

scenariosas

tests

cargocults

fullstackabuse

Scenario: Generating a report for my division Given I am a "division" manager When I "generate" a report for my "division" Then I should see "data" specific

to my "division"

Scenario: Generating a report for my division Given I am a "division" manager And my division had "$100,000" in revenue When I "generate" a report for my "division" Then I should see "$100,000.00" in the "revenue total" column

Scenario: Generating a report for my division Given an organization "Acme, Inc" And a site manager named "Laura" that works for "Acme, Inc" And a division manager named "Eric" that works for site manager "Laura" And I am a "division" manager named "Eric" And my division had "$100,000" in revenue When I "generate" a report for my "division" Then I should see "$100,000.00" in the "revenue total" column

Scenario: Generating a report for my division Given an organization "Acme, Inc" And a site manager named "Laura" that works for "Acme, Inc" And a division manager named "Eric" that works for site manager "Laura" And I am a "division" manager named "Eric" And I am logged in as "Eric" And I click on "Reports" And my division had "$100,000" in revenue And I click on "Generate Report" When I "generate" a report for my "division" Then I should see "$100,000.00" in the "revenue total" column And I should see the "Save Report" button

DiscoverFirst

DescribeNext

AutomateLast

Dan North / @tastapodLiz Keogh / @lunivoreMatt Wynne / @mattwynne

Clayton Lengel-Zigich@claytonlz

slideshare.net/claytonlz