You are on page 1of 12

www.clariontech.

com

Clarion
Technologies

Introduction to
Agile Testing
Index

Topics

Introduction
Pages

1
Prologue
Firstly, we’d like to thank you for taking the time to download
Chapter 1: What is Agile Testing 2
this eBook. This eBook was created with an aim to give
prospective Agile adopters an overview of Agile Testing –
as an exploration tour and a getting started guide.
Chapter 2: Principles of Agile Testing 3
The book includes many theories derived from the author’s
Chapter 3: Why migrate to Agile Testing? 4-5
experience as a Quality Assurance professional, Agile expert
and consultant. We hope this book will help you get a
better understanding of the Agile Testing and that you feel
Chapter 4: Business benefits of using Agile Testing 6-7 encouraged to try out things on your own.

Chapter 5: Getting started 8 Everybody who wants a deeper understanding


about Agile Testing and whether it is suitable for
their own business, will find this book useful.
Introduction

I
n the early 1990s, as PC computing began Complicated hardware and software system
to flourish in the enterprise, software devel- took decades to be designed, developed and
opment faced a major crisis - the application deployed.
development crisis or the application delivery
lag. Industry experts estimated that the time Obviously, thought leaders were frustrated.
between a validated business need, finding
its solution and finally its actual application in In 1990s, an aerospace engineer called Jon
production was 3 years. Kern, became increasingly frustrated with the
long lead times and with the decisions that
The only problem with this was - the business were made early in a project and couldn’t be
&
Agile
moved at a much faster pace than that, even changed later. By then there were several others
25 years ago. Within the span of 3 years, who were frustrated and felt there had to be a
requirements, systems and even the entire better way to build a great software. Jon Kern
business was likely to transform. This meant was one of 17 software thought leaders who
half-baked projects, projects that got cancelled started meeting informally and discovering ways
halfway through, and those that managed to to develop software more simply.

was born
be completed did not meet business needs of
that time at all even though the project’s initial
objectives were met.

In certain industries such as Aerospace or
Defence, the impact of this lag can be far
greater. To give you a drastic but not unusu-
al example, the Space Shuttle program, which
was operationally launched in 1982, used
information and processing technologies from
the 1960s.


1
Chapter 1: What is Agile Testing?
Agile Testing is a software testing practice Yet, for a variety of reasons (time, money,
that follows the principles of Agile software skills, etc.), the testing phase of the soft-
development. ware development cycle sometimes gets
little consideration from developers and
In the Agile methodology, testing needs IT managers.
to happen in real-time, thus allowing the
testing team to collaborate proactively with Nevertheless, testing is the only way to
the developers by helping them identify determine whether an application will func-
issues and develop specifications that guide tion properly in real time and is of high quality.
the development team towards writing an
error-free code. Without having an effective testing strategy in
place, companies often take of significant risks
Several teams using the waterfall methodology such as:
or other traditional testing models find that
as the product grows, the amount of testing
grows exponentially and Quality Assurance Low quality software product
may falter sooner or later. This is because, Customer dissatisfaction
conducting manual testing for 2 or 3 iterations Cost overruns
could be easy, but as the number of iteration Unpredictable delivery
grows it becomes almost impossible to conduct Poor resource estimations
error-free testing for each and every iteration. Competitive threat
Therefore, Automation Testing forms one of
Brand injury
the core practice of Agile Testing.
Revenue loss from the product
With Agile, testing becomes an integral part of
the core software development and actively
contributes throughout the software coding
process. This process also encompasses testing
from the customer’s perspective as early and as
often as possible.
2
Chapter 2: Principles of Agile Testing
Now that the concept of Agile Testing is clear, Be open-minded Automate Testing
let’s move on to the principles that it follows. Testers are required to communicate across Every group tests its products before releas-
the team which makes it necessary for them ing, yet delivered software almost always has
Continuous feedback to interact with different personality types. An defects. Testers struggle to catch them before
A successful tester is an information provider, open-minded tester, who always asks tough the product is released but they may reappear
who can perfectly articulate the requirements, questions is often most likely to succeed in or creep in at a later stage despite implement-
tests, results and feedback. Providing continuous rolling out high quality software products. ing the best manual testing practices. Test
feedback and seamless coordination helps the Automation software is the best way to increase
developer write error-free code. Keep it simple the effectiveness, efficiency and coverage of
After all the development and testing is over, it your software testing.
A tester is an information provider – one who all boils down to one thing – keeping it simple.
articulates requirements, tests, results and Therefore, Agile teams should deliver the simplest
feedback. Keeping the team informed will always solutions possible to the client.
be a key role for any successful tester.
Practice continuous improvement
Deliver value to the customer The main motive of testing is to find new and
A successful project delivery involves making better ways to solve problems. The whole team
sure that the customer is happy. If the customer should adopt this mindset to be successful.
is dissatisfied, the project is a loss. An Agile
tester should therefore remember to focus on Respond to change
the bigger picture keeping the goal in mind and In Agile projects, change is inevitable. Testers
not just on ticking off the to-do list. should be able to respond to these changes
in a timely manner. In order to ensure this,
Enable face to face communication testers must equip the team with as much
Although technological progress has enabled information as possible so as to enable them
several geographically dispersed teams to work to make an informed decision about whether
together, face to face communication remains to release a particular feature or not.
the most effective kind. A good Agile tester
should ideally fix up face to face meetings or
find operative alternatives to facilitate the same.
3
Chapter 3: Why should you migrate to Agile Testing?
Agile has become the new norm and for all the Agile testing has positively impacted this
right reasons, in fact. Small and medium size aspect. The project sponsors start getting
businesses for whom quality and speed can the indications very early in the project. This Manual Tests through UI
make or break the business have also started ensures that the team has an opportunity to
adopting Agile to stay on top of their game. One do course correction as required. Due to the
of the major reasons being - adoption of Agile early feedback cycles, the cost of fixing the Automation Suites
methodology allows businesses to implement defects is much lesser as compared to fixing
product improvements and modifications in a the same defects in the classical approach.
Unit
faster way which helps them keep up with the Tests
dynamic market demands. While there is no one-size-fits-all approach
to testing, on a high level, traditional testing
However, Agile also means that there are practices are aimed towards optimizing the Traditional
shorter sprint cycles and faster feature operations of large, centralized testing groups.
delivery. With these characteristics, it becomes On the other hand, for agile development
extremely important that the testing can keep environments with rapid deliveries, agile
up with the speed of development to ensure testing is the way to go.
that the software is released with no bugs or Automated
broken code. Test automation, therefore, plays UI Tests
a crucial role in agile testing.
Automated
Acceptance Test
In the case of traditional testing approach,
the real indication of success or failure of the Surveys show that
software testing life cycle is determined only 80% of all software Unit Tests
in the testing phase. Naturally, the project
sponsors have incurred most of the costs as
organizations are
testing is the second-last phase of SDLC. already practicing Agile

Agile development

4
6 Common reasons for which companies adopt Agile
over traditional methodologies
Faster time to market
Traditional methodologies involve 18-month delivery
cycles that more than often deliver the wrong products.
Several people who adopt Agile are particularly fed up
of such issues. Besides, the idea of two-week delivery
cycles and quarterly release cadences is appealing for
Early ROI clients. Most markets and our competition are moving
Faster delivery, naturally vouches for early returns on too fast forcing companies to deliver products to the
investments. This also increases the value of work in market faster.
turn. The challenge lies in adopting new approaches that
allow teams to think of work in small, individual pieces.
This requires a mind shift, but it’s worth the hassle when Build the right products
you consider how much it can maximize project value. Delivering in smaller increments facilitates the opportunity
to tweak the product as per the requirement of the
customers. Adoption of Agile ensures a win-win success for
both the customer and the team by giving them a chance
to converge on the best possible outcome.
Early risk reduction
Agile doesn’t treat risk as a separate area
to be managed, Agile itself is risk management.
By delivering early and getting feedback,
the risk of building the wrong product is reduced. Better quality
Low quality products are an ongoing disaster that plagues
the industry. However, when businesses fix time, cost,
and scope, the only thing developers have left to manage
is quality. Agile fixes time, cost, and quality and equips
Agile responds quickly to customer needs the team with tools to vary the business and technical
If a customer wishes to change his priority midway scope of the solution. This helps you trust what was
in traditional software methodology, it affects the actually delivered.
product to a great extent. This does not happen in Agile.
Agile makes use of iterations such that the customer can
access the progress of the project at any given time. Agile
aids the project development team in delivering products
based on the feedback they receive from the customers.
5
Chapter 4: Business Benefits of Agile Testing
There are a lot of advantages of using Agile Testing. Firstly, Agile Testing saves time and money which is the
main benefit for organizations today. Clients can more readily understand the approximate cost of each feature, which
improves decision making and determines priorities. With Agile Testing automated tests are fully leveraged to implement
Regression; application delivery is accelerated and changing priorities are effectively managed.

According to Techbeacon, several organizations have moved to Agile as –

Organizations believe that


Agile enhances collaboration
between teams that don’t
usually work together.
54%
Organizations say that Agile
increases the level of software
quality in organizations.

52%
Organizations believe
that adopting Agile results in

49%
increased customer satisfaction.

6
Besides the above-mentioned benefits, a On the other hand, in traditional environ-
business can benefit from adopting agile as: ments, a major bug can set a project back by
months as it may affect the entire code base
The whole team is responsible for quality which can prove to be very expensive. In case
In traditional development processes, testing is of Agile testing, fixing these bugs at the earli-
done after the development cycle is complete. est can save a lot of time, money & resources.
In contrast, the whole team is responsible for
the quality of the product as Agile teams mix
Flexibility to incorporate new requirements
disciplines. For example, you may find one
Traditional methods such as waterfall function
tester working with a team of developers.
best when business requirements are all
The developers often write unit tests as they
planned and outlined at the start of the
add more features and then use these tests
project itself. However, almost always business
to test the app continuously as they keep
requirements are far from immutable. Agile
adding features. The tester will write test
methodologies are designed to get work done
cases and then build and test the new code as
while provisioning for change requests and
it is being completed catching bugs and giving
enhancements.
developers feedback almost immediately.

Testing cannot be short shrifted


Facilitates better communication
As testing is done continuously throughout the
Since Agile allows the tester and developer
software development life cycle, it can’t be cut-
to work together, there is an unrestricted
off. At least, it can’t be cut by much. Often in
flow of communication. For example, if a bug
waterfall projects, testing is omitted entirely
report needs more detail, then the developer
or cut short in order to meet deadlines. This
can nudge the tester on the shoulder and tell
results in bad software being sent to users.
her exactly what needs more detail and get a
response right there. Additionally, daily scrum
sessions help catch issues in advance and help
keep important issues in the spotlight.

Defects are easier and cheaper to fix


Almost immediate feedback is possible when
testers and developers are working on the
same team. This lets the developer fix the bug
while the code is still fresh in his mind.
7
Chapter 5: Getting Started
Remember that it’s ok to be nimble about your Respect the tests
agile adoption Consider code and tests as a unit and break-
It is most certainly not necessary to take free from the mindset that ‘code is the concern
on all practices at once. You can start with of the developer’ and ‘testing is the concern of
fundamentals such as short iterations and a tester’. Tests and code are of equal concern to
simple design to get your teams into a steady the entire team.
rhythm. Once the rhythm is set, you can
incorporate the other supporting practices on Review what you’ve accomplished
a priority-basis gradually. Use continuous integration and automation
testing process to your advantage by having
Tackle things one thing at a time them provide feedback about the code quality
If most of the team is new to Agile, ensure that daily or on every check-in. Feedback ensures
even the people who are aware of Agile possess review of what has been accomplished till date
people skills to understand the challenges that and makes sure that it has been done perfectly.
others can face. If the entire team is new to In short, stay as releasable as possible.
Agile, apart from training the team, create an
atmosphere of learning and encourage asking
questions.

Respect the testers


Ensure that testers are treated equally by the
team and remove any barriers of communication
that arises and hinders the free flow of
communication between developers, testers
and the customer.

8
About the Author:

Ajit is a PMP & CSQA certified testing and Quality Assurance professional with 16 years of experience in IT
quality industry across verticals. Over his comprehensive career he has led significant efforts to build strong
software testing and quality assurance solutions, services and teams into manual, automation, performance,
mobile, database, security, compatibility, GUI, usability, localization, end-to-end functional and regression
testing.

He has a proven, measurable track record of building self-directed team onsite and off-shore, developing
detailed strategic plans, delivering tangible results through continuous process improvement, technology
consulting and relationship management techniques.

He excels in resource selection / development, people leadership and management.

As a Practice Lead at Clarion Technologies, Ajit has proved to be instrumental in perfecting the crucial
18 process areas that need to be fulfilled for a company to obtain the CMMI Level 3 certification.

References

blog.belatrixsf.com/10-must-have-principles-for-agile-testers/
www.cigniti.com/blog/myths-around-agile-testing/
www.cognizant.com/InsightsWhitepapers/The-Case-for-Agile-Testing-codex891.pdf
www.optimusinfo.com/advantages-agile-testing/
validata-software.com/blog/?p=331
Clarion
Technologies

About the Company


Agile is not just a methodology, it’s a mindset and at Clarion, we believe it totally. We
have a team of Agile certified experts and SCRUM masters who help the business
and product owners not only adopt Agile for their projects but also succeed with that.
Examples like project deliveries ahead of time with 20-30% more features and 100%
customer satisfaction prove our expertise and passion for Agile.

www.clariontech.com

You might also like