testing in agile - antipatterns and remedies
TRANSCRIPT
Confidential | Copyright © Agile Testing Alliance Global Gathering
TESTING IN AGILE:
ANTI-PATTERNS AND
REMEDIES
@kksure
KK Sure
Confidential | Copyright © Agile Testing Alliance Global Gathering
what is ‘agile’ ?
Confidential | Copyright © Agile Testing Alliance Global Gathering
what is an ‘anti-pattern’ ?
“ is a common response to a recurring problem
that is usually ineffective and risks being highly
counterproductive.”
-- Wikipedia
Confidential | Copyright © Agile Testing Alliance Global Gathering
agile manifesto
• Individuals and interactions over processes
and tools
• Working software over comprehensive
documentation
• Customer collaboration over contract
negotiation
• Responding to change over following a plan
Confidential | Copyright © Agile Testing Alliance Global Gathering
guiding principles
Customer
Satisfaction
Welcome
Changing
Requirements
Delivering
software
frequently
Business
Involvement
TrustCollaboration
Working
software is the
measure of
progress
Sustainable
development
Technical
excellenceSimplicity
Self organized
teamsCourse
correction
Confidential | Copyright © Agile Testing Alliance Global Gathering
some stories…
Confidential | Copyright © Agile Testing Alliance Global Gathering
story 1
Confidential | Copyright © Agile Testing Alliance Global Gathering
“it works on my machine”
Confidential | Copyright © Agile Testing Alliance Global Gathering
reasons
different roles
work in silos
effects
further
increases the
divide between
the various
roles
remedies
QA and Dev.
collaboration (e.g.
tech huddles)
we adopt only the
easy parts of
agile (sprints and
planning-
meetings etc.)
delays in making
changes/fixes
share the
responsibility of a
quality software
delivery
lack of shared
responsibility
Confidential | Copyright © Agile Testing Alliance Global Gathering
principles we violate
Delivering
software
frequently
CollaborationSelf organized
teams
Confidential | Copyright © Agile Testing Alliance Global Gathering
story 2
Confidential | Copyright © Agile Testing Alliance Global Gathering
“I found 80 defects this week”
Confidential | Copyright © Agile Testing Alliance Global Gathering
reasons
number driven
reports
effects
possibility on
missing out
important
defects
remedies
working software
as the measure
of the success of
the team
measuring the
success of QAs
by the number of
defects they find
more defects and
hence defect
triages
use empirical
ways of
measurement
more low priority
and duplicate
defects
Confidential | Copyright © Agile Testing Alliance Global Gathering
principles we violate
Working
software is the
measure of
progress
Confidential | Copyright © Agile Testing Alliance Global Gathering
story 3
Confidential | Copyright © Agile Testing Alliance Global Gathering
“lets choose
from this list of
defects”
Confidential | Copyright © Agile Testing Alliance Global Gathering
reasons
not enough
involvement from
business
effects
last minute
panic
remedies
work on definition
of ‘Done’Done isn’t Done
production
defects have regular
business
involvement
poor quality
delivered have automated
tests as safety
net
Confidential | Copyright © Agile Testing Alliance Global Gathering
principles we violate
Business
InvolvementCourse
correction
Customer
Satisfaction
Confidential | Copyright © Agile Testing Alliance Global Gathering
story 4
Confidential | Copyright © Agile Testing Alliance Global Gathering
“buckle up for the
2 months release
testing cycle”
Confidential | Copyright © Agile Testing Alliance Global Gathering
reasons
a history of
regression
defects
throughout the
development
cycle
effects
dependency on
regression test
team
remedies
invest in an
effective and
efficient
automated
regression suitecontinuous
delivery is not
possible
release testing
should only be risk
management
no regression
suite in place or
not enough
coverage
Confidential | Copyright © Agile Testing Alliance Global Gathering
principles we violate
Delivering
software
frequently
Technical
Excellence
Confidential | Copyright © Agile Testing Alliance Global Gathering
story 5
Confidential | Copyright © Agile Testing Alliance Global Gathering
“why didn’t you
find that bug?”
Confidential | Copyright © Agile Testing Alliance Global Gathering
reasons
we believe
‘Quality is a QA
responsibility’
effects
displays lack of
trust
remedies
Quality should be
a shared
responsibility
isolated QA or
testing teams
Confidential | Copyright © Agile Testing Alliance Global Gathering
principles we violate
Customer
Satisfaction
Trust
Confidential | Copyright © Agile Testing Alliance Global Gathering
story 6
Confidential | Copyright © Agile Testing Alliance Global Gathering
Manual Testers Automation Testers
Confidential | Copyright © Agile Testing Alliance Global Gathering
reasons
considering test
automation as a
separate project
effects
duplication of
efforts by these
two teams
remedies
consider test
automation an
integral part of
your software
development
team
considering test
automation as
specialization
changes cannot
be made with
confidences
test suite
maintenance
becomes difficult
make test
automation a
shared
responsibility
Confidential | Copyright © Agile Testing Alliance Global Gathering
principles we violate
CollaborationSelf organizing
teams
Confidential | Copyright © Agile Testing Alliance Global Gathering
story 7
Confidential | Copyright © Agile Testing Alliance Global Gathering
“let’s automate
everything”
Confidential | Copyright © Agile Testing Alliance Global Gathering
reasons
not enough
analysis on ROI
effects
automated test
suites brings
along with the
maintenance
costs
remedies
evaluate the ROI
before investing
into getting a full
coverage
separate test
automation teams
consider test
automation
pyramid before
adding up tests
Confidential | Copyright © Agile Testing Alliance Global Gathering
principles we violate
TrustCollaboration Simplicity
Confidential | Copyright © Agile Testing Alliance Global Gathering
story 8
Confidential | Copyright © Agile Testing Alliance Global Gathering
“the build is red, why
don’t you comment out
that test”
Confidential | Copyright © Agile Testing Alliance Global Gathering
reasons
test automation
knowledge is not
shared
effects
low confidence
in test suite
remedies
follow TDD,
ATDD, BDD
techniques
lack of discipline
test coverage
drops over a
period of time
collaborate on the
test automation
effortrelease pressure
(deadlines)
Confidential | Copyright © Agile Testing Alliance Global Gathering
principles we violate
CollaborationTechnical
excellence
Confidential | Copyright © Agile Testing Alliance Global Gathering
Key Takeaways• It’s easy to get the simpler parts of agile (viz. the
rituals) but our primary focus should be on the core
principles
• Business involvement is very important in an agile
context
• Working software is the measure of success of an
agile team and not numbers
• Software quality is a shared responsibility
• Test automation is not a specialization and is an
integral part of the software development teams
• Being agile needs more discipline than non-agile
projects
Confidential | Copyright © Agile Testing Alliance Global Gathering
thank you
@kksure