Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Agile Testing - What, why and how.
1.
2. Being An Agile Tester
Taking on testing in an Agile Environment Headon
3. • Asim Raza Kazmi
• Software Tester
• Working as a tester, with the testers, for the testers since 2005
• Currently Engaged with Elastica Inc.
Linkedin: http://www.linkedin.com/in/arkazmi
Twitter: https://twitter.com/asimkazmi
Slide Share: www.slideshare.net/arkazmi
Blog: http://savantsark.blogspot.com/
Who Am I?
4. • What is Agile?
• Difference between Agile and conventional Models
• Unlearn traditional Concepts
• Agile Testing Quadrants
• How to adopt Methodical Agile Approach
• Take Away
• Lets Connect
What’s inside
5. What is Agile? – Agile Manifesto
• We are uncovering better ways of developing software by doing it and helping others
do it. Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
• That is, while there is value in the items on the right, we value the items on the left
more.
Create More Value by Quick delivery, responding to feedback
and be ready to CHANGE!
6. Difference B/w Agile and Conventional
Models
• Split Between Development and
verification (a.k.a Testing)
activities.
• Sequential execution of each
activity.
• Testing is a different entity than
other activities.
• Each phase is designed in an
input/output mechanism.
7. Difference B/w Agile and Conventional
Models (Contd.)
• Agile, as its name suggests, simply
proposes to be a faster, more
priority & risk focused, and more
flexible, adaptable, and efficient
way of conducting the complicated
business of software production.
• Tester role is integrated within the
team and is part of all phases of
process
• Testers are required to do more
and add value to the project
delivery everywhere!
8. Key Points to Unlearn
• The testing team needs to be independent and independently
empowered in order to be effective.
• The V-model for verification and validation cannot be applied in an
Agile sprint.
• The value of testing is realized only when defects are logged.
• Automation is optional and is required only when regression testing
is needed.
• Testing must follow planning, specification, execution, and
completion sequentially.
• Providing suggestions to functionalities is Business owners job.
11. Being Methodical in an Agile Way
• Design Test Cases while exploring the Application under test.
• Exceed coverage beyond simple conformance activities.
• Use Heuristics like Steeplechase, Galumphing to identify the real
issues while exploratory testing.
• Design -> Explore -> Automate -> Move to next feature.
12. • Understand the intricacy of a project by working with developers side-by-side.
• Do not limit yourself to User Interfaces only. Go deeper!
• Continuous Integration is the key to Agile Development and Testing. Adopt it!
• Bet Part of Unit Testing Cycle with Developers and guide them what tests to write.
• Implement test retrospectives (PMA)
• As a tester, be encouraged to write user stories that bring value to customer.
• Apply Scenarios to simulate what a real user would do.
• Apply Risk based testing and impact analysis during regression phase.
• Go beyond checking. Try the Crazy scenarios.
• Anything that is repetitive but required: Automate its execution and focus on testing.
• Be Contextual. Be innovative, Be practical!
• Remember,
We are a service organization whose job it is to reduce damaging uncertainty
about the perceived state of the product.
Take Away
13. • Thanks to the following folks for there great work in explaining the different concepts of Agile Testing.
Some parts of this presentation are inspired or reproduced from articles and talks spread over the
internet.
• James Bach
• Lisa Crispin
• Elisabeth Hendrickson
• Scott Barber
• Madhu Venantius Laulin Expedith
• Michael Bolton
• And Many Others!
Disclaimer