A student in one of Janet’s classes asked her for a definition of agile testing. He wanted a nice clean definition, which he didn’t get from our 3-day class. Janet went through both of the books we authored, Agile Testing and More Agile Testing, and found that we do not have a succinct definition in either one. The closest she could find in was in this blog post. http://janetgregory.ca/agile-testing-is-not-a-methodology/.
We decided to go on a quest and posed this question to both the Linked-in agile testing group and the long-standing agile-testing yahoo group — “What do you think the definition of agile testing is?”
We found that many people tried to define agile, or used the word agile in the definition. Some people disagreed with the term altogether, but the word “agile” itself is an adjective, so we think agile testing is accurate. We also didn’t want to focus on the tester role, but the testing activity itself.
Based on all the conversations and our own thoughts, here is the definition we came up with:
We hope that this resonates with you, but if not, please leave comments here, or email us. We view this as an opening, a draft if you will. We are open to changing and adapting this definition.
We appreciate all the people who contributed already. Some ideas were helpful ideas, some not so helpful, but all contributed to our thinking. Here are some of the comments and definitions contributed by group members. You can also go to either group to read the entire conversations.
- Collaborative and continuous activity geared to enable error free fast release of products that matter
- Why not testing in an agile context, that is testing in an environment with rapid iterations and continuous Improvement, responding to change and pressure
- One person pointed us to Elisabeth Hendrickson’s Agile Testing Overview, which we encourage everyone to read, but again – it is 21 pages – not a concise definition.
- Effective testing with short turnaround time providing quick feedback to support iterative based deliverables
- What about, Agile Testing is a way of working from day 1 and continuously till it’s delivered into production
- Agile testing focuses directly on business value and the quality customers require. In agile testing, a tester is a member of an agile development team, which, as a team, is responsible for quality.
- Test from a customer perspective and add business value. For me this is essential since this is the goal of the product. In terms of Gojko Adzic’s Software Quality Pyramid – Usable, Useful and Successful Software are often not topics considered to test. To me an ‘agile tester’ should always be aware of all these levels and at least inform the team on how to test these.
- Strengthening the team responsibility for quality.
Someone mentioned the testing manifesto from Karen Greaves and Samantha Laing (Growing Agile)
- Agile Testing is an integral part of Agile Software Development rather than a separate activity.
- Agile Testing is anticipating bug instead of waiting for them to happen!
- Collaboration/agile brings to tester, the fact they are involved all along the project and not just at the end (or a bit at the beginning then the end).
- The more you question the user story and you help the team to surface acceptance criteria, the better it is in the project. The later you find a bug, the more expensive it is for the project.
- Agile testing is testing that can keep pace with short-cycle development.
- Testing practices that support the values and practices of the agile manifesto.
Thanks to these folks who took the question as we intended and tried to help us with our quest. We apologize if we missed anyone. Augusto Evangelisti, Tim Western, Gaurangi (Surve) Rawat, Richard Cowling, Vivek Sharma, Wim Heemskerk, Eddy Bruin, Steven Gordon, Lionel Champalaune, George Dinwiddie, Adrian Howard