Tales from Reddit: Testing doesn't exist
If you want to see the absolute dire state of software testing, Reddit is a good place to start. It’s almost astonishing to see what some of the "testers" think about what testing is, but even I was blown away by a particular reply to a thread.
A Narrow View on Testing
The premise of the response was:
“There is no such thing as testing. There are only unit, integration and end-to-end tests.”
I honestly couldn’t tell you if this is a commonly held belief, but it is concerning that any software tester would have such a narrow opinion on testing. It may even be that this opinion doesn’t meet the minimum threshold of a basic discussion, but I do think it points to a wider dysfunction that is commonly held in the software test community.
Too many testers think their job is just checking that functionality is working to their expectations. This makes more sense to be within a developer's responsibility since building something that meets some kind of requirement and expectation is literally their job.
Having a tester come and do the same thing almost makes no sense. On one hand, a second pair of eyes might spot something that was missed or raise a valid question about a feature, but a much better approach would be to have a tester that is looking for problems, not expectations.
Projects tend to have more developers than testers, which is fine, but at the very least there must be one person who is not taking the "build" mindset and is instead challenging the claims made by the builders. This is where testers can really add value.
Contradicting Statements
Now, let’s take a look at the second sentence:
“There are only unit, integration and end-to-end tests.”
Already, we see it contradicts the first point. There is no such thing as "testing," but yet, out of nowhere, tests exist. This shows a fundamental misunderstanding of the term "testing" and has boiled testing down to test cases.
The obvious question here is: how were those test cases chosen? There is not some kind of wizardry to test cases existing—there must have been some kind of test design, which would fall into the activity of testing.
Are the test cases ever executed? Another activity that is included in testing.
The Rise Of The Testerless Team
That wasn’t the end of the response, though. They also added this point:
“The last 2 teams I worked on had no QA - only SWE.”
Yes, teams do exist without dedicated testers. Yes, software engineers should be included in the activities of testing.
But let’s not get it twisted—software engineers rarely make good software testers for the obvious reason that they build things, not explore them. They tend to suffer from something called the valence effect, the idea that things tend to have positive outcomes. The assumption that what they’re building will work as expected.
Most software engineers like to build, build, build. Not many software engineers enjoy deep exploration and spending lots of time validating and verifying what they built. They want to build the next thing because they like to build things. Go figure.