Agile Testing
Agile Testing
Agile Methodology
Manual Testing Approach
March, 2012.
INFOSYS LIMITED
Chennai
COPYRIGHT NOTICE
© 2012 Infosys Limited, Bangalore, India. All rights reserved. Infosys believes the information in this document
is accurate as of its publication date; such information is subject to change without notice. Infosys
acknowledges the proprietary rights of other companies to the trademarks, product names and such other
intellectual property rights mentioned in this document. Except as expressly permitted, neither this document
nor any part of it may be reproduced, stored in a retrieval system, or transmitted in any form or by any means,
electronic, mechanical, printing, photocopying, recording or otherwise, without the prior permission of Infosys
Technologies Limited and/or any named intellectual property rights holders under this document.
Hosur Road
Electronic City, 3rd Cross
Bangalore 560 100
India.
Telephone: (91) (80)28520 261-270
Fax: (91) (80) 8520 362
Website: http://www.infosys.com
Target readers
All the Manual Testers moving towards exploring Agile methodology and Scrum.
Keywords
Agile methodology, Scrum.
Introduction
This PowerPoint gives a detailed view on testing approach in Agile – principles, framework and
standards followed by manual testers for developing quality software using Scrum methodology.
Agenda
Agile Terminologies
Agile Scrum Process – How it Works?
Different Roles in Agile – Where does the Tester fit in these different roles
Testing Phases in Agile
How to write a test plan in Agile
How to estimate for Agile
Defect Management in Agile
How to provide status report for Agile Testing
Agile Terminologies
User Story: A user story is simply something a user wants. Is breakdown of user requirement
into smaller units
Epic: “Epic” is just a label we apply to a large story. Story that might go for more than one sprint
Scrum: Scrum is a process skeleton that contains set of practices and predefined roles.
Scrum Master : Facilitates and protects the scrum. Project manager or Onsite peer.
Sprint: Sprint is the basic unit of development in Scrum. Sprints tend to last between one week
and one month. Equivalent to Iterations.
Product Backlog: Amount of product or software pending after certain number of sprints
Sprint Backlog : Amount of product or software pending from the previous sprint.
Burn
Burn Down
Down
Customer Needs
Scrum Master
Daily
Scrum
(stand-up) Facilitates
Product Owner
meetings,
Team
educates
Business stakeholders
representation
Sprint
in a team
Empowered
and
(Iteration)
2 week sweet spot
competent
Different Roles in Agile – Where does the Tester fit in these different roles
Sprint Planning:
Inputs - Product backlog and sprint backlog
Actions -
User stories identified and prioritized
Sprint goals (Acceptance criteria) is identified for the user story
Detailed tasks identified
Revise release schedule
Update the sprint backlog and product backlog
Output –
Stories/acceptance criteria
Tasks
Updated product and sprint backlog
Sprint Execution:
Inputs –
Accepted user stories
Sprint goals and tasks
Schedule and resource plan
Actions -
Define weekly goals based on sprint goals
Conduct daily scrum meetings to define the goals for each day
Development and testing activities and reviewing of deliverables
Test progress reporting and defects reporting
Tracking and monitoring the status using burn down charts
Output –
Project deliverables
Burn down chart
Team velocity/No. of story points delivered
To write a test plan in agile is as simple as identifying the entities/artifacts needed for the
upcoming sprints.
At the start of each sprint, the tester needs to identify all the available user stories written by
the product owner or the scrum master.
Based on the complexity of each requirement, the number of resources needed should be
defined.
The timelines has to be fixed for each sprint; at the same time every member should be
informed about the flexibility that is needed in case of critical issues or requirements.
He/she need to have a detailed idea of the product backlog or sprint backlog that currently
exists.
The test plan should contain specific timelines for reviews, inspections, and walkthroughs and if
possible test sprint meetings.
The test plan should contain specific timelines for test scenario preparation, test scenario
evaluation, test case preparation (if needed), actual testing and review of the results.
In agile methodology we basically have two test plans – Master test plan and Sprint test plan.
QC in Agile Methodology
QC has an option to parameterize the input field values both in Manual Testing and Business
Process Testing. This can be exploited for our cause.
Example:
Login form with fields
a. User Id
b. Password
c. Submit button
d. Reset button
e. Forgot Password ? (Link/ Button)
For the above example, the current trend is to parameterize the values for User Id and
Password only. Suppose, we have a mixed opinion on having the field “Forgot Password” as a
link or a button, we can parameterize the fields as well to suite the business requirement.
The requirement change at a later sprint for the above scenario will also be dealt automatically
without any rework effort.
I.e. Field “Forgot Password” which was a link in the initial few sprints later modified to be a
button can also be handled with ease.
Resourcing planning for Agile technology should be based on user stories and the complexity of
each story.
While estimating this we need to consider the length of the sprint and epic.
Product backlog, Sprint backlog should be taken into account after each sprint.
Daily stand up, sprint burn down charts reduce the effect of over or under estimation.
Estimation is based on team velocity for a sprint, this reduces underestimation.
45
40
35
30
25
20
15
10
5
0
1 2 3 4 5 6 7 8 9 10 11
Example :
Requirement of the project is split into 400 stories
Total stories : 400
Total weeks considered for the project : 20 weeks
One sprint will run for 2 weeks
Total number of sprints : 10
Number of stories for each sprint : 40
Involve people who are experienced on the subject and the project members.
Update the estimate as and when the knowledge on the project evolves.
When in transition from traditional methods to Agile reduce the time lines for a build on a
gradual basis to ensure that project members are comfortable.
Have as many sprints as required. It is only the effective outcome from a sprint that counts.
A sprint should ideally be long enough to bring out the required product and should not exceed
time lines at any cost.
First, with a whole team approach to testing when a defect is found it's typically fixed on the
spot, often by the person(s) who injected it in the first place. In this case the entire defect
management process is at most a conversation between a few people.
Second, when an independent test team is working in parallel with the development team to
validate their work they typically use a defect reporting tool to inform the development team of
what they found.
Disciplined agile delivery teams combine their requirements management and defect
management strategies to simplify their overall change management process. Both
requirements and defect reports are types of work items and are treated equally -- they're
estimated, prioritized, and put on the work item stack.
Daily Scrum
The daily scrum meetings are the finest form of status reporting but it only applies to people
with a close interest in the project who can spare the time to attend daily scrums.
Each day during the sprint, a project status meeting occurs. This is called a daily scrum, or the
daily standup.
The simple way to make the status of each sprint visible to the product owners/scrum team is
by maintaining a burn down chart as we discussed in the previous slides.
This is a simple and a powerful method followed in all the agile projects to track the testing
progress of each sprint and represent it in a graphical manner that makes it easy to
understand.
At the beginning of the sprint cycle (every 2 weeks once), a “Sprint Planning Meeting” is held.
The selection of what work needs to be done is decided based on the product backlog, sprint
backlog and current velocity
Reference(s):
1.http://agilebuddy.com/whitepapers/white-paper-how-agile-methods-resolve-chaos-and-unpredicta
bility-in-software-projects/
2.http://www.versionone.com/Agile101/Agile_Benefits.asp
3.http://www.buzzle.com/articles/waterfall-model-advantages-and-disadvantages.html
THANK YOU