Do you have beef with the idea that anyone can test software?

I hear the idea a lot that anyone can test. And therefore we don’t need ‘professional software testers’.

I think it’s an argument that even I often struggle with and would like to get better at responding with something better than ‘yeah, but no but’.

How do you respond with this idea as a software tester?
How can we kindly argue the case for ‘professional testing’?


I guess anybody can and everybody should do testing of some sort, quality should also be a concern of the whole team and I’d hope regardless of a persons role they’d do some sort of type of testing though I know this isn’t always the case. Whether thats a designer maybe who will carry out user research and validate wireframes maybe, or a developer who write unit tests or maybe (call me crazy) a developer who wants to do TDD (test driven development). For me even though testing and quality should be a whole team approach teams still need a dedicated tester as it’s a totally different mindset. Testers ask the difficult questions, think outside the box, where as when developers try to test in my experience they try to create tools or look at ways to fix problems with code, often attempting to automate everything, not fully understanding that testing and checking are different things.

I know I have pain in my knee. I know the cause of the pain. I know that it bothers me. I still go to a doctor to get my knees checked.

I know how to identify a rotting piece of wood. I know how to make it so that the plank that the rotting piece of wood doesn’t fall. That doesn’t mean that I can be a carpenter.

I know how to not spend all of my money, that doesn’t mean that I can be a financial advisor.

I can kick a football, and can read the field better than most people I know, but there’s no way I can be a professional athlete.

Yes, anyone who uses a product is testing it, but it takes a special mindset and a lot of training to know what to test, when to test it, how to test it effectively, how to communicate the results, correctly estimate how changes will affect the users, and so on.

Yes, anyone can test, but it normally takes a professional tester to test it right.


I personally call that idea the “any warm body” school of software testing. Not surprisingly, it’s probably the worst school out there.

“Anyone can test” really means “Anyone can follow a detailed set of instructions that leaves no room to explore and usually only finds surface issues.”

In the article I wrote that goes live on the Dojo tomorrow, “What Makes a Good Software Tester”, I made a comment about

Testing being an activity that exists in the gaps between the creation of software and its delivery to one or more customers, and one that often focuses on gaps between expectation and reality

Being able to identify gaps and missing things is not something “anyone” can do. It takes skill to look at something and see what it needs to be better. Finding bugs is a side issue and very much secondary to identifying overly complex workflows, sub-optimal GUI arrangements, missing functionality and the like.


Given the right tools and training I think it is certainly possible to do an adequate job. However, businesses are looking to hire experts that do a task consistently well and continue to learn and grow. Having just anybody do the task works as well as it does for anything a business needs. Testing is not magic and customers don’t only want to pay for it but they do expect to have quality products. As an industry we need to get better about teaching others why testing is important, nuanced, and communicate what it looks like done right.

The notion that testers are not needed is a myth.

You might not have someone with the job title of tester but you need someone to adopt that testing mindset and someone usually does in the absence of someone who does it professionally.

A person to ask those “what if?” questions.

If they (the team advocating for not having a professional tester) can find someone to do the job without the need for a person who has tester in their job title then thats not a bad thing but I would be skeptical as to whether they will find one any time soon.

I was formerly trained on how to fix a car. I got this training decades ago. Could I change the oil in my car? Absolutely. Could I do it as fast and efficiently as an oil shop mechanic? Nope. So I let someone else change the oil in my car. Same goes for changing the brakes, fixing a squeaky fan, etc.

I could do all these things but it isn’t something I do all the time, multiple days a week. There are also tools a mechanic has and used on a regular basis. I could buy these tools. Ignoring the cost, I still might need practice using those tools. If you hire a professional mechanic they already know how to use those tools.

The same ideas hold for a professional software tester. I test software at least 8 hours a day, 5 days a week and I have been doing this for decades. Whenever I’m on a project I know what works and what doesn’t. I know what things to watch out for. I ask questions that constantly get the response, “That’s a good idea. I wouldn’t have thought of that.”

Additionally, for years I have seen numerous studies which attempted to categorize people (e.g. Meyer-Briggs). Many of these studies noted that some people are good at “happy path”, some are good at “sad path” and some are good at both. However the people who are good at both are rare. So if developers are typically people good at “making sure it does what it is supposed to do” and a professional tester is good at “making sure it doesn’t do what it isn’t supposed to do” then you will still need professional testers.

I was a software developer for 17 years before I went back to university. At university there were people who wrote amazingly good code (code that did what it was supposed to do). They’d show off in the lab how great their software was. I’d walk up, literally, every time and try 1 to 3 things before I found an input that would crash their application. I’d always been able to write bullet-proof software routines but I was horribly slow compared to other developers. I always over thought things.

It wasn’t until I took a job testing compilers, IDEs and micro-kernels (had to know how to program) that I found out about testing and quality assurance. I just celebrated my 20th anniversary last month as a software tester. Like Viv pointed out, some people have a mindset for being a software developer. I have the mindset for a software tester. Back that with 20 years experience and I’ll find more defects in 3 month than the average person (non-professional) will find in a year.

Anyone can do X, therefore we don’t need X specialists.

The first bit:

  • How effectively will they do X? (An inexperienced person might just not be able to do certain parts of X, no matter how much extra time you give them.)
  • How time-efficient and cost-efficient will it be for a random person to do X?

The second bit:

  • Probably doesn’t follow from the first, given the answers above.
  • As well as doing X itself, the experts can review the work of beginners (to help prevent mistakes), coach them (make next month better than today), and look ahead to good or bad things in the future (new legislation that will need compliance, new technology that introduces new risks, etc.) and help the company plan accordingly.

I’m basically agreeing with what everyone else has already said. :wink:

I’m a programmer who likes testing, not a tester. I think that this argument applies to many values of X - programming, testing, product management, marketing …

There’s a separate conversation to be had around giving everyone an appreciation of what other disciplines in an organisation do, so people can have better conversations and so on, but deliberately getting rid of experts isn’t the best way to do this.

Anyone can test. I think that’s true. But just because anyone can test, that doesn’t mean that anyone and everyone will be a good tester.

Anyone can become a tester. Indeed, I think that’s one of the strengths of the craft: that there are as many routes into testing as there are different skills mixes and life experiences. But that has to be directed and at some point or other people will need to have some training in the art of testing.

Just because “any warm body” can follow a test script, that does not mean that an app that has been subject to that approach can be said to have been adequately tested. There’s a world of difference between “any warm body” and a professional tester, just as in any other discipline.


Nope, I love that anyone can test software, we’re just the best at it :blush:. Recently watched a great video with my team on this topic, “The future of the Testing Role” by James Bach. If you haven’t seen it, I highly recommend!
He says “absolutely anyone, from little children to CEOs, can find a bug” the distinction between everyone else and testing specialists lies in the depth and reliability of our work

1 Like

I think anyone is capable of learning and becoming better at anything, so its a “yes, no, maybe” answer the same as everything seems to be in this industry :smiley:

can anyone who didn’t try turn up and do our job? probably not,
can anyone learn to be good at our craft? with the right support and the right mindset, definitely.

It’s all a matter of time and I think everyone is capable, they just need that chance and that first break to get them in and get them doing :slight_smile:

speaking as someone who is always trying to recruit my friends to the cause :smiley:

So I guess what I’m trying to say is, it all depends on the attitude of how this was said and how it was meant.