AgileDevMethodTesters 0
AgileDevMethodTesters 0
Ta s k 1
Food for thought
Copyright © Perforce Software. All rights reserved.
This work is licensed under the Creative Commons Attribution-Noncommercial-No
Derivative Works 3.0 United States License. To view a copy of this license, visit
http://creativecommons.org/licenses/by-nc-nd/3.0/us/ or send a letter to Creative
Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
Introduction
Enterprise application development teams are increasingly
adopting Agile software development techniques as the including a list of activities that can help turn testing into an
principal method of building custom applications for business essential part of any Agile process.
advantage. Agile methodologies, such as Scrum, Extreme
Whatever the Agile process used, the role for testers is not
always clear. Testers who seek to better understand how testing
can impact Agile development methodologies, and their roles
Story F inding/I n i t i a l
RELEA SE Estimation
High-Lev el Planning
After that set of stories has been implemented, the domain
expert validates the software with respect to those stories, and
Sy stem Testing the process begins again with the next set of user stories. This
B egin Iteration
process is performed rapidly, and the application is compiled
N W rite Story and Scenario and built almost continually, so the coded and validated
features can be deployed at any point in time.
Stories Lef t to Play ?
Because the software can be built at the end of each sequence,
Ex ecute F unctionality and has been validated by domain experts, it can ideally
Quality A ssurance and A cceptance Tests be deployed to the business at any time. This means there
doesn’t have to be a year-long development cycle, during
Deploy which the business needs have likely changed. Applications
can be deployed early and often, making features available to
users early, while adjusting later features in response to user
Figure 1. Agile development repeats a sequence of code, test, and deploy
feedback and changing business needs.
Agile and Testers: It Only Makes Sense
measure their completion. This is a business aspect to testing
application testers to accomplish. The connection between that is not typically the focus in traditional methodologies.
the end user and the developers appears to be direct, so
If the domain expert is the principal author of the user story, it’s
seems unwarranted. And, because the domain expert tries likely that he or she is making assumptions about the domain
the software multiple times during the process, mid-course or the business process that is implicit in the story but probably
corrections seem seamless and straightforward. Developers not apparent to the development team. These assumptions
can lead to misunderstandings with the developers, who
may not fully comprehend the assumptions or point of view.
Testers are in an ideal position to work with the domain expert
However, independent testing is still vital. Quality is still one of to clarify assumptions and make them explicit, and to explain
the most important requirements in an enterprise application, any ambiguities in those stories before developers start coding
and testing is the primary way of verifying quality and assuring from them.
that the process produces quality software. But testers have to
substantially change their approach to doing their jobs in order
to assume an essential role in Agile development. business analysts and testers can work together to accelerate
this process. By combining responsibilities, testers and business
Because of their unique position in the application development analysts each do what they do best—turn user requirements
lifecycle, testers are best equipped to connect business needs into high-quality applications.
with actual results. In particular, testers are in the best position
to codify user stories, and to determine how to objectively
Testing A ctiv ities Agile methodologies tend to leave acceptance criteria up
to the domain expert, but that person is unlikely to be an
expert in evaluating software, even against criteria he or she
Technology -F acing B usiness-F acing it is the essence of the profession. In traditional testing, this is
referred to as acceptance testing—the practice of ensuring
Because testing is accelerated, it must be focused on the needs In Agile development, acceptance testing needs to be performed
of the user community in addition to technical quality. All test at the user story level. Making the crucial transitions from story
cases should tie back to the user stories. By enabling testers to implemented feature and back to story requires participation
the software, the testers are in the best position to determine features, and the development of cases to test those features.
how best to test the stories once they have been implemented.
This level of up-front involvement makes getting from user A requirements and test management package will enable
story to acceptance test signi cantly easier. Tracing the testers to record user stories and resulting features, while
implementation of user stories has the potential to be much tracking acceptance test results back to both features and user
faster and simpler, and require far less overhead. Because stories.
Ex amples Scenarios and delivery in an Agile process. An equal focus on both the
Critique Product
Story Tests U sab ility Testing business and the technology, with support for the Agile team
Prototy pes U ser A cceptance Testing plus the development project, is critical in ensuring testers
Simulations Q 2 Q3 A lpha / B eta make a complete contribution to project success. Automation
of these activities can also ensure timeliness and repeatability
Q 1 Q4 of testing activities, not only in the current iteration, but future
U nit Tests Perf ormance Load Testing
Component Tests iterations as well.
Security Testing
“- i l i t y " Testing
Technology -F acing
Figure 3. Many testing activities can be automated, supporting project and team goals
For More Information About Perforce
Visit www.seapine.com/testtrack/agile Enterprises across the globe rely on Perforce to build and deliver
complex digital products faster and with higher quality. Perforce
is best known for its highly scalable version management and
collaboration platform that securely manages change across all
digital content – source code, art files, video files, images, libraries
- while supporting the developer and build tools your teams need
to be productive, such as Git, Visual Studio, Jenkins, Adobe, Maya
and many others. Perforce also offers complete project lifecycle
management tools to accelerate a project’s delivery cycle by
linking the requirements, test plans, source code, and helpdesk in
an integrated platform. Perforce is trusted by the world’s most
innovative brands, including Pixar, NVIDIA, Scania, Ubisoft, and
VMware. The company has offices in the US, the United Kingdom,
Germany, Canada and Australia, and sales partners around the
globe. For more information, please visit www.perforce.com