Resumen Behavior Driven Development
-
Upload
francisco-quintero -
Category
Documents
-
view
217 -
download
0
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