‘Stories’ are a great way to describe requirements. In defining these stories you also define tasks that need to be completed by the development team and give the tester an idea of what they need to test. The writing of Stories should help keep the understanding of what a task is simple and accessible to all. Written in non-technical language they follow a simple format:
Title
As a…
I want…
So that…
For example:
Add ‘Artist’ filter to search.
As a user
I want to filter my search results by ‘Artist’
so that I find the CD I want more easily.
Expressed like this anyone in the team or wider business can discuss the task without specific technical knowledge.
Scenarios can be used to expand on the task requirements that have been described in a Story. They provide more detail to the developer of exactly what actions produce which results.
Scenario
Given…
When…
Then…
For example:
Login to the shop using a Facebook account
Given I have a Facebook account and it is linked to my shop account
When I sign in with Facebook and authenticate my Facebook account
Then I should see my purchased products
See Tom Philips excellent presentation slides for more on this