Resumen Behavior Driven Development

download Resumen Behavior Driven Development

of 2

Transcript of Resumen Behavior Driven Development

  • 8/12/2019 Resumen Behavior Driven Development

    1/2

    Behavior Driven DevelopmentTomado de Code Magaziney Wikipedia

    Behavior-driven development combines the general techniques and principles of TDD with ideas

    from domain-driven design and object-oriented analysis and design to provide softwaredevelopers and business analysts with shared tools and a shared process to collaborate on

    software development, with the aim of delivering "software that matters"

    Test-driven development focuses on the developersopinion on how parts of the software

    should work. Behavior-driven development focuses on the users opinion on how they want

    your application to behave. - Codeship

    User Stories

    User stories are the central axis around which a software project rotates. Developers use userstories to capture requirements and to express customer expectations. User stories provide the

    unit of effort that project management uses to plan and to track progress. Estimations are made

    against user stories, and user stories are where software design begins. User stories help to

    shape a systems usability and user experience.

    User stories express requirements in terms of The Role, The Goal, and The Motivation.

    A user story isnt concerned with a named user, like Bob Smith or Anne Wilson. User stories

    are concerned with a user role, for example: a customer, or a salesman, or a call center

    operator.

    User stories describe what that user wants to do from the perspective of an interaction with a

    business process, like purchasing, or ordering, or paying a bill. A user story describes the users

    goal in terms of needing to get something done with the business, rather than in terms of using

    the system itself.

    A user story also captures the users motivation for wanting to accomplish the goal. The

    motivation captures some of the back-story and the context for the users interaction with the

    business.

    Example User Story

    As a I want to so that

    As an account holder, I want to transfer funds

    between two of myaccounts

    http://www.google.com/url?q=http%3A%2F%2Fblog.codeship.io%2F2013%2F04%2F22%2Ffrom-tdd-to-bdd.html&sa=D&sntz=1&usg=AFQjCNG_Kemm6PPznqjpCDR4cEmv2tVMpghttp://www.google.com/url?q=http%3A%2F%2Fblog.codeship.io%2F2013%2F04%2F22%2Ffrom-tdd-to-bdd.html&sa=D&sntz=1&usg=AFQjCNG_Kemm6PPznqjpCDR4cEmv2tVMpghttps://www.google.com/url?q=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FBehavior_Driven_Development&sa=D&sntz=1&usg=AFQjCNE_ryUVrAmDelaR_tHMYsyCSLV6KQhttp://www.google.com/url?q=http%3A%2F%2Fwww.codemag.com%2Farticle%2F0805061&sa=D&sntz=1&usg=AFQjCNGf9clTMia0zoGuGINgWp2ccPjJJA
  • 8/12/2019 Resumen Behavior Driven Development

    2/2

    Although the reasons for doing a funds transfer seem self-evident, suppose that you discussed

    this with the user a few times to try and surface the motivation. Often, its these aspects of a

    story that seem so self evident that are ultimately not so evident at all when you try to express

    them.

    As an account holder, I want to transfer funds

    between two of myaccounts so that I can maximize

    the performance of mysavings and avoid any fees

    associated withoverdrafts andminimum balance rules.

    The differentiation of roles gives you a mental framework for considering a users particular

    needs and assess whether his role and his particular motivation might require you to write

    specific code to address any unique needs.

    Enlaces

    Web oficial de Cucumber: http://cukes.info/

    Gherkin DSL: https://github.com/cucumber/cucumber/wiki/Gherkin

    Introducing BDD: http://dannorth.net/introducing-bdd/

    Say hello to BDD:

    http://www.codeproject.com/Articles/148043/Say-Hello-To-Behavior-Driven-Development-BDD-

    Part

    Say Hello to BDD part 2:

    http://www.codeproject.com/Articles/150740/Say-Hello-To-Behavior-Driven-Development-BDD-Part

    Jasmine JS BDD Framework: https://github.com/pivotal/jasmine

    https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fpivotal%2Fjasmine&sa=D&sntz=1&usg=AFQjCNE8Q_Q9s1veE1UQpzP8vnEKi_NOMghttp://www.google.com/url?q=http%3A%2F%2Fwww.codeproject.com%2FArticles%2F150740%2FSay-Hello-To-Behavior-Driven-Development-BDD-Part&sa=D&sntz=1&usg=AFQjCNHir0U5E0DbOEB7PuZtPJjwhKn39whttp://www.google.com/url?q=http%3A%2F%2Fwww.codeproject.com%2FArticles%2F150740%2FSay-Hello-To-Behavior-Driven-Development-BDD-Part&sa=D&sntz=1&usg=AFQjCNHir0U5E0DbOEB7PuZtPJjwhKn39whttp://www.google.com/url?q=http%3A%2F%2Fwww.codeproject.com%2FArticles%2F148043%2FSay-Hello-To-Behavior-Driven-Development-BDD-Part&sa=D&sntz=1&usg=AFQjCNH2d0_RWws0tq7AwCyrfddt1G4TJAhttp://www.google.com/url?q=http%3A%2F%2Fwww.codeproject.com%2FArticles%2F148043%2FSay-Hello-To-Behavior-Driven-Development-BDD-Part&sa=D&sntz=1&usg=AFQjCNH2d0_RWws0tq7AwCyrfddt1G4TJAhttp://www.google.com/url?q=http%3A%2F%2Fdannorth.net%2Fintroducing-bdd%2F&sa=D&sntz=1&usg=AFQjCNFBTonCIaYtIXJGJ7dYumDsmDodsQhttps://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fcucumber%2Fcucumber%2Fwiki%2FGherkin&sa=D&sntz=1&usg=AFQjCNHHvxiCDyC6kTsjhH5PtMDZYRcqNQhttp://www.google.com/url?q=http%3A%2F%2Fcukes.info%2F&sa=D&sntz=1&usg=AFQjCNFx3_g1pL8qywfPB6JIOvA31TySzQ