Tutorial- 5
Review: What is Agile Testing? What is the difference between Agile and Scrum Testing?
Scrum Testing Practice
1. How to write a user story
As a ____, I want ___, so that ____
The user story format is not a requirement of Scrum, but it helps to force the storywriter to
articulate those important three questions.
A user story typically follows a simple template:
As a <type of user>,
I want <to perform some task>
so that I can <achieve some goal/benefit/value>.
2. User stories need to be confirmed with the 3C guidelines below, suggested by Ron Jeffries:
1. Card: User stories are traditionally written on index cards or sticky notes, in short form. User
narratives further explain these cards.
2. Conversation: User stories shift the focus from writing about features to discussing them. In
fact, these discussions are more important than whatever text is written.
3. Confirmation: Acceptance tests confirm that the story was delivered correctly.
Who are we building it for, who the user is? — As a <type of user>
What are we building, what is the intention? — I want <some goal or objective >
Why are we building it, what value it bring for the user.? — So that <benefit, value>
Another sample: As a customer,
I want to withdraw cash from an ATM
So that I don't have to wait in line at the bank.
Let us create Acceptance Criterion for this Story.
Acceptance test 1:
Given that the account is creditworthy
And the card is valid
And the dispenser contains cash,
When the customer requests the cash
Then ensure the account is debited
And ensure cash is dispensed
And ensure the card is returned.
Acceptance test 2:
Given that the account is overdrawn
And the card is valid,
When the customer requests the cash
Then ensure the rejection message is displayed
And ensure cash is not dispensed.
TASKS:
Question #1: Based on the following User Story (WIUT PARKING LOT RESERVATION) create at least
five Acceptance tests:
Note: make sure use cases like “if student now”, “number of parking lots available”, “current
available parking lots”, “reserved parking lots”, “the price category of parking lots(all day, per hour,
distance from university”, “if purchased, being able to reserve paid parking lots” taken into
consideration.
Question #2: Create team of Developers with roles Scrum Master, Tester, Developer, and Client.
Based on “Parking Lot Reservation” sample create simple Sprints and do Sprint Planning.
The following chart helps to better understand the whole process of Sprint Planning.
There are two defined artifacts that result from a sprint planning meeting:
1. A sprint goal - a short, one- or two-sentence, description of what the team plans to achieve
during the sprint.
2. A sprint backlog - A sprint backlog is a list of the product backlog items the team commits to
delivering plus the list of tasks necessary to delivering those product backlog items. Each
task on the sprint backlog is also usually estimated.
The sample Sprint and Product Backlog
Question #3: Based on your acceptance test go ahead create test cases with input and outputs
included.
Question #4: Convert your test cases into real test methods (5-10) using Visual Studio. To do that
create a test project and under the namespace called “Parking Lot Reservation”. Start testing the
first method with similar method.
Test #1: Boolean ifAStudent(id)
{ return CheckOntheCurrentYearList(id); } //the fake list is pre-entered under the class of Student
{id, Name, status}
Note: Make sure one test method performs just one unit test.
Question #5: To complete the full alpha version of the product what else is required?
Hint #1: Parking Lot Smart meters… 2. 3. …. Can we create test cases for these too?