Recently in a Skype group chat some questions came up when we talked about a Meetup which will have the title: “Agile testing”. If Agile is only a development context where a tester sits, does agile testing even exist? Is there still place for manual testing or only automated tests can remain? Do we need tester role?
Here is how I answered in a somewhat edited version:
“It’s possible that Agile testing doesn’t exist. Automation popped up quickly in the questions. Only automation cannot really be a solution, because if you watch yourself carefully when you are writing your automation you will see that you are “manually” exploring the application beforehand and during it! You try things out, think about how could you call this or that service, how will your automation tell if this or that is correct or not. Testing is gaining information. You learn about the product. Only then codify some of your knowledge into algorithms so it can run quickly, many times and uninterrupted, looking for change. If something changed, it goes red and you come along to see what has happened. Red doesn’t mean a bug, green doesn’t mean there is no bug, I’m sure everyone experiences this in their daily work. What do you think?
I guess, it’s possible that everyone tests in a team, so there is no dedicated tester position (but testing is still there). Many agile practices (pairing, TDD) are emphasizing to prevent bugs, before they are introduced. The possibility of quick rollbacks and releasing often and in a staged manner are examples of quick feedback and high degree of communication and coordination, practices that Agile embraces. With these you are putting testing somewhere else. Dogfooding – when a company tries their product out by actually using it – is an example of this. There is testing, it just happens in some other form.”
I owe the title to Alex from Altom, such an eye-opener. It is just a buzzword! Vendors and marketers talk like this! “100% of our regression testing is automated!” Ha! Execution of specific and scripted actions is what people usually mean by “test automation”. That is part of testing. But testing is more. Talking to others, reading or understanding explicit and unspoken requirements. Assessing risk, coming up with interesting test ideas. Mediate between colleagues. “Test automation” evaluates results the way you told it to! You evaluate with more complexity, you can add those evaluations to your next ideas. You can re-asses, re-think. You can change tool anytime, decide to focus on something for a while then go for a coffee with someone from support. Automation is very important and useful, because it can run reliably, repeatedly and tirelessly. But it’s not curious and doesn’t suspect anything. It’s a buzzword! So good to say it.
Here is a video with Alex, talking about his story changing his mindset and sharing all that in his country, Romania: https://www.youtube.com/watch?v=YRfRQaPHxqw
And here is the company they funded: http://www.altom.ro