The Agile Way:: A Complete Guide To Understanding Agile Testing Methodologies
The Agile Way:: A Complete Guide To Understanding Agile Testing Methodologies
Sincerely,
Kevin Dunne
Kevin Dunne is the Director of Product Strategy at QASymphony,
www.qasymphony.com 1-844-798-4386
www.qasymphony.com 1-844-798-4386
In This Guide,
Youll Learn:
99 What Agile testing is and why
its an important part of the
Agile methodology
WH AT IS AGILE T E S T ING ?
Its a collaborative, flexible and adaptive approach that
During Agile testing, its helpful to keep the four central tenets of the Agile Manifesto in mind to help guide the decision-making process.
01
03
Individuals and
interactions over
processes and tools
Customer
collaboration over
contract negotiation
02
Working software
over comprehensive
documentation
www.qasymphony.com 1-844-798-4386
04
Responding to
change over
following a plan
SCRUM
Scrum is one of the most popular Agile development methodologies and
one of the easiest transitions from the waterfall approach, since its typically
requirements-driven like waterfall but involves shorter iterations with higher
degrees of collaboration.
OVERVIEW
BEST PRACTICES
defines how features should perform and be tested but with one
significant difference: scrum testing is a very iterative process, designed to
deliver value in the shorter term.
In scrum, questions are answered up front to avoid the trap of building
a product loaded with features, only to realize later that the priorities or
requirements may have shifted. Plus, teams are better able to hit the moving
targets of evolving customer demands in a complex marketplace, thanks to
the flexibility scrum brings.
Overall, scrum is much more collaborative and iterative than waterfall, which
in a production-like environment,
staged into a build and deployed
out into production.
typically requires many cycles of testing and bug fixing before a product can
be released.
Product Owner
Scrum relies on more frequent touch points between developers and testers,
testers and BAs, and BAs and Developers to make sure any changes are
Scrum Master
properly communicated.
Developers
Scrum demands regular touch points across the scrum team, such as daily
stand-ups and sprint retrospectives, to keep activities aligned and
Automation Engineers
remove obstacles.
Testers
Strong project management is a key need in scrum, and the role of the Scrum
Master is to constantly refine the schedule and direction and keep the team
on track.
www.qasymphony.com 1-844-798-4386
KANBAN
Kanban is similar to waterfall in the creation of key stages with gates that
are sequential, but specific phases are tracked on a feature level rather
than a release level.
OVERVIEW
BEST PRACTICES
organization, Kanban may be the best choice, thanks to its ability to incorporate agility into your process without turning it upside down. It can be a good
starting point for further transition into more collaborative methodologies like
scrum and a bridge to create the close developer/tester interactions needed
for TDD, ATDD, and BDD methodologies.
Kanban drives visibility into production and helps to identify bottlenecks in
the process since it creates and opens up each phase of the process. This visibility enables you to quickly identify which steps in your process are hurting
efficiency, giving you the tools to drive greater agility and throughput.
in a production-like environment,
staged into a build and deployed
out into production.
WAT ERFA LL V S . K A NB A N
Kanban requires planning on a feature level, meaning that team members
must be ready to perform their duty at any given time (i.e. plan tests in the
Project Manager
up to date and provide visibility to the rest of the team into progress.
Developers
Automation Engineers
Testers
www.qasymphony.com 1-844-798-4386
TEST DRIVEN
DEVELOPMENT (TDD)
With Test Driven Development the quintessential Agile testing style
code is developed against automated unit tests rather than time-consuming and often misunderstood requirements.
OVERVIEW
BEST PRACTICES
While some organizations may struggle with the concept of this backwards
WAT ERFA LL V S . T DD
www.qasymphony.com 1-844-798-4386
10
BEHAVIORAL-DRIVEN
DEVELOPMENT (BDD)
As a subset to Test-Driven Development (TDD), Behavioral-Driven
Development (BDD) uses an initial requirement thats driven from end-user
behavior, rather than a technically facing unit test.
11
OVERVIEW
BEST PRACTICES
organizations.
Analyst
Project Manager
Developers
DevOps Manager /
Release Manager
Automation Engineer /
Testers
www.qasymphony.com 1-844-798-4386
12
13
OVERVIEW
BEST PRACTICES
If you want a customer to purchase your product, its not just functionality
that matters how end users perceive your product is as important as the
features themselves. Empowering customer perception to drive product
performance is the thinking behind Acceptance Test Driven Development
(ATDD), eliminating the requirement-driven process waterfall. Instead,
customer input is gathered up front and distilled into Acceptance Criteria,
which are then translated into manual or automated Acceptance Tests that
are developed against.
While it may seem challenging to define the application behavior in the early
stages, building the product with the end users needs in mind will result in
a higher adoption rate than software developed under contrary methods.
Additionally, it removes one more additional layer of potential misunderstanding the disconnect between how the development team may interpret the
use of the product vs. how the end user actually uses the product, reducing
risk of delivering underadopted features or needing to rework features in
later releases.
WAT ERFA LL V S . AT DD
ATDD requires customer-facing roles (customer support, sales, etc.) to be
involved up front in refining the acceptance criteria.
ATDD is most efficient when automating acceptance tests up front (though
not required) and these skills are missing on some waterfall teams.
Tight collaboration between all facets of the engineering organization are
required in ATDD, which is unusual for many waterfall organizations.
www.qasymphony.com 1-844-798-4386
14
WH AT S NE X T F OR AGILE T E S T ING ?
The role of the tester is changing. Testers are not just
Testers must become highly collaborative, integrated members of their team and
act as champions of quality within their organization. They cannot expect their job
to solely revolve around test case creation and execution, and should not expect
any typical day in their new role.
02
Functional testers should become subject matter experts in the various testing
methods beyond manual scripted execution (automated and exploratory) and
fully understand all facets of a testing strategy. Agile teams may go through
different cycles of needing one, two, or all three types of testing and being at
least familiar with all three makes it much easier to contribute value throughout
the applications lifetime.
03
One of the key tenets of Agile is making sure the customer gets the most value
out of the application being built, and testers play as much of a part in that story as
any other Agile team member. Leveraging exploratory testing is a great way to enter
the head of a customer/end user and start to quickly understand their key desires
and concerns with the application.
COMMUNICATE
DIVERSIFY
BUSINESS VALUE
www.qasymphony.com 1-844-798-4386
15
Make sure that your team has the right mix of skills to
technical ones.
they work.
Dont let the sunk cost fallacy trick you into believing
work for you and get rid of the ones that dont. Dont
www.qasymphony.com 1-844-798-4386
16