Upgrade to Pro — share decks privately, control downloads, hide ads and more …

BDD tutta questione di comunicazione

BDD tutta questione di comunicazione

Riccardo

June 23, 2015
Tweet

More Decks by Riccardo

Other Decks in Programming

Transcript

  1. MILAN november 28th/29th 2014 – Dan North “using examples at

    multiple levels to create a shared understanding and surfacing uncertainty to deliver software that matters”
  2. MILAN november 28th/29th 2014 – Dan North “using examples at

    multiple levels to create a shared understanding and surfacing uncertainty to deliver software that matters”
  3. MILAN november 28th/29th 2014 – “BDD in Action” John Ferguson

    Smart “Non basta scrivere software correttamente, bisogna anche scrivere il software corretto”
  4. Come Discussione Obiettivo Features Features Features Esempi Esempi Esempi Specifiche

    Eseguibili Specifiche Eseguibili Specifiche Eseguibili
  5. I want an online conference planner system to sell to

    conferences’s organizers, which allows attendees to schedule their favorite talks. My first/pilot customer is “Agile conference”. I’ll sell conference planner to them with discount, so that they’ll test my software.
  6. Feature: Create personal scheduler In order to spend more time

    socialising at the conference instead of looking at the schedule As a conference attendee I want to create my personal schedule beforehand
  7. Scenario: Successfully selecting 1 talk Given there is a conference

    "XP Conference” And there is a "Specification" talk in first time period When I open the "/conferences/xp" page And I click "Add to my schedule" inside ".talk:contains('Specification')" block Then I should see ".talk:contains('Specification')" inside ".personal-‐schedule" block
  8. Scenario: Successfully selecting 1 talk Given there is a conference

    "XP Conference” And there is a "Specification" talk in first time period When I open the "/conferences/xp" page And I click "Add to my schedule" inside ".talk:contains('Specification')" block Then I should see ".talk:contains('Specification')" inside ".personal-‐schedule" block accoppiati alla UI!!
  9. Scenario: Successfully selecting 1 talk Given there is a conference

    "XP Conference” And there is a "Specification" talk in first time period When I open the "/conferences/xp" page And I click "Add to my schedule" inside ".talk:contains('Specification')" block Then I should see ".talk:contains('Specification')" inside ".personal-‐schedule" block HTML, HTTP ?
  10. Scenario: Successfully selecting 1 talk Given there is a conference

    "Agile Conference” And there is a "Specification" talk in the first time period When I choose the "Specification" talk Then the "Specification" talk should be in my personal schedule
  11. Scenario: Successfully selecting 1 talk Given there is a conference

    "Agile Conference” And there is a "Specification" talk in the first time period When I choose the "Specification" talk Then the "Specification" talk should be in my personal schedule cosa significa time period?
  12. Scenario: Successfully selecting 1 talk from the 1 track conference

    for a single slot
 Given a conference named "Agile Conference" with 1 track
 And the "Specification" talk is scheduled for "10:30-11:30" slot on the conference track 1
 When I choose the "Specification" talk for my personal schedule of this conference
 Then the chosen talk for "10:30-11:30" slot of my schedule should be the "Specification" linguaggio condiviso (UL)
  13. /**
 * @Given a conference named :name with :count track


    */
 public function aConferenceNamedWithTrack($name, $count)
 {
 
 }
  14. /**
 * @Given a conference named :name with :count track


    */
 public function aConferenceNamedWithTrack($name, $count)
 {
 $conference =
 }
  15. /**
 * @Given a conference named :name with :count track

    */
 public function aConferenceNamedWithTrack($name, $count)
 {
 $conference = Conference::namedWithTracks($name, $count);
 }
  16. MILAN november 28th/29th 2014 Risorse • http://www.ideato.it/tag/bdd • Bdd in

    Action: Behavior-driven Development for the Whole Software Lifecycle di John Ferguson Smart • Specification by Example: How Successful Teams Deliver the Right Software di Gojko Adzic • The RSpec Book: Behaviour Driven Development di Dave Astels, Bryan Helmkamp, Dan North, Zac David Chelimsky • https://skillsmatter.com/skillscasts/6240-taking-back-bdd di @everzet