Dan Ashby asked in Twitter today why there is a misconception that skilled testers are not needed in development teams. I know where he is coming from as I have seen his tweets many times in the past in which he had shared that companies are not having testers in their teams, or firing the existing testers who are doing Software Testing.
I could think of many reasons for this happening, and all of them happened simultaneously or adjunct to each other that one lead to the other. Here are the reasons that I can think of:
- Misunderstanding Agile: The Agile Manifesto was developed almost by developers (or that’s what I heard), and there were no testers representing their views. Twenty years down the line, we are still having discussions about the importance of Testing in the Agile world, and it’s sad. Any Engineering, not just Software Engineering, needs Testing, because you need to verify a hypothesis that things are working in the way you expect, and you need skilled testers to do that. The term ‘Agile Development Team‘ is probably giving kind of a supremacy feeling to the developers that they start thinking that they can do anything, including Testing (or probably with the help of the automation). Agile didn’t say ‘Don’t have testers’. It said have a multi-talented team, a team in which team members can take the load of other experts if necessary. It didn’t say ‘Fire Testers’.
- Automation: People clearly don’t know the difference between ‘Testing’ and ‘Checking’. While checks can be done by machines or humans, Testing is a thought process that takes current state of software in mind, and thinks of possibilities that need to be checked. That human process cannot be automated, however hard one tries through automation, Machine Learning, or even forward-looking Artificial Intelligence which tries to emulate human thinking. Companies adopt to automation easily because it’s convenient to integrate to the CI/CD pipeline, but at the cost of sacrificing human-driven Test thought process, which has been cornered to something called Exploratory Testing.
- Testing Outsourcing: When the quality of Testing degraded to machine-like execution of test cases (including outsourcing that execution to third-party ‘testing providers’), companies started looking at why testers are needed at all. The value differentiation is to prove that Testing is much more!
We need to carefully look at these reasons, and try to resolve them, so that Testing has its role in the teams once more. It’s important to have Testing and Testers in the Product Team for Software Quality. The ideal state would be ‘Do things right the first time, so that there’s no need for Testing‘, but that’s not going to happen in the highly complex, heavily dependency-driven software world. So, Testers should have their place in Software Development.
Subscribe to my YouTube channel for discussions about Software Testing and Software Quality:


Pingback: Five Blogs – 5 March 2021 – 5blogs