Recently, there’s been a lot of discussion on moving from traditional software development teams with a clear demarcation between development and testing roles to a full stack team where developers can develop and test each other’s code. It is not new; we keep seeing this question “do we need testers?” arise every few years whenever there is something new in terms of process or tool in the industry gets traction. Often, testers might be the first ones to be cut off whenever there is a budget cut. Increasing adoption of Agile and DevOps rekindled this question once again and the world is divided on this one yet again. Though I identify myself as a hardcore tester, I have experience in development as well and want to lay down the facts for you and try to be unbiased in my view on this question.
The answer is a resounding Yes! Explicit testing roles were very much relevant in the past, they are even now and will be in the future as well. But just like any other role, a tester’s role also evolved.
There is no doubt that the developers are capable of unit testing their code or even test their peer’s code manually, write automated tests, and integrate it along with their code into the CI-CD pipeline. But anyone who has done both development and testing would tell you, both need different mindsets. It is next to impossible not to have a cognitive bias when testing your own code and takes a lot of effort to shift gears between roles.
Irrespective of the advancements in automation tools and practices, Exploratory Testing still has a special irreplaceable place in software development. While speed to market is important, simple user experience disasters can adversely impact large corporations’ reputation much quicker than before and cause financial damage. It is not just about clicking buttons and filling in forms but needs a thorough understanding of the business, instincts developed overtime as a tester to catch bugs and scientific thinking in real-time.
As stated earlier, the tester’s role has evolved over time and testers must continuously adapt to stay relevant. The recent change being a “Quality Coach” embedded in the project or at the program level pushing quality across the board. Focus has shifted from just testing to all aspects of quality, coaching, and training everyone in the team on the importance of quality, acting as a developer’s friend to help deliver quality deliverables, finding problem areas, and solving them.
In the end, Testers are part of the risk mitigation plan. It is always going to be a business decision based on the project needs, product, and the impact on the business of not having thorough independent testing. Even if the project accepts the risks, testing specialists will continue to play a significant role in areas like user experience, performance, and accessibility testing.