Does Software Testing Improve Quality, Actually?

The Twitter debate: Do testers improve quality, help improve quality, or only pass info to others who do so?

using twitter

Lately, I’ve been closely following a super interesting Twitter discussion about whether or not testers improve software quality. Yes, we find the bugs, but are we just the messengers? Or are we active participants in the construction of great digital products?

Basically, Paciaga complains about what is often said that testing does not really improve quality, but the objective is to give information that can be used to improve quality. It’s like washing your hands, taking the responsibility and passing it onto another (to developers, a PM, the CEO, etc.). 

In this sense, and according to much of what several people have said in the chain of tweets, I loved the quote that Enrique Almeida tweeted that Monica Wodzislawsky from CES shared during her talk at the JIS.UY 2019 conference in Uruguay:


The quote is in English originally by Cem Kaner: 


More so now thanks to the world of agile development, where we are all responsible for quality, testers are also part of the decisions made in the team such as what to focus on, whether or not to release a functionality, how to solve things, and much more.

Some time ago, I’d been philosophizing about this with Gabriel Montero (of Peregrinus) when we were preparing our talk for Argentesting 2018 by reviewing Cem Kaner’s famous definition of testing, “Testing is an empirical technical investigation done to provide stakeholders information about the quality of a product or a service. ”

That definition says that once the service or product is done, you have to test it and provide information. At the time, we discussed how we felt that testing should have another focus, not only to detect and report errors, but to prevent them.

Hence it makes sense that testers participate from day zero, since in the requirement definition meetings (user stories, use cases, etc.) the tester will ask questions thinking about how he or she will conduct testing later, which gets the developer already thinking about how to solve the possible problems that might arise and code for testability, which will surely help to avoid many bugs. This way of planning is more cost effective than testing at the very end waiting for someone to finally detect, report, correct and verify bugs.

In addition there is another problem with Kaner’s definition: merely providing information leaves us testers out of the decisions, taking away our responsibility. We must have a more active role and contribute to quality and take responsibility, together with the rest of the team, for product quality. 

I believe testing is not about delivering information to a developer to then do what he or she wants with it or for a Project Manager to decide whether to deploy a new feature into production or not. 

In today’s world, testers have the goal of responsibility for quality and our participation in these important decisions should be reflected in the definition of testing.

What do you think? Do testers improve software quality? 

Are you on Twitter? Let’s connect – @fltoledo and @AbstractaUS

Recommended for You

Why Software Testing is Necessary for Delivering Excellent Customer Experiences
Testing as the Driver of a DevOps Culture

150 / 435