0% found this document useful (0 votes)
72 views12 pages

AgileDevMethodTesters 0

Uploaded by

ayyamuthu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
72 views12 pages

AgileDevMethodTesters 0

Uploaded by

ayyamuthu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Ta s k 2

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

with participation from the end user community.

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

roles are. By understanding Agile development processes and


how testing can improve quality in these processes, testers can
Traditional Testing and
the Transition to Agile
Traditional testing practices have taken their lead from from the process. Instead, one or more business analysts
the Waterfall model of software development, where interact with users to determine the business requirements,
requirements gathering, software design, and implementation which are passed on to developers and testers. Testers focus on
follow a deliberate and often lengthy path. While quality developing plans and individual tests to validate the software
against the requirements. Testers not only look for obvious
to map existing quality strategies to a new and accelerated software bugs, but also for deviations from the business
methodology.

The Traditional Starting Point purpose.


In traditional software development methodologies,
testers meticulously examine requirements, determine the Because software is complex, testers put in a large amount
appropriate way of measuring quality, and devise a plan to of work both before and during testing. While developers
assure those requirements have been implemented through
functional and regression testing during the latter stages of preparing test plans and test cases. This documentation can
code development. The prospective software user is removed
easily run into the hundreds or even thousands of pages. which are high-level scenarios of how the prospective software
Once the development team starts building the software, would be used as a part of a business process.
testers execute the test plan, running relevant test cases as the
features gradually become available. Bugs and deviations from The team, including the product owner, developers, and
testers, take these user stories, organize them, and use
bugs as well as write new code. them as a basis for designing and building applications

a time, developers will reserve anywhere from a week to a


Developers and Agile month to implement that subset of stories, depending on the
Agile methodologies focus on immediate and rapid code Agile approach used and the complexity of the stories. The
development, and less on upfront documentation. They do features supporting those stories are coded, and at the end of
this through involvement by product owners from the user that time those features are operational. The domain expert
community, who work closely with the development team to works with developers to answer questions and resolve
ambiguities as the stories are translated from business
functional requirements of the software through user stories, processes to software features.
Def ine Requirements

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

a corresponding software feature. To facilitate acceptance


testing, testers need to be intimately involved with translating
Technical Dev elopment B u s i ne s s B u s i ne s s
Support Support user stories into application features. Doing so provides the
Testing Testing
ability for them to understand what the user community
Figure 2. Testers have both technology-facing and business-facing responsibilities intended, and how it was translated into the application.

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.

Likewise, functional, regression, and acceptance testing can


be performed manually, at the cost of additional time and
particulars of one or more user stories. An acceptance test case resources. After tests are validated, most can be executed
should enable the product owner to verify and validate that automatically, even as part of the build process. In addition
the user story has been implemented correctly. to accelerating testing and ultimately user acceptance of the
application, automation ensures repeatability of an important
Virtually all of these activities can be improved and accelerated part of the Agile development process.
with automation. Tracking a story from inception to acceptance
test can be done manually, but that requires testers to spend
time examining documentation to perform that activity.
Steps to Quality Software
With Agile Processes
For testers to take a leadership role in assuring quality in Agile 3. Translate testing requirements into test cases as early
software development and delivery, they have to work with, as possible. Work with users and business analysts
and at the pace of, the project. Testers must work with both
Work with developers to devise technology-facing tests.

4. Automate test cases and test execution so that tests can


be rerun automatically as part of the build process. Test
Following are the key steps to preparing and executing testing
automation ensures that any regression bug is caught and
on an Agile project:
corrected quickly.
1. Get to know the domain expert and user community.
5.
Understand fundamentally the business goals of
application. Be able to report on test execution at any time,
the application. Your testing goals serve that group.
so decisions can be made about application deployment.
2. Break user stories into prioritized testing requirements
6. Trace requirements from inception to delivery to ensure
and track those requirements to completion. Use
business needs have been adequately addressed. You
automated systems to capture user stories, distill
may need to add requirements and tests later in
requirements, and trace requirements through to
the process, or delete obsolete requirements.
implementation and back to user stories.
A gile Testing Quadrants
B usiness-F acing
These are the major ways that testers can demonstrate value
F unctional Tests Ex ploratory Testing and make essential contributions to software development
Supporting the Team

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

You might also like