More Related Content Similar to Testing in Agile - Antipatterns and Remedies (20) Testing in Agile - Antipatterns and Remedies1. TESTING IN AGILE:
ANTI-PATTERNS AND
REMEDIES
@kksure
KK Sure
krishnakumarsure@gmail.com
Confidential | Copyright © Agile Testing Alliance Global Gathering
2. what is ‘agile’ ?
Confidential | Copyright © Agile Testing Alliance Global Gathering
3. what is an ‘anti-pattern’ ?
“ is a common response to a recurring problem
that is usually ineffective and risks being highly
Confidential | Copyright © Agile Testing Alliance Global Gathering
counterproductive.”
-- Wikipedia
4. 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
5. guiding principles
Technical
excellence
Customer
Satisfaction
Welcome
Changing
Requirements
Collaboration Trust
Delivering
software
frequently
Confidential | Copyright © Agile Testing Alliance Global Gathering
Business
Involvement
Working
software is the
measure of
progress
Sustainable
development
Simplicity
Self organized
teams
Course
correction
8. “it works on
my machine”
Confidential | Copyright © Agile Testing Alliance Global Gathering
9. reasons
different roles
work in silos
effects
further
increases the
divide between
the various
roles
Confidential | Copyright © Agile Testing Alliance Global Gathering
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
10. principles we violate
Confidential | Copyright © Agile Testing Alliance Global Gathering
Delivering
software
frequently
Collaboration
Self organized
teams
12. “I found 80 defects
this week”
Confidential | Copyright © Agile Testing Alliance Global Gathering
13. reasons
number driven
reports
effects
possibility on
missing out
important
defects
Confidential | Copyright © Agile Testing Alliance Global Gathering
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
14. principles we violate
Working
software is the
measure of
progress
Confidential | Copyright © Agile Testing Alliance Global Gathering
16. “lets choose
from this list of
defects”
Confidential | Copyright © Agile Testing Alliance Global Gathering
17. reasons
not enough
involvement from
business
effects
last minute
panic
Confidential | Copyright © Agile Testing Alliance Global Gathering
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
18. principles we violate
Confidential | Copyright © Agile Testing Alliance Global Gathering
Business
Involvement
Course
correction
Customer
Satisfaction
20. “buckle up for the
2 months release
testing cycle”
Confidential | Copyright © Agile Testing Alliance Global Gathering
21. reasons
a history of
regression
defects
throughout the
development
cycle
effects
dependency on
regression test
team
Confidential | Copyright © Agile Testing Alliance Global Gathering
remedies
invest in an
effective and
efficient
automated
regression suite
continuous
delivery is not
possible
release testing
should only be risk
management
no regression
suite in place or
not enough
coverage
22. principles we violate
Delivering
software
frequently
Technical
Excellence
Confidential | Copyright © Agile Testing Alliance Global Gathering
24. “why didn’t you
find that bug?”
Confidential | Copyright © Agile Testing Alliance Global Gathering
25. reasons
we believe
‘Quality is a QA
responsibility’
effects
displays lack of
trust
Confidential | Copyright © Agile Testing Alliance Global Gathering
remedies
Quality should be
a shared
responsibility
isolated QA or
testing teams
26. principles we violate
Customer
Satisfaction
Trust
Confidential | Copyright © Agile Testing Alliance Global Gathering
29. reasons
considering test
automation as a
separate project
effects
duplication of
efforts by these
two teams
Confidential | Copyright © Agile Testing Alliance Global Gathering
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
30. principles we violate
Collaboration
Self organizing
teams
Confidential | Copyright © Agile Testing Alliance Global Gathering
33. reasons
not enough
analysis on ROI
effects
automated test
suites brings
along with the
maintenance
costs
Confidential | Copyright © Agile Testing Alliance Global Gathering
remedies
evaluate the ROI
before investing
into getting a full
coverage
separate test
automation teams
consider test
automation
pyramid before
adding up tests
34. principles we violate
Collaboration Simplicity Trust
Confidential | Copyright © Agile Testing Alliance Global Gathering
36. “the build is red, why
don’t you comment out
that test”
Confidential | Copyright © Agile Testing Alliance Global Gathering
37. reasons
test automation
knowledge is not
shared
effects
low confidence
in test suite
Confidential | Copyright © Agile Testing Alliance Global Gathering
remedies
follow TDD,
ATDD, BDD
techniques
lack of discipline
test coverage
drops over a
period of time
collaborate on the
test automation
effort
release pressure
(deadlines)
38. principles we violate
Technical Collaboration
excellence
Confidential | Copyright © Agile Testing Alliance Global Gathering
39. 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
40. thank you
@kksure
krishnakumarsure@gmail.com
Confidential | Copyright © Agile Testing Alliance Global Gathering