2019-12-01

On Software Testing

At my current workplace I was recently presented with the following dumbfounding argument:
Since we can always test our software by hand, we do not need to implement software testing.
In its more complete form, the argument goes like this:
Software testing represents a big investment for the company, where all the programmers in the house will be doing nothing but writing software tests for months, but these tests will not yield any visible benefit to the customers. Instead, the programmers should ensure that the software works by spending only a fraction of that time doing manual testing, and then we can take all the remaining time that we save this way and invest it in developing new functionality and fixing existing issues. 

To put it more concisely:
Software testing does not seem to have business value.
At the time that I was hearing this argument it sounded disarmingly self evident and beautiful in its simplicity, but of course anyone who has been anywhere even near the software industry in the last 20 years or so knows that it is patently false from pretty much every single angle that you might choose to look at it, so I now need to explain why.