SlideShare ist ein Scribd-Unternehmen logo
1 von 6
Downloaden Sie, um offline zu lesen
The Case for Agile Testing
By applying principles of Agile software development, QA teams can help
bake in code quality as applications are being developed, ensuring more
stable and business-aligned outcomes.
Executive Summary
For a variety of reasons (time, money, skills, etc.),
the testing phase of software development some-
times gets short shrift from developers and IT
managers. Yet testing is the only way to determine
the quality of software and whether an applica-
tion will function properly in real time. It plays an
important role in the software development lifecy-
cle (SDLC). Without an effective testing strategy,
companies sometimes blindly take on significant
risks that may go well beyond simply having
poorly functioning software. Organizational rami-
fications can be dire, including the risk of:
•	Customer dissatisfaction.
•	Brand injury.
•	Competitive threat.
•	Product revenue loss.
At the development level, an oversight in testing
can trigger countless technical and project
outcome challenges:
•	Cost overruns.
•	Poor resource estimations.
•	Schedule overruns.
•	Overlooked functionalities and scenarios
triggered by poor developer/tester communi-
cation, resulting in compromised quality.
Agile testing mitigates these risks and ensures
that IT organizations achieve the technical and
business goals of the development process. In
this white paper, we provide an overview of how
Agile testing works, why it is important, and the
challenges it poses.
Agile Testing Defined
Agile testing is a software testing practice that
follows the principles of Agile software develop-
ment. Agile development integrates testing into
the development process, rather than keeping
it as a separate and distinct SDLC phase. Agile
testing involves a cross-functional Agile team
actively relying on the special expertise contrib-
uted by testers.
Agile teams use a “whole-team” approach to
“bake in quality” to the software product. Because
testing occurs in real time, this approach allows
the team to collaborate actively with the devel-
opment team, helping them identify and transfer
issues into executable specifications that guide
coding. Before the start of testing, the develop-
ment team’s detailed design documents must be
approved so that test case creation can start. Both
coding and testing are performed incrementally
and iteratively in Sprints (or iterations), building
each feature until it delivers enough stability and
adds quality to the product (see Figure 1).
cognizant 20-20 insights | june 2014
• Cognizant 20-20 Insights
2
Sprinting Ahead
In the Agile methodology, a Sprint is a set period
of time during which specific work must be
completed and made ready for review.
Each Sprint begins with a planning meeting.
During the meeting, the product owner (who
requested the work) and the development and
testing teams agree upon exactly which activities
will be accomplished during the Sprint. The devel-
opment team has the final say when it comes to
determining how much work can realistically be
accomplished during the Sprint, and the product
owner has the final say on what criteria need to
be met for the work to be approved and accepted.
The duration of a Sprint is determined by the
Scrum master, the team’s facilitator. Once the
team reaches a consensus on how many days a
Sprint should last, all future Sprints should be the
same. Traditionally, a Sprint lasts 30 days.
After a Sprint begins, the product owner must
step back and let the development team do
its work. During the Sprint, the team holds a
daily stand-up meeting to discuss progress and
brainstorm solutions to challenges. The project
owner may attend these meetings as an observer
but is not allowed to participate unless it is to
answer questions. The project owner may not
make requests for changes during a Sprint and
only the Scrum master or project manager has
the power to interrupt or stop the Sprint.
At the end of the Sprint, the team presents its
completed work to the project owner and the
project owner uses the criteria established at the
Sprint planning meeting to either accept or reject
the work.
The Mechanics of Agile Testing
The combined team, including both development
and testing, takes responsibility for analyzing the
business specifications. Together, they define the
Sprint goal.
The QA team defines the testing scope (i.e., test
plan). That is then validated and approved by the
entire team and the client.
Simultaneously, while the development team
starts the implementation of modules (in the
very first Sprint), the QA team begins work on the
test case design. These are properly documented
either in a testing tool or in an Excel spreadsheet
that is handed over to the development team and
project sponsor from the business side to review.
This is to ensure that test coverage is as complete
as possible.
Once the test case review and any modifications
are completed for a particular Sprint, the QA
team then begins testing on the QA environment.
Defects found during testing are logged properly
in a defect tracking tool. Depending on the
severity and priority of defects, fixing them can
be delayed but then is taken care of in upcoming
cognizant 20-20 insights
A More Flexible Approach to Software Development
Onsite
Development Team Virtual QA
Agile Lifecycle
Technology &
Common Tools
Offshore QA Team
Design
Execute
Wrap
User Review User Review
Small
Release
Small
Release
Small
Release
Iteration 1 Iteration 2
Pilot
Launch
Production
Launch
User Review
Figure 1
Sprints. At the end of each Sprint, the team
determines, along with the project sponsor, which
defects are to be fixed in the current iteration.
This iteration continues until all planned Sprints
are completed.
QA, along with the development team and
business organization, defines which main flows
(test cases) will be automated.
When code is ready to test (after the end of each
Sprint), QA works with development to execute
test cases on the development environment,
in order to identify the early stage defects so
developers can fix them during the next round,
on a priority basis. This process is then repeated
throughout the development process. Automated
test cases are run daily throughout the SDLC.
White-board/stand-up meetings are conducted
daily involving members of all teams associated
with product development, support and testing.
This helps to resolve the issues faced by team
members and provides a clear picture of progress
in both the coding and testing areas. Agile
promotes the introduction of requirements at
all stages/iterations of the SDLC; however, the
testing team determines when to end this process
to ensure product stability (see Figure 2).
Manual Testing: Regression
The manual testing team plays an important role
in determining product quality.
Once the majority of coding is completed (i.e., in
the last planned Sprint), the manual regression
test cycle starts. This is key since it helps to
determine the stability of the application before
it is pushed to preproduction deployment. Code
and defect fixes continue during this phase, but
this is to add value to the product. Preproduction
deployment is dependent on the approval of the
test manager’s testing report; deployment only
occurs if the report depicts green status for all
application modules.
Although a dedicated testing team exists in the
Agile environment, unit testing by an individual
developer is beneficial to find early defects and
minimize the rework of both the testing and
development team.
Automated Testing: Regression
Automation is a critical component of Agile
testing. It would otherwise be impossible to
keep pace with the Agile development schedule.
Automation is also used to run regression testing.
The combined team (developers, product owners
and testers) usually predetermines, at the start
Quick Take
The Agile Manifesto1
is based on 12 principles:
•	Customer satisfaction by rapid delivery of
useful software.
•	Welcome changes in requirements, even late
in development.
•	Working software is delivered frequently
(weeks rather than months).
•	Working software is the principal measure of
progress.
•	Sustainable development – the ability to
maintain a constant pace.
•	Close, daily cooperation between business pro-
fessionals and developers.
•	Face-to-face conversation is the best form of
communication (colocation).
•	Projects are built around motivated individu-
als, who should be trusted.
•	Continuous attention to technical excellence
and good design.
•	Simplicity – the art of maximizing the amount
of work not done – is essential.
•	Self-organizing teams.
•	Regular adaptation to changing circumstanc-
es.
An Agile Principles Review
3cognizant 20-20 insights
cognizant 20-20 insights 4
of the project, which parts of the software will be
tested using automation.
Continuousintegration/builds,unit,functionaland
integration test execution as well as continuous
or automated deployment are common areas
where automation may work better than tradi-
tional tests.
The entire project team agrees up front about
which of the main flows will be automated.
Automated tests consist of unit tests, capable
of verifying even the most minute segment of
software. Automation is required primarily to
determine the stability of modules developed in
each Sprint. Any defect found is reported and
fixed, based on its priority.
Furthermore, it is possible to execute the test set
multiple times per day, per hour or even more
frequently if needed.
Best Practices in Agile Testing
Effective Agile projects generally address the
following important elements:
•	Include testers and QA managers as members
of the Agile development team.
•	Include testers as active contributors in
planning and requirements analysis.
•	Promote the importance of testers and
encourage continuous feedback sharing with
the programmers and the customer.
•	Testers actively participate in meetings to
define the main business flows.
•	Testers work on short iteration activities
alongside developers.
•	Encourage traceability between the require-
ments, test cases and bugs.
•	Testers contribute to user Story improvements.
•	Leverage the specialized skills of test-driven
development, including unit testing, continuous
integration and unit level.
•	Leverage automation testing as a key way to do
regression testing.
Agile Testing Advantages
The benefits of Agile testing include:
•	Testing requirements are discussed and refined
as a team (during stand-ups/Scrums) allowing
the combined team to better address the
business/technical aspects of the requirement.
This enables overall alignment and prevents
misunderstandings.
•	The Agile process often requires having entry
and exit criteria for Stories (a compression of
Typical QA Approach for Agile Projects
Inception
Understand
project scope
effort sestimation
Design Build Integrate UAT
Test
Design
Test Automation
Test
Execution Regression
Working
product for
review
and feedback
Open
Defects
Sprint
Backlog
Open
Defects
Sprint
Backlog
Product
after
Sprint 1
Product
after
Sprint 2
Product
after
Sprint N
Working
product for review
and feedback
Incrementally
develop and test
the final product
Test
Report
Understand
user Stories
Prepare test plan
Requirements
understanding
document
(To evolve over time)
Product backlog
Sprint 1
Design Build Integrate UAT
Test
Design
Test Automation
Test
Execution Regression
Test
Report
Sprint 2
Design Build Integrate UAT
Test
Design
Test Automation
Test
Execution Regression
Test
Report
Sprint N
Test Automation
Test Closure
Final Product
Test Execution Test Report
Sprint Regression
Test Automation
Test Execution Test Report
Test Plan Product
Backlog
Can’t
read
PPT
Release
Goal
Sprint
Backlog
Product
Backlog
Sprint
Planning
Meeting
Daily
Status
Meetings
Sprint
Goal
Design
Test
Develop
Regression
Implementation
Testing
Sprint
Implement
Regular
Backlog
Backlog
Iterative Sprints-Based Testing
Development Team
Figure 2
cognizant 20-20 insights 5
things to do in a particular release/iteration).
Agile testing ensures that each requirement is
well defined and measurable, allowing QA spe-
cialists to determine whether the requirement
was actually completed or not.
•	QA participates in the big-picture require-
ments-writing stage, thus ensuring that testing
estimates aren’t overlooked.
•	Automated tests are fully leveraged to
implement regression testing.
•	Quality becomes the combined team’s respon-
sibility, rather than just solely that of the
testing team. The entire team agrees to the
testing strategies, test cases and defects pri-
oritization plan.
Agile Testing Disadvantages and
Mitigations
Agile testing proves to be the best testing meth-
odology only if the requirements are clear to the
project sponsors. If the big-picture requirements
are unclear, the details can become muddied. For
new products, the software architecture normally
takes a path based on the initial requirements. If
the requirements frequently change (as allowed
for in Agile), the following scenarios can occur:
•	The team struggles to adapt to changes
because significant effort has already gone
into the initial requirements development and
testing process.
•	Challenges in estimations and sizing require-
ments. Sometimes QA gets short shrift since
it’s logically the last task in completing the user
Story. Therefore, any delay in the prior devel-
opment task risks impacting QA timelines.
•	QA is sometimes prevented from executing a
test case for the whole iteration, leaving the
team struggling to finish the task.
•	Not asking the right questions. It is very dan-
gerous for QA not to ask questions, especially
at the point where the user Story is picked up
for implementation. Daily team meetings can
avoid this problem.
•	Addition of new user Stories into the current
iteration. QA should be included in the addition
of the new user Story, to build up appropriate
commitments and estimations in order to avoid
misalignment and protracted timeframes.
Looking Forward: Getting
Started with Agile
Kicking off an Agile testing project is easy. Where
to dive in depends on organizational maturity
and skills, among other factors. Regardless of
how your organization stacks up, the following
guidelines can be applied:
•	Tackle things one day at a time. A good first
step might be to start having a daily stand-up
meeting.
•	Attack it incrementally. Now that the team
is communicating a little better, start breaking
things into iterations. Your goal is to develop
each feature, unit test it, QA it and accept it
within the two weeks.
•	Plan just as much as you need to. The Scrum
master, product owner and each developer, QA
and writer should attend (along with usability,
architects, etc.). The goal is to enumerate what
will be accomplished in the iteration as well as
what the acceptance criteria are.
•	Review what you’ve accomplished. End the
iteration with a demo and a retrospective.
•	Integrate frequently. Continuous integration
will likely be key. Integrate at least daily. Stay
as releasable as possible.
•	Focus on what is most important. Another
key area (which takes a while to master) is
backlog, or the ranked list of features/Stories
that the team will address. These are ranked
by priority (most important first). This is key —
even if in some cases the order between two
items is arbitrary. At least once, the organiza-
tion should iterate and reevaluate the rankings.
Adding, removing and shuffling based on
knowledge gained is a good thing.
Footnote
1
	 www.agilealliance.org/the-alliance/the-agile-manifesto.
About Cognizant
Cognizant (NASDAQ: CTSH) is a leading provider of information technology, consulting, and business process out-
sourcing services, dedicated to helping the world’s leading companies build stronger businesses. Headquartered in
Teaneck, New Jersey (U.S.), Cognizant combines a passion for client satisfaction, technology innovation, deep industry
and business process expertise, and a global, collaborative workforce that embodies the future of work. With over 75
development and delivery centers worldwide and approximately 178,600 employees as of March 31, 2014, Cognizant
is a member of the NASDAQ-100, the S&P 500, the Forbes Global 2000, and the Fortune 500 and is ranked among
the top performing and fastest growing companies in the world. Visit us online at www.cognizant.com or follow us on
Twitter: Cognizant.
World Headquarters
500 Frank W. Burr Blvd.
Teaneck, NJ 07666 USA
Phone: +1 201 801 0233
Fax: +1 201 801 0243
Toll Free: +1 888 937 3277
Email: inquiry@cognizant.com
European Headquarters
1 Kingdom Street
Paddington Central
London W2 6BD
Phone: +44 (0) 20 7297 7600
Fax: +44 (0) 20 7121 0102
Email: infouk@cognizant.com
India Operations Headquarters
#5/535, Old Mahabalipuram Road
Okkiyam Pettai, Thoraipakkam
Chennai, 600 096 India
Phone: +91 (0) 44 4209 6000
Fax: +91 (0) 44 4209 6060
Email: inquiryindia@cognizant.com
­­© Copyright 2014, Cognizant. All rights reserved. No part of this document may be reproduced, stored in a retrieval system, transmitted in any form or by any
means, electronic, mechanical, photocopying, recording, or otherwise, without the express written permission from Cognizant. The information contained herein is
subject to change without notice. All other trademarks mentioned herein are the property of their respective owners.
About the Author
Naziya Iqbal Sayed is an Associate within Cognizant’s Quality Excellence and Assurance Business Unit.
Over the last three-plus years, Naziya has provided quality analysis for banking and financial services
clients. She earned a B.E. in information technology from Dr.B.A.M. University, Aurangabad, Maharash-
tra. Naziya can be reached at Naziya.Sayed@cognizant.com.
References
•	http://en.wikipedia.org/wiki/Agile_testing.
•	Lisa Cripian & Janet Gregory, “Agile Testing: A Practical Guide for Testers and Agile Teams,”
Pearson Education Ltd., December 2008.
•	www.allaboutagile.com/10-good-reasons-to-do-agile-development.
•	http://searchsoftwarequality.techtarget.com/definition/Scrum-sprint.

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...IJERA Editor
 
Automation testing
Automation testingAutomation testing
Automation testingTomy Rhymond
 
Software Testing interview - Q&A and tips
Software Testing interview - Q&A and tipsSoftware Testing interview - Q&A and tips
Software Testing interview - Q&A and tipsPankaj Dubey
 
A Research Study on importance of Testing and Quality Assurance in Software D...
A Research Study on importance of Testing and Quality Assurance in Software D...A Research Study on importance of Testing and Quality Assurance in Software D...
A Research Study on importance of Testing and Quality Assurance in Software D...Sehrish Asif
 
Code campiasi scm-project-gabriel-cristescu-ditech
Code campiasi scm-project-gabriel-cristescu-ditechCode campiasi scm-project-gabriel-cristescu-ditech
Code campiasi scm-project-gabriel-cristescu-ditechCodecamp Romania
 
Qa interview questions and answers
Qa interview questions and answersQa interview questions and answers
Qa interview questions and answersGaruda Trainings
 
Agile vs Iterative vs Waterfall models
Agile vs Iterative vs Waterfall models Agile vs Iterative vs Waterfall models
Agile vs Iterative vs Waterfall models Marraju Bollapragada V
 
Tester’s considerations when moving towards successful CI/CD
Tester’s considerations when moving towards successful CI/CDTester’s considerations when moving towards successful CI/CD
Tester’s considerations when moving towards successful CI/CDDerk-Jan de Grood
 
Addressing Performance Testing Challenges in Agile: Process and Tools: Impetu...
Addressing Performance Testing Challenges in Agile: Process and Tools: Impetu...Addressing Performance Testing Challenges in Agile: Process and Tools: Impetu...
Addressing Performance Testing Challenges in Agile: Process and Tools: Impetu...Impetus Technologies
 
A NOVEL METHOD FOR REDUCING TESTING TIME IN SCRUM AGILE PROCESS
A NOVEL METHOD FOR REDUCING TESTING TIME IN SCRUM AGILE PROCESSA NOVEL METHOD FOR REDUCING TESTING TIME IN SCRUM AGILE PROCESS
A NOVEL METHOD FOR REDUCING TESTING TIME IN SCRUM AGILE PROCESSijseajournal
 
Incorporating Performance Testing in Agile Development Process
Incorporating Performance Testing in Agile Development ProcessIncorporating Performance Testing in Agile Development Process
Incorporating Performance Testing in Agile Development ProcessMichael Vax
 
Vladimir Primakov - Qa management in big agile teams
Vladimir Primakov - Qa management in big agile teamsVladimir Primakov - Qa management in big agile teams
Vladimir Primakov - Qa management in big agile teamsIevgenii Katsan
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development OverviewStewart Rogers
 
Psqt east risk testing
Psqt east risk testingPsqt east risk testing
Psqt east risk testingJorge Boria
 
STX Next - Scrum Development Process Overview
STX Next - Scrum Development Process OverviewSTX Next - Scrum Development Process Overview
STX Next - Scrum Development Process OverviewSTX Next
 
Test Management in Agile - Agile testing Days 2018
Test Management in Agile - Agile testing Days 2018Test Management in Agile - Agile testing Days 2018
Test Management in Agile - Agile testing Days 2018Derk-Jan de Grood
 
5 Essential Tools for a Successful QA Process in Your Startup
5 Essential Tools for a Successful QA Process in Your Startup5 Essential Tools for a Successful QA Process in Your Startup
5 Essential Tools for a Successful QA Process in Your StartupQuekelsBaro
 
Agile Business Day 2020 - Refinement - Unlock the full potential of your refi...
Agile Business Day 2020 - Refinement- Unlock the full potential of your refi...Agile Business Day 2020 - Refinement- Unlock the full potential of your refi...
Agile Business Day 2020 - Refinement - Unlock the full potential of your refi...Derk-Jan de Grood
 

Was ist angesagt? (20)

Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...
 
Automation testing
Automation testingAutomation testing
Automation testing
 
Software Testing interview - Q&A and tips
Software Testing interview - Q&A and tipsSoftware Testing interview - Q&A and tips
Software Testing interview - Q&A and tips
 
A Research Study on importance of Testing and Quality Assurance in Software D...
A Research Study on importance of Testing and Quality Assurance in Software D...A Research Study on importance of Testing and Quality Assurance in Software D...
A Research Study on importance of Testing and Quality Assurance in Software D...
 
Code campiasi scm-project-gabriel-cristescu-ditech
Code campiasi scm-project-gabriel-cristescu-ditechCode campiasi scm-project-gabriel-cristescu-ditech
Code campiasi scm-project-gabriel-cristescu-ditech
 
Agile process
Agile processAgile process
Agile process
 
Qa interview questions and answers
Qa interview questions and answersQa interview questions and answers
Qa interview questions and answers
 
Agile vs Iterative vs Waterfall models
Agile vs Iterative vs Waterfall models Agile vs Iterative vs Waterfall models
Agile vs Iterative vs Waterfall models
 
Tester’s considerations when moving towards successful CI/CD
Tester’s considerations when moving towards successful CI/CDTester’s considerations when moving towards successful CI/CD
Tester’s considerations when moving towards successful CI/CD
 
Addressing Performance Testing Challenges in Agile: Process and Tools: Impetu...
Addressing Performance Testing Challenges in Agile: Process and Tools: Impetu...Addressing Performance Testing Challenges in Agile: Process and Tools: Impetu...
Addressing Performance Testing Challenges in Agile: Process and Tools: Impetu...
 
A NOVEL METHOD FOR REDUCING TESTING TIME IN SCRUM AGILE PROCESS
A NOVEL METHOD FOR REDUCING TESTING TIME IN SCRUM AGILE PROCESSA NOVEL METHOD FOR REDUCING TESTING TIME IN SCRUM AGILE PROCESS
A NOVEL METHOD FOR REDUCING TESTING TIME IN SCRUM AGILE PROCESS
 
Presentation on Agile Testing
Presentation on Agile TestingPresentation on Agile Testing
Presentation on Agile Testing
 
Incorporating Performance Testing in Agile Development Process
Incorporating Performance Testing in Agile Development ProcessIncorporating Performance Testing in Agile Development Process
Incorporating Performance Testing in Agile Development Process
 
Vladimir Primakov - Qa management in big agile teams
Vladimir Primakov - Qa management in big agile teamsVladimir Primakov - Qa management in big agile teams
Vladimir Primakov - Qa management in big agile teams
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
 
Psqt east risk testing
Psqt east risk testingPsqt east risk testing
Psqt east risk testing
 
STX Next - Scrum Development Process Overview
STX Next - Scrum Development Process OverviewSTX Next - Scrum Development Process Overview
STX Next - Scrum Development Process Overview
 
Test Management in Agile - Agile testing Days 2018
Test Management in Agile - Agile testing Days 2018Test Management in Agile - Agile testing Days 2018
Test Management in Agile - Agile testing Days 2018
 
5 Essential Tools for a Successful QA Process in Your Startup
5 Essential Tools for a Successful QA Process in Your Startup5 Essential Tools for a Successful QA Process in Your Startup
5 Essential Tools for a Successful QA Process in Your Startup
 
Agile Business Day 2020 - Refinement - Unlock the full potential of your refi...
Agile Business Day 2020 - Refinement- Unlock the full potential of your refi...Agile Business Day 2020 - Refinement- Unlock the full potential of your refi...
Agile Business Day 2020 - Refinement - Unlock the full potential of your refi...
 

Ähnlich wie The Case for Agile testing

Performance Testing in Agile Process
Performance Testing in Agile ProcessPerformance Testing in Agile Process
Performance Testing in Agile ProcessIdexcel Technologies
 
Agile Software Development with Scrum_ A Complete Guide to The Steps in Agile...
Agile Software Development with Scrum_ A Complete Guide to The Steps in Agile...Agile Software Development with Scrum_ A Complete Guide to The Steps in Agile...
Agile Software Development with Scrum_ A Complete Guide to The Steps in Agile...Fibonalabs
 
An Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfAn Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfKMSSolutionsMarketin
 
Acceptance test driven development
Acceptance test driven developmentAcceptance test driven development
Acceptance test driven developmentEditor Jacotech
 
Estimating test effort part 1 of 2
Estimating test effort part 1 of 2Estimating test effort part 1 of 2
Estimating test effort part 1 of 2Ian McDonald
 
Interview questions and answers for quality assurance
Interview questions and answers for quality assuranceInterview questions and answers for quality assurance
Interview questions and answers for quality assuranceGaruda Trainings
 
Mastering Continuous Testing_ A Definitive Guide to Seamless Software Deliver...
Mastering Continuous Testing_ A Definitive Guide to Seamless Software Deliver...Mastering Continuous Testing_ A Definitive Guide to Seamless Software Deliver...
Mastering Continuous Testing_ A Definitive Guide to Seamless Software Deliver...kalichargn70th171
 
The ultimate guide to release management process
The ultimate guide to release management processThe ultimate guide to release management process
The ultimate guide to release management processEnov8
 
Ramachandran_Resume.doc
Ramachandran_Resume.docRamachandran_Resume.doc
Ramachandran_Resume.docRamachandran M
 
STLC & SDLC-ppt-1.pptx
STLC & SDLC-ppt-1.pptxSTLC & SDLC-ppt-1.pptx
STLC & SDLC-ppt-1.pptxssusere4c6aa
 
EMBEDDING PERFORMANCE TESTING IN AGILE SOFTWARE MODEL
EMBEDDING PERFORMANCE TESTING IN AGILE SOFTWARE MODELEMBEDDING PERFORMANCE TESTING IN AGILE SOFTWARE MODEL
EMBEDDING PERFORMANCE TESTING IN AGILE SOFTWARE MODELijseajournal
 

Ähnlich wie The Case for Agile testing (20)

Performance Testing in Agile Process
Performance Testing in Agile ProcessPerformance Testing in Agile Process
Performance Testing in Agile Process
 
Agile Software Development with Scrum_ A Complete Guide to The Steps in Agile...
Agile Software Development with Scrum_ A Complete Guide to The Steps in Agile...Agile Software Development with Scrum_ A Complete Guide to The Steps in Agile...
Agile Software Development with Scrum_ A Complete Guide to The Steps in Agile...
 
An Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfAn Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdf
 
Agile testing
Agile testingAgile testing
Agile testing
 
Acceptance test driven development
Acceptance test driven developmentAcceptance test driven development
Acceptance test driven development
 
Testing Software
Testing SoftwareTesting Software
Testing Software
 
Agile case studies
Agile case studiesAgile case studies
Agile case studies
 
Estimating test effort part 1 of 2
Estimating test effort part 1 of 2Estimating test effort part 1 of 2
Estimating test effort part 1 of 2
 
Interview questions and answers for quality assurance
Interview questions and answers for quality assuranceInterview questions and answers for quality assurance
Interview questions and answers for quality assurance
 
Quality Assurance Process
Quality Assurance ProcessQuality Assurance Process
Quality Assurance Process
 
QACampus PPT (STLC)
QACampus PPT (STLC)QACampus PPT (STLC)
QACampus PPT (STLC)
 
Mastering Continuous Testing_ A Definitive Guide to Seamless Software Deliver...
Mastering Continuous Testing_ A Definitive Guide to Seamless Software Deliver...Mastering Continuous Testing_ A Definitive Guide to Seamless Software Deliver...
Mastering Continuous Testing_ A Definitive Guide to Seamless Software Deliver...
 
The ultimate guide to release management process
The ultimate guide to release management processThe ultimate guide to release management process
The ultimate guide to release management process
 
Qa analyst training
Qa analyst training Qa analyst training
Qa analyst training
 
Ramachandran_Resume.doc
Ramachandran_Resume.docRamachandran_Resume.doc
Ramachandran_Resume.doc
 
STLC & SDLC-ppt-1.pptx
STLC & SDLC-ppt-1.pptxSTLC & SDLC-ppt-1.pptx
STLC & SDLC-ppt-1.pptx
 
EMBEDDING PERFORMANCE TESTING IN AGILE SOFTWARE MODEL
EMBEDDING PERFORMANCE TESTING IN AGILE SOFTWARE MODELEMBEDDING PERFORMANCE TESTING IN AGILE SOFTWARE MODEL
EMBEDDING PERFORMANCE TESTING IN AGILE SOFTWARE MODEL
 
programming testing.pdf
programming testing.pdfprogramming testing.pdf
programming testing.pdf
 
programming testing.pdf
programming testing.pdfprogramming testing.pdf
programming testing.pdf
 
programming testing.pdf
programming testing.pdfprogramming testing.pdf
programming testing.pdf
 

Mehr von Cognizant

Using Adaptive Scrum to Tame Process Reverse Engineering in Data Analytics Pr...
Using Adaptive Scrum to Tame Process Reverse Engineering in Data Analytics Pr...Using Adaptive Scrum to Tame Process Reverse Engineering in Data Analytics Pr...
Using Adaptive Scrum to Tame Process Reverse Engineering in Data Analytics Pr...Cognizant
 
Data Modernization: Breaking the AI Vicious Cycle for Superior Decision-making
Data Modernization: Breaking the AI Vicious Cycle for Superior Decision-makingData Modernization: Breaking the AI Vicious Cycle for Superior Decision-making
Data Modernization: Breaking the AI Vicious Cycle for Superior Decision-makingCognizant
 
It Takes an Ecosystem: How Technology Companies Deliver Exceptional Experiences
It Takes an Ecosystem: How Technology Companies Deliver Exceptional ExperiencesIt Takes an Ecosystem: How Technology Companies Deliver Exceptional Experiences
It Takes an Ecosystem: How Technology Companies Deliver Exceptional ExperiencesCognizant
 
Intuition Engineered
Intuition EngineeredIntuition Engineered
Intuition EngineeredCognizant
 
The Work Ahead: Transportation and Logistics Delivering on the Digital-Physic...
The Work Ahead: Transportation and Logistics Delivering on the Digital-Physic...The Work Ahead: Transportation and Logistics Delivering on the Digital-Physic...
The Work Ahead: Transportation and Logistics Delivering on the Digital-Physic...Cognizant
 
Enhancing Desirability: Five Considerations for Winning Digital Initiatives
Enhancing Desirability: Five Considerations for Winning Digital InitiativesEnhancing Desirability: Five Considerations for Winning Digital Initiatives
Enhancing Desirability: Five Considerations for Winning Digital InitiativesCognizant
 
The Work Ahead in Manufacturing: Fulfilling the Agility Mandate
The Work Ahead in Manufacturing: Fulfilling the Agility MandateThe Work Ahead in Manufacturing: Fulfilling the Agility Mandate
The Work Ahead in Manufacturing: Fulfilling the Agility MandateCognizant
 
The Work Ahead in Higher Education: Repaving the Road for the Employees of To...
The Work Ahead in Higher Education: Repaving the Road for the Employees of To...The Work Ahead in Higher Education: Repaving the Road for the Employees of To...
The Work Ahead in Higher Education: Repaving the Road for the Employees of To...Cognizant
 
Engineering the Next-Gen Digital Claims Organisation for Australian General I...
Engineering the Next-Gen Digital Claims Organisation for Australian General I...Engineering the Next-Gen Digital Claims Organisation for Australian General I...
Engineering the Next-Gen Digital Claims Organisation for Australian General I...Cognizant
 
Profitability in the Direct-to-Consumer Marketplace: A Playbook for Media and...
Profitability in the Direct-to-Consumer Marketplace: A Playbook for Media and...Profitability in the Direct-to-Consumer Marketplace: A Playbook for Media and...
Profitability in the Direct-to-Consumer Marketplace: A Playbook for Media and...Cognizant
 
Green Rush: The Economic Imperative for Sustainability
Green Rush: The Economic Imperative for SustainabilityGreen Rush: The Economic Imperative for Sustainability
Green Rush: The Economic Imperative for SustainabilityCognizant
 
Policy Administration Modernization: Four Paths for Insurers
Policy Administration Modernization: Four Paths for InsurersPolicy Administration Modernization: Four Paths for Insurers
Policy Administration Modernization: Four Paths for InsurersCognizant
 
The Work Ahead in Utilities: Powering a Sustainable Future with Digital
The Work Ahead in Utilities: Powering a Sustainable Future with DigitalThe Work Ahead in Utilities: Powering a Sustainable Future with Digital
The Work Ahead in Utilities: Powering a Sustainable Future with DigitalCognizant
 
AI in Media & Entertainment: Starting the Journey to Value
AI in Media & Entertainment: Starting the Journey to ValueAI in Media & Entertainment: Starting the Journey to Value
AI in Media & Entertainment: Starting the Journey to ValueCognizant
 
Operations Workforce Management: A Data-Informed, Digital-First Approach
Operations Workforce Management: A Data-Informed, Digital-First ApproachOperations Workforce Management: A Data-Informed, Digital-First Approach
Operations Workforce Management: A Data-Informed, Digital-First ApproachCognizant
 
Five Priorities for Quality Engineering When Taking Banking to the Cloud
Five Priorities for Quality Engineering When Taking Banking to the CloudFive Priorities for Quality Engineering When Taking Banking to the Cloud
Five Priorities for Quality Engineering When Taking Banking to the CloudCognizant
 
Getting Ahead With AI: How APAC Companies Replicate Success by Remaining Focused
Getting Ahead With AI: How APAC Companies Replicate Success by Remaining FocusedGetting Ahead With AI: How APAC Companies Replicate Success by Remaining Focused
Getting Ahead With AI: How APAC Companies Replicate Success by Remaining FocusedCognizant
 
Crafting the Utility of the Future
Crafting the Utility of the FutureCrafting the Utility of the Future
Crafting the Utility of the FutureCognizant
 
Utilities Can Ramp Up CX with a Customer Data Platform
Utilities Can Ramp Up CX with a Customer Data PlatformUtilities Can Ramp Up CX with a Customer Data Platform
Utilities Can Ramp Up CX with a Customer Data PlatformCognizant
 
The Work Ahead in Intelligent Automation: Coping with Complexity in a Post-Pa...
The Work Ahead in Intelligent Automation: Coping with Complexity in a Post-Pa...The Work Ahead in Intelligent Automation: Coping with Complexity in a Post-Pa...
The Work Ahead in Intelligent Automation: Coping with Complexity in a Post-Pa...Cognizant
 

Mehr von Cognizant (20)

Using Adaptive Scrum to Tame Process Reverse Engineering in Data Analytics Pr...
Using Adaptive Scrum to Tame Process Reverse Engineering in Data Analytics Pr...Using Adaptive Scrum to Tame Process Reverse Engineering in Data Analytics Pr...
Using Adaptive Scrum to Tame Process Reverse Engineering in Data Analytics Pr...
 
Data Modernization: Breaking the AI Vicious Cycle for Superior Decision-making
Data Modernization: Breaking the AI Vicious Cycle for Superior Decision-makingData Modernization: Breaking the AI Vicious Cycle for Superior Decision-making
Data Modernization: Breaking the AI Vicious Cycle for Superior Decision-making
 
It Takes an Ecosystem: How Technology Companies Deliver Exceptional Experiences
It Takes an Ecosystem: How Technology Companies Deliver Exceptional ExperiencesIt Takes an Ecosystem: How Technology Companies Deliver Exceptional Experiences
It Takes an Ecosystem: How Technology Companies Deliver Exceptional Experiences
 
Intuition Engineered
Intuition EngineeredIntuition Engineered
Intuition Engineered
 
The Work Ahead: Transportation and Logistics Delivering on the Digital-Physic...
The Work Ahead: Transportation and Logistics Delivering on the Digital-Physic...The Work Ahead: Transportation and Logistics Delivering on the Digital-Physic...
The Work Ahead: Transportation and Logistics Delivering on the Digital-Physic...
 
Enhancing Desirability: Five Considerations for Winning Digital Initiatives
Enhancing Desirability: Five Considerations for Winning Digital InitiativesEnhancing Desirability: Five Considerations for Winning Digital Initiatives
Enhancing Desirability: Five Considerations for Winning Digital Initiatives
 
The Work Ahead in Manufacturing: Fulfilling the Agility Mandate
The Work Ahead in Manufacturing: Fulfilling the Agility MandateThe Work Ahead in Manufacturing: Fulfilling the Agility Mandate
The Work Ahead in Manufacturing: Fulfilling the Agility Mandate
 
The Work Ahead in Higher Education: Repaving the Road for the Employees of To...
The Work Ahead in Higher Education: Repaving the Road for the Employees of To...The Work Ahead in Higher Education: Repaving the Road for the Employees of To...
The Work Ahead in Higher Education: Repaving the Road for the Employees of To...
 
Engineering the Next-Gen Digital Claims Organisation for Australian General I...
Engineering the Next-Gen Digital Claims Organisation for Australian General I...Engineering the Next-Gen Digital Claims Organisation for Australian General I...
Engineering the Next-Gen Digital Claims Organisation for Australian General I...
 
Profitability in the Direct-to-Consumer Marketplace: A Playbook for Media and...
Profitability in the Direct-to-Consumer Marketplace: A Playbook for Media and...Profitability in the Direct-to-Consumer Marketplace: A Playbook for Media and...
Profitability in the Direct-to-Consumer Marketplace: A Playbook for Media and...
 
Green Rush: The Economic Imperative for Sustainability
Green Rush: The Economic Imperative for SustainabilityGreen Rush: The Economic Imperative for Sustainability
Green Rush: The Economic Imperative for Sustainability
 
Policy Administration Modernization: Four Paths for Insurers
Policy Administration Modernization: Four Paths for InsurersPolicy Administration Modernization: Four Paths for Insurers
Policy Administration Modernization: Four Paths for Insurers
 
The Work Ahead in Utilities: Powering a Sustainable Future with Digital
The Work Ahead in Utilities: Powering a Sustainable Future with DigitalThe Work Ahead in Utilities: Powering a Sustainable Future with Digital
The Work Ahead in Utilities: Powering a Sustainable Future with Digital
 
AI in Media & Entertainment: Starting the Journey to Value
AI in Media & Entertainment: Starting the Journey to ValueAI in Media & Entertainment: Starting the Journey to Value
AI in Media & Entertainment: Starting the Journey to Value
 
Operations Workforce Management: A Data-Informed, Digital-First Approach
Operations Workforce Management: A Data-Informed, Digital-First ApproachOperations Workforce Management: A Data-Informed, Digital-First Approach
Operations Workforce Management: A Data-Informed, Digital-First Approach
 
Five Priorities for Quality Engineering When Taking Banking to the Cloud
Five Priorities for Quality Engineering When Taking Banking to the CloudFive Priorities for Quality Engineering When Taking Banking to the Cloud
Five Priorities for Quality Engineering When Taking Banking to the Cloud
 
Getting Ahead With AI: How APAC Companies Replicate Success by Remaining Focused
Getting Ahead With AI: How APAC Companies Replicate Success by Remaining FocusedGetting Ahead With AI: How APAC Companies Replicate Success by Remaining Focused
Getting Ahead With AI: How APAC Companies Replicate Success by Remaining Focused
 
Crafting the Utility of the Future
Crafting the Utility of the FutureCrafting the Utility of the Future
Crafting the Utility of the Future
 
Utilities Can Ramp Up CX with a Customer Data Platform
Utilities Can Ramp Up CX with a Customer Data PlatformUtilities Can Ramp Up CX with a Customer Data Platform
Utilities Can Ramp Up CX with a Customer Data Platform
 
The Work Ahead in Intelligent Automation: Coping with Complexity in a Post-Pa...
The Work Ahead in Intelligent Automation: Coping with Complexity in a Post-Pa...The Work Ahead in Intelligent Automation: Coping with Complexity in a Post-Pa...
The Work Ahead in Intelligent Automation: Coping with Complexity in a Post-Pa...
 

The Case for Agile testing

  • 1. The Case for Agile Testing By applying principles of Agile software development, QA teams can help bake in code quality as applications are being developed, ensuring more stable and business-aligned outcomes. Executive Summary For a variety of reasons (time, money, skills, etc.), the testing phase of software development some- times gets short shrift from developers and IT managers. Yet testing is the only way to determine the quality of software and whether an applica- tion will function properly in real time. It plays an important role in the software development lifecy- cle (SDLC). Without an effective testing strategy, companies sometimes blindly take on significant risks that may go well beyond simply having poorly functioning software. Organizational rami- fications can be dire, including the risk of: • Customer dissatisfaction. • Brand injury. • Competitive threat. • Product revenue loss. At the development level, an oversight in testing can trigger countless technical and project outcome challenges: • Cost overruns. • Poor resource estimations. • Schedule overruns. • Overlooked functionalities and scenarios triggered by poor developer/tester communi- cation, resulting in compromised quality. Agile testing mitigates these risks and ensures that IT organizations achieve the technical and business goals of the development process. In this white paper, we provide an overview of how Agile testing works, why it is important, and the challenges it poses. Agile Testing Defined Agile testing is a software testing practice that follows the principles of Agile software develop- ment. Agile development integrates testing into the development process, rather than keeping it as a separate and distinct SDLC phase. Agile testing involves a cross-functional Agile team actively relying on the special expertise contrib- uted by testers. Agile teams use a “whole-team” approach to “bake in quality” to the software product. Because testing occurs in real time, this approach allows the team to collaborate actively with the devel- opment team, helping them identify and transfer issues into executable specifications that guide coding. Before the start of testing, the develop- ment team’s detailed design documents must be approved so that test case creation can start. Both coding and testing are performed incrementally and iteratively in Sprints (or iterations), building each feature until it delivers enough stability and adds quality to the product (see Figure 1). cognizant 20-20 insights | june 2014 • Cognizant 20-20 Insights
  • 2. 2 Sprinting Ahead In the Agile methodology, a Sprint is a set period of time during which specific work must be completed and made ready for review. Each Sprint begins with a planning meeting. During the meeting, the product owner (who requested the work) and the development and testing teams agree upon exactly which activities will be accomplished during the Sprint. The devel- opment team has the final say when it comes to determining how much work can realistically be accomplished during the Sprint, and the product owner has the final say on what criteria need to be met for the work to be approved and accepted. The duration of a Sprint is determined by the Scrum master, the team’s facilitator. Once the team reaches a consensus on how many days a Sprint should last, all future Sprints should be the same. Traditionally, a Sprint lasts 30 days. After a Sprint begins, the product owner must step back and let the development team do its work. During the Sprint, the team holds a daily stand-up meeting to discuss progress and brainstorm solutions to challenges. The project owner may attend these meetings as an observer but is not allowed to participate unless it is to answer questions. The project owner may not make requests for changes during a Sprint and only the Scrum master or project manager has the power to interrupt or stop the Sprint. At the end of the Sprint, the team presents its completed work to the project owner and the project owner uses the criteria established at the Sprint planning meeting to either accept or reject the work. The Mechanics of Agile Testing The combined team, including both development and testing, takes responsibility for analyzing the business specifications. Together, they define the Sprint goal. The QA team defines the testing scope (i.e., test plan). That is then validated and approved by the entire team and the client. Simultaneously, while the development team starts the implementation of modules (in the very first Sprint), the QA team begins work on the test case design. These are properly documented either in a testing tool or in an Excel spreadsheet that is handed over to the development team and project sponsor from the business side to review. This is to ensure that test coverage is as complete as possible. Once the test case review and any modifications are completed for a particular Sprint, the QA team then begins testing on the QA environment. Defects found during testing are logged properly in a defect tracking tool. Depending on the severity and priority of defects, fixing them can be delayed but then is taken care of in upcoming cognizant 20-20 insights A More Flexible Approach to Software Development Onsite Development Team Virtual QA Agile Lifecycle Technology & Common Tools Offshore QA Team Design Execute Wrap User Review User Review Small Release Small Release Small Release Iteration 1 Iteration 2 Pilot Launch Production Launch User Review Figure 1
  • 3. Sprints. At the end of each Sprint, the team determines, along with the project sponsor, which defects are to be fixed in the current iteration. This iteration continues until all planned Sprints are completed. QA, along with the development team and business organization, defines which main flows (test cases) will be automated. When code is ready to test (after the end of each Sprint), QA works with development to execute test cases on the development environment, in order to identify the early stage defects so developers can fix them during the next round, on a priority basis. This process is then repeated throughout the development process. Automated test cases are run daily throughout the SDLC. White-board/stand-up meetings are conducted daily involving members of all teams associated with product development, support and testing. This helps to resolve the issues faced by team members and provides a clear picture of progress in both the coding and testing areas. Agile promotes the introduction of requirements at all stages/iterations of the SDLC; however, the testing team determines when to end this process to ensure product stability (see Figure 2). Manual Testing: Regression The manual testing team plays an important role in determining product quality. Once the majority of coding is completed (i.e., in the last planned Sprint), the manual regression test cycle starts. This is key since it helps to determine the stability of the application before it is pushed to preproduction deployment. Code and defect fixes continue during this phase, but this is to add value to the product. Preproduction deployment is dependent on the approval of the test manager’s testing report; deployment only occurs if the report depicts green status for all application modules. Although a dedicated testing team exists in the Agile environment, unit testing by an individual developer is beneficial to find early defects and minimize the rework of both the testing and development team. Automated Testing: Regression Automation is a critical component of Agile testing. It would otherwise be impossible to keep pace with the Agile development schedule. Automation is also used to run regression testing. The combined team (developers, product owners and testers) usually predetermines, at the start Quick Take The Agile Manifesto1 is based on 12 principles: • Customer satisfaction by rapid delivery of useful software. • Welcome changes in requirements, even late in development. • Working software is delivered frequently (weeks rather than months). • Working software is the principal measure of progress. • Sustainable development – the ability to maintain a constant pace. • Close, daily cooperation between business pro- fessionals and developers. • Face-to-face conversation is the best form of communication (colocation). • Projects are built around motivated individu- als, who should be trusted. • Continuous attention to technical excellence and good design. • Simplicity – the art of maximizing the amount of work not done – is essential. • Self-organizing teams. • Regular adaptation to changing circumstanc- es. An Agile Principles Review 3cognizant 20-20 insights
  • 4. cognizant 20-20 insights 4 of the project, which parts of the software will be tested using automation. Continuousintegration/builds,unit,functionaland integration test execution as well as continuous or automated deployment are common areas where automation may work better than tradi- tional tests. The entire project team agrees up front about which of the main flows will be automated. Automated tests consist of unit tests, capable of verifying even the most minute segment of software. Automation is required primarily to determine the stability of modules developed in each Sprint. Any defect found is reported and fixed, based on its priority. Furthermore, it is possible to execute the test set multiple times per day, per hour or even more frequently if needed. Best Practices in Agile Testing Effective Agile projects generally address the following important elements: • Include testers and QA managers as members of the Agile development team. • Include testers as active contributors in planning and requirements analysis. • Promote the importance of testers and encourage continuous feedback sharing with the programmers and the customer. • Testers actively participate in meetings to define the main business flows. • Testers work on short iteration activities alongside developers. • Encourage traceability between the require- ments, test cases and bugs. • Testers contribute to user Story improvements. • Leverage the specialized skills of test-driven development, including unit testing, continuous integration and unit level. • Leverage automation testing as a key way to do regression testing. Agile Testing Advantages The benefits of Agile testing include: • Testing requirements are discussed and refined as a team (during stand-ups/Scrums) allowing the combined team to better address the business/technical aspects of the requirement. This enables overall alignment and prevents misunderstandings. • The Agile process often requires having entry and exit criteria for Stories (a compression of Typical QA Approach for Agile Projects Inception Understand project scope effort sestimation Design Build Integrate UAT Test Design Test Automation Test Execution Regression Working product for review and feedback Open Defects Sprint Backlog Open Defects Sprint Backlog Product after Sprint 1 Product after Sprint 2 Product after Sprint N Working product for review and feedback Incrementally develop and test the final product Test Report Understand user Stories Prepare test plan Requirements understanding document (To evolve over time) Product backlog Sprint 1 Design Build Integrate UAT Test Design Test Automation Test Execution Regression Test Report Sprint 2 Design Build Integrate UAT Test Design Test Automation Test Execution Regression Test Report Sprint N Test Automation Test Closure Final Product Test Execution Test Report Sprint Regression Test Automation Test Execution Test Report Test Plan Product Backlog Can’t read PPT Release Goal Sprint Backlog Product Backlog Sprint Planning Meeting Daily Status Meetings Sprint Goal Design Test Develop Regression Implementation Testing Sprint Implement Regular Backlog Backlog Iterative Sprints-Based Testing Development Team Figure 2
  • 5. cognizant 20-20 insights 5 things to do in a particular release/iteration). Agile testing ensures that each requirement is well defined and measurable, allowing QA spe- cialists to determine whether the requirement was actually completed or not. • QA participates in the big-picture require- ments-writing stage, thus ensuring that testing estimates aren’t overlooked. • Automated tests are fully leveraged to implement regression testing. • Quality becomes the combined team’s respon- sibility, rather than just solely that of the testing team. The entire team agrees to the testing strategies, test cases and defects pri- oritization plan. Agile Testing Disadvantages and Mitigations Agile testing proves to be the best testing meth- odology only if the requirements are clear to the project sponsors. If the big-picture requirements are unclear, the details can become muddied. For new products, the software architecture normally takes a path based on the initial requirements. If the requirements frequently change (as allowed for in Agile), the following scenarios can occur: • The team struggles to adapt to changes because significant effort has already gone into the initial requirements development and testing process. • Challenges in estimations and sizing require- ments. Sometimes QA gets short shrift since it’s logically the last task in completing the user Story. Therefore, any delay in the prior devel- opment task risks impacting QA timelines. • QA is sometimes prevented from executing a test case for the whole iteration, leaving the team struggling to finish the task. • Not asking the right questions. It is very dan- gerous for QA not to ask questions, especially at the point where the user Story is picked up for implementation. Daily team meetings can avoid this problem. • Addition of new user Stories into the current iteration. QA should be included in the addition of the new user Story, to build up appropriate commitments and estimations in order to avoid misalignment and protracted timeframes. Looking Forward: Getting Started with Agile Kicking off an Agile testing project is easy. Where to dive in depends on organizational maturity and skills, among other factors. Regardless of how your organization stacks up, the following guidelines can be applied: • Tackle things one day at a time. A good first step might be to start having a daily stand-up meeting. • Attack it incrementally. Now that the team is communicating a little better, start breaking things into iterations. Your goal is to develop each feature, unit test it, QA it and accept it within the two weeks. • Plan just as much as you need to. The Scrum master, product owner and each developer, QA and writer should attend (along with usability, architects, etc.). The goal is to enumerate what will be accomplished in the iteration as well as what the acceptance criteria are. • Review what you’ve accomplished. End the iteration with a demo and a retrospective. • Integrate frequently. Continuous integration will likely be key. Integrate at least daily. Stay as releasable as possible. • Focus on what is most important. Another key area (which takes a while to master) is backlog, or the ranked list of features/Stories that the team will address. These are ranked by priority (most important first). This is key — even if in some cases the order between two items is arbitrary. At least once, the organiza- tion should iterate and reevaluate the rankings. Adding, removing and shuffling based on knowledge gained is a good thing. Footnote 1 www.agilealliance.org/the-alliance/the-agile-manifesto.
  • 6. About Cognizant Cognizant (NASDAQ: CTSH) is a leading provider of information technology, consulting, and business process out- sourcing services, dedicated to helping the world’s leading companies build stronger businesses. Headquartered in Teaneck, New Jersey (U.S.), Cognizant combines a passion for client satisfaction, technology innovation, deep industry and business process expertise, and a global, collaborative workforce that embodies the future of work. With over 75 development and delivery centers worldwide and approximately 178,600 employees as of March 31, 2014, Cognizant is a member of the NASDAQ-100, the S&P 500, the Forbes Global 2000, and the Fortune 500 and is ranked among the top performing and fastest growing companies in the world. Visit us online at www.cognizant.com or follow us on Twitter: Cognizant. World Headquarters 500 Frank W. Burr Blvd. Teaneck, NJ 07666 USA Phone: +1 201 801 0233 Fax: +1 201 801 0243 Toll Free: +1 888 937 3277 Email: inquiry@cognizant.com European Headquarters 1 Kingdom Street Paddington Central London W2 6BD Phone: +44 (0) 20 7297 7600 Fax: +44 (0) 20 7121 0102 Email: infouk@cognizant.com India Operations Headquarters #5/535, Old Mahabalipuram Road Okkiyam Pettai, Thoraipakkam Chennai, 600 096 India Phone: +91 (0) 44 4209 6000 Fax: +91 (0) 44 4209 6060 Email: inquiryindia@cognizant.com ­­© Copyright 2014, Cognizant. All rights reserved. No part of this document may be reproduced, stored in a retrieval system, transmitted in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the express written permission from Cognizant. The information contained herein is subject to change without notice. All other trademarks mentioned herein are the property of their respective owners. About the Author Naziya Iqbal Sayed is an Associate within Cognizant’s Quality Excellence and Assurance Business Unit. Over the last three-plus years, Naziya has provided quality analysis for banking and financial services clients. She earned a B.E. in information technology from Dr.B.A.M. University, Aurangabad, Maharash- tra. Naziya can be reached at Naziya.Sayed@cognizant.com. References • http://en.wikipedia.org/wiki/Agile_testing. • Lisa Cripian & Janet Gregory, “Agile Testing: A Practical Guide for Testers and Agile Teams,” Pearson Education Ltd., December 2008. • www.allaboutagile.com/10-good-reasons-to-do-agile-development. • http://searchsoftwarequality.techtarget.com/definition/Scrum-sprint.