Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

BDD Backup 1

No description
by

tera dee

on 5 May 2010

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of BDD Backup 1

So WHAT can we do!? PizzaBuilder.com Shape? Square Round Heart-shaped! Size? Small Large Ginormous! So why ARE developers angry? When requirements aren't clear, developers and teams spend huge volumes of time reworking features or fixing "defects".

(We know that's not the entire story) UNINTENTIONAL lack there of ....so is everyone else. ...even this ugly baby is frustrated Medium if we see it at all... developers aren't the ONLY ones who are frustrated... Anger-Driven Development: One way to enhance communication Behavior-Driven Development Kim Merbeth - Business Analyst It's ALL about perspective Jim Cornelius - Systems Architect Jason Montague - Engineering Manager
@teradee @jimcornelius Business Analysts?
Quality Assurance?
Project Managers?
Business Folks?
Managers? Who has experience with:

TDD / ATDD?
DSL's?
BDD?
The Audience The Presenters Anger-Driven Development BDD Agenda everyone is.... The Workshop Ubiquitous Language User Story + Acceptance Criteria = Ubiquitous Langauge USER STORY: Scenario: <Descriptive Title 1> The Value Proposition USER STORIES SCENARIOS act as SCENARIOS AUTOMATED TESTS help describe ACCEPTANCE CRITERIA BUSINESS VALUE describe USER STORY: USER STORY: ACCEPTANCE CRITERIA: ACCEPTANCE CRITERIA: Scenario: <Descriptive Title 1> Scenario: Descriptive Title 1 Given <a context>
When <an event occurs>
Then <ensure the intended outcome>
Given <a context>
When <an event occurs>
Then <ensure the intended outcome>
Scenario: <Descriptive Title 2> Given <a context>
When <an event occurs>
Then <ensure the intended outcome>
Given <a context>
When <an event occurs>
Then <ensure the intended outcome>
Scenario: Descriptive Title 2 Scenario: <Descriptive Title 3> Scenario: Descriptive Title 3 Given <a context>
When <an event occurs>
Then <ensure the intended outcome>
Given <a context>
When <an event occurs>
Then <ensure the intended outcome>
Acceptance Criteria Automation #1 #2 #3 Scenarios literally become your acceptance tests and are RUN AUTOMATICALLY against the system Focus on Business Value Work Outside-In Start with Outcomes First Tests are Sentences Outside-In if we see it AT ALL... ACCEPTANCE CRITERIA: Given <a context>
When <an event occurs>
Then <ensure the intended outcome>
Scenario: <Descriptive Title 3> Scenario: <Descriptive Title 2> Given <a context>
When <an event occurs>
Then <ensure the intended outcome>
Given <a context>
When <an event occurs>
Then <ensure the intended outcome>
Business Value As a <role>
I want <some action to be taken>
So that <I derive some business value> Title: <Feature> Title: <Feature> As a <role>
I want <some action to be taken>
So that <I derive some business value> Title: <Feature> As a <role>
I want <some action to be taken>
So that <I derive some business value> Scenario: Successfully choose a Round OR Square shape Scenario: Attempt to go to Step 2 without choosing a shape Given <a context>
When <an event occurs>
Then <ensure the intended outcome>
Scenario: Successfully choose a heart shaped pizza on Valentine's Day Title: Choose a Pizza Shape GIVEN the customer is logged in to the PizzaBuilder.com application,
WHEN the customer chooses to build a custom pizza,
THEN the customer should be able to choose a Square shaped pizza
OR the customer should be able to choose a Round shaped pizza USER STORY: As a PizzaBuilder.com customer,
I want to be able to choose a Round or Square shape
So that I can build my own custom pizza GIVEN the customer is logged in to the PizzaBuilder.com application
AND the customer has NOT chosen a shape,
WHEN the customer chooses to continue to Step 2 (choose a size),
THEN the customer should be asked to choose a pizza shape Given <a context>
AND <more context>
When <an event occurs>
AND <another event occurs>
Then <ensure the intended outcome>
OR <another intended outcome>
Scenario: <Descriptive Title 4> Also Appropriate! Exercise 1 Scenario: Try and choose a heart shaped pizza outside of Valentine's Day and get DENIED Exercise 2 We often don't SEE things things in the same way... Communication Developers Don't Know where to start
what to test
what not to test
how much to test
Contributing Factors that testing is about DESIGN GIVEN the customer is logged in to the PizzaBuilder.com application,
WHEN the customer chooses to build a custom pizza,
THEN the customer should be able to choose a Square shaped pizza
OR the customer should be able to choose a Round shaped pizza Examples Scenario: Attempt to go to Step 2 without choosing a shape Scenario: Successfully choose a Round OR Square shape GIVEN the customer is logged in to the PizzaBuilder.com application
AND the customer has NOT chosen a shape,
WHEN the customer chooses to continue to Step 2 (choose a size),
THEN the customer should be asked to choose a pizza shape GIVEN the customer is logged in to the PizzaBuilder.com application
AND the customer has NOT chosen a shape,
WHEN the customer chooses to continue to Step 2 (choose a size),
THEN the customer should be asked to choose a pizza shape Scenario: Attempt to go to Step 2 without choosing a shape Scenario: Successfully choose a Round OR Square shape GIVEN the customer is logged in to the PizzaBuilder.com application,
WHEN the customer chooses to build a custom pizza,
THEN the customer should be able to choose a Square shaped pizza
OR the customer should be able to choose a Round shaped pizza Examples Examples GIVEN the customer is logged in to the PizzaBuilder.com application,
WHEN the customer chooses to build a custom pizza,
THEN the customer should be able to choose a Square shaped pizza
OR the customer should be able to choose a Round shaped pizza Scenario: Attempt to go to Step 2 without choosing a shape Scenario: Successfully choose a Round OR Square shape GIVEN the customer is logged in to the PizzaBuilder.com application
AND the customer has NOT chosen a shape,
WHEN the customer chooses to continue to Step 2 (choose a size),
THEN the customer should be asked to choose a pizza shape Given <a context>
When <an event occurs>
Then <ensure the intended outcome>
Example Example
Full transcript