Why Do We Need Testers?

I saw this question pop up on Slack and I thought it would be excellent to transfer to The Club as I’ve seen variants of it come up frequently.

How would you sell yourself when someone asks why do we need a tester when they have full stack developers who can dev and test? apart from regular answers like different pair of eyes, testers having different approach to that of a developer, identifying bugs being main priority for a tester etc…

The replies on Slack were:

Depending on the devs’ level of testing skill, I would either sell myself as a quality coach or just become a developer.

When I’m doing development work I’m in a different mindset then testing; it takes mental effort to switch gears

  • Being a Quality Advocate, not simply a tester - pushing for quality across the board, asking questions, ensuring good definitions, testing as a user etc
  • Exploratory testing, not simply acceptance testing or checking boxes
  • Different mindset and role reduces cognitive bias (check it works as I expect, vs. what happens when I do this?, will this break it?)

I’ve seen some really great developers in my time who were very skilled at exploratory testing so I lean towards the quality coach response myself.

What about you? How would you respond?


When I hear “developers can test”, I assume they are comfortable doing manual exploratory testing, creating test automation and integrating that into a CI/CD pipeline.

If the developers can do this, and the business hasn’t suffered, they might not need a dedicated tester. But if the business notices bugs in production, then it might be beneficial to seek help to find better ways to test.

At first I can see bringing in quality coaches to help. These coaches can help the developers be more effective in their manual testing and their test automation. As the business needs grow, other testing specialists might be needed such as improving performance and accessibility.

My main point is that the driving force for this decision should be the needs of the business.

  • I do not have enough information about the context or the product, project, stakeholders so I would like to know about how things are working on a daily basis and at their worst times;
  • I would also ask what are some of their problems of users, of stakeholders, of release timelines & confidence, of current testing costs, of refactoring/patching product code, of law/regulations/standards, of demands/requests, claims/marketing/support, etc…
  • I would also then mention what a tester actually does: find threats to the quality of the product - through technical empirical investigations on behalf of the stakeholders. Some examples might be useful…

Why do we need a tester? is like asking 'Why do we need someone to find problems to the quality of the product? I can’t answer for the person asking…

I’d say "All depends on what you mean by ‘testing’. If all you mean by ‘testing’ is ‘making sure all the buttons do what they say they should’, then fine, you don’t need testers.

But if you want to find risks to the integrity and acceptability of your product before end users - who may vote with their feet and/or wallets - then you need testers.

And when (I say when, because it will happen) some embarrassing bug crops up, and everyone on the Net is laughing at your product, and you ask “Why didn’t we pick this up in testing?”, unless you have testers, you’ll have to understand that you, yourself, is included in the “we” in that question."



We don’t need testers or testing. I tell project managers that testing is optional.

Testing is an information collection and reporting activity. If a project can develop a product or deploy a product without the information that testing provides, they should do so. That is a project management decision.

However, continuing without knowing the behavior of the product, the performance of the product, or the value to the business of the product incurs a great deal of risk. If a project manager decides to accept that risk, then testing is not needed.

I have not had one project manager turn away the services of a testing team when I explore risk with them.



As always: It depends. :slight_smile: Without reasonably sufficient information & context this question is impossible (or at least hard) to answer.

I’d usually respond with “I don’t know, you tell me.” — If they assume (presume?) that testers are not needed, I may suggest to send them on a long (paid!) holiday, say 3 or more months. In most situations that is long enough to see whether testers are needed or not. If they seem to be extra bold I might even suggest to fire the testers and then see what happens.

Sometimes it helps to figure out a) if testers have found bug in the past and b) in that case what bugs they have found.
In the (unlikely) case that the testers didn’t find anything, well maybe they are not needed that much. But even then having testers may have a psychological effect on other developers in the team to be carful in order to not produce bugs.


1 Like

This question should be answered on two levels - 1. team and 2. the industry as a whole.

At a team level, it’s welcome if developers want to test. As long as they are clear it doesn’t involve code. The challenge is to be able to demonstrate to the developer how you can find bugs that he/she wouldn’t. I also think it’s fine to be able to influence developers on how to test. It would have been nice if teams who do this, also explain testing on their blogs or public talks. In most cases, in these teams, testing is some variation of automation.

At the industry level, this is a tired question. Is there a single blog, talk, book which shows a developer testing? If not, why do we keep having this tired discussion? To me, this is often promoted by testers who are advocates of coaching, not developers.

There are a few examples of devs explaining testing. The Ruby community is particularly good at this, because of their focus on test first. Brian Marick shows how to test in his book, Everyday scripting. There are others who are also good like Sandi Metz and Russ Olsen. However, they are all very code focused. They still make the good point that they ask a lot of questions and there is a back and forth to find a good solution.

More later…


@seasidetesting " I might even suggest to fire the testers and then see what happens."

They did this in my last role. The day after I left, the company posted online to say “Click here for a virtual tour of our new city centre offices!”

Of course, no-one had thought to actually test the link first.


Nice Question! Actually many people have this question in their mind that though we have developers in qa testing companies who used to develop the softwares, Aren’t they always striving to release software that meets their customer’s requirements?

Let me tell you that even with the most diligent of developers, software testing and developing are two different disciplines and it can be tricky to look objectively at the work whilst developing it. This demonstrates that having members of the Development and Software Testing team in qa testing companies verify that the product is being built correctly and that it meets customer specifications, helps to eliminate issues before it reaches the customer.

Developer may be biased with the fact that he has developed it, so may not test some areas as he’s confident enough that he has developed it bug free. However, tester will check the same from his/her doubtful eyes. As a software should be tested in a neutral way to have unbiased testing results. This can be done only by a third person (not developer himself).

The points below shows the significance of testing for a reliable and easy to use software product:

  • The testing is important since it discovers defects/bugs before the delivery to the client, which guarantees the quality of the software.
  • It makes the software more reliable and easy to use.
  • Thoroughly tested software ensures reliable and high-performance software operation.

Testing is not about just validating that system is performing what it is supposed to, but importantly it is also about assuring that the system is not performing what it is not supposed to perform. A tester delicately does that and does it better.

Also, Testing helps developers and testers to compare actual and expected results in order to improve quality. If the software production happens without testing it, it could be useless or sometimes dangerous for customers.

So, a tester should wear a unique hat that protects the reliability of the software and makes it safe to use in real-life scenarios.

Conclusion: Testing a functionality at different levels and requirement is the reason a tester is set up in qa testing companies instead of a developer.