As a … I want… so that…” is a new-fangled user story format. The original XP user story format had no rules, so you could simply highlight any phrase in a use case and call it a user story.
Personally, I feel sorry for anyone who has to write “As a… I want… so that…” for 200 user stories. Kind of like being kept after school and having to write “I will not write silly user stories in class” 100 times
A use case pretty much by definition contains multiple stories. A use case is a collection of scenarios related to the primary actor’s goal – some scenarios show the actor interacting with the system and the system interacting with other systems so that they succeed with the goal, some show failure. That’s all in the nature of a use case. see Structuring use cases with goals (discussion: Re: Structuring use cases with goals) from 1995.
A use case written for this will occupy between half a page for a shortish one to 2 pages for a long one.
A user story is a nickname for a single scenario – it contains neither the information content of the scenario nor failure or alternate paths.
A user story typically occupies 1/2 to one sentence no matter its size.
(p.s. Agile was supposed to reduce bureaucracy and overhead, not add to it. :)
Alistair
Gherkin is one of the most popular languages for writing formal behavior specifications – it captures behaviors as “Given-When-Then” scenarios.
With the help of automation tools, scenarios can easily be turned into automated test cases.
Quick Points
BDD is specification by example.
When someone says “BDD”, immediately think of “Given-When-Then”.
BDD focuses on behavior first.
Behavior scenarios are the cornerstone of BDD.
BDD is a refinement of the Agile process, not an overhaul.
It formalizes acceptance criteria and test coverage.
BDD is a paradigm shift.
Behaviors become the team’s main focus.
12 Awesome Benefits
Inclusion
Clarity
Streamlining
Artifacts
Shift-Left
Automation
Test-Driven
Code Reuse
Parameterization
Variation
Momentum
Adaptability
behavior-driven development
Testing Recommendations
Since BDD focuses on actual feature behavior, behavior specs are best for higher-level, functional, black box tests. For example, BDD is great for testing APIs and web UIs.
Gherkin excels for acceptance testing
However, behavior specs would be overkill for unit tests, and it is also not a good choice for performance tests
Unlike actors, personas
are not roles which people play
Personas are different because they describe an
archetypical instance of an actor. In a use case
model we would have a Customer actor, yet with personas
we would instead describe several different types of
customers to help bring the idea to life.
SPIder is een Nederlands netwerk van IT-professionals waarin kennis en ervaringen gedeeld worden op het gebied van softwareontwikkelmethodieken, processen en modellen, (software)procesverbetering (SPI), kwaliteit, kwaliteitsboring (QA), ontwerp en test, metrieken en invoeringstrategieën
1. Use cases, when used properly, can be an effective form
of requirements.
2. From an industry perspective, use cases may have a negative
impact on overall productivity.