When it comes to making money for the company, software testers often get less glory than they deserve.
Developers get lots of credit for writing the code that sustains the company's operations and allows it to make money. And, the IT team gets praise for keeping those applications and systems running so that the company can keep making money.
But what of the software testers? How much time does management spend thinking about the work they do to create value for the company and improve the bottom line?
Usually, not much—and that's a shame. Software testing is just as crucial as other IT processes for maximizing revenue and profitability. Here's a list of reasons why.
In most businesses, it's hard to make money unless your customers are happy. And, if your customers rely on your software in any way, you can't count on keeping them happy unless you test that software thoroughly before they use it.
This point may seem obvious, but it's hard to overemphasize. We live in a world where one-fifth of mobile apps that users download are used only once, partly because applications fail to meet quality expectations. Likewise, half of users will abandon your website if it takes more than a few seconds to load.
If you want to succeed in a world where customers have these kinds of expectations, you need to ensure that your software is being tested thoroughly.
Perhaps you just read the section above and thought, "We don't have any customer-facing software, so we don't need to worry about software quality."
Think again! Even if you don't build applications for your customers, you probably have internal systems used by your employees. Unlike consumers, your employees may not have the option of ditching those internal tools for alternatives; your employees have to use what you tell them to use. Nonetheless, if the software they rely on to do their jobs is buggy, they won't work as efficiently or productively. You don't need an MBA to know that this translates as a loss in value for the company.
Keep in mind, too, that employees who are dragged down by low-quality internal software are more likely to suffer morale issues. That leads to higher employee turnover, another phenomenon that can bleed your company of money.
Developers are expensive. By extension, so is the cost of producing software.
With reliable and thorough software testing, however, the cost of development can be minimized. That's because good software testing makes it possible to identify application problems early in the development cycle, when the developer resources required to fix them are less expensive.
If you wait until your software is in production to find out that some of your code has a problem, you're probably going to end up wasting dozens of developer person-hours, as the development team has to scramble to figure out the issue and fix it fast. But when your bug is detected right after integration testing, it's relatively trivial to send the code back to the developer who wrote it, and have them apply a fix.
The bottom line: The better your software testing regime, the fewer developers you'll need to achieve the same results. And, fewer developers translate to lower costs for the company (especially because developers tend to cost a bit more than software testers).
Just as software testing helps identify issues at a point when they are easy for developers to fix, it also mitigates the time and effort that the IT team has to spend responding to problems in production environments. Good IT engineers are expensive, especially when you need to pay them to be on call 24/7.
Software testing won't eliminate the need for application monitoring and maintenance or on-call teams. But it can help reduce the size and cost of those teams by minimizing the number of issues that make it into production.
Similarly, software testing can reduce the amount of time your IT team spends dealing with bugs and redeployments. In turn, your engineers can spend more of their time creating new value for the company by doing things like optimizing cloud workloads or provisioning new infrastructure.
Last but not least, consider the relationship between software quality and infrastructure spend. The lower the quality of your applications, the more resources they are likely to consume.
Performance testing is the most obvious way to improve software efficiency. But other types of testing matter in this regard, too. Poor usability means that users might constantly reload your application, which increases the number of requests it has to handle and the infrastructure it requires. A lack of testing could also mean that unnecessary code gets integrated into your application, which increases bloat and infrastructure requirements.
Software testing is not the only way to optimize infrastructure costs, but it is one important factor.
Thorough, reliable software testing adds real financial value to your company. From this perspective, your software testers are much more than people whose job is simply to sign off on a deployment before it reaches production. They play a critical role in helping to reduce costs and increase revenue in multiple ways.
Chris Tozzi has worked as a journalist and Linux systems administrator. He has particular interests in open source, agile infrastructure and networking. He is Senior Editor of content and a DevOps Analyst at Fixate IO. His latest book, For Fun and Profit: A History of the Free and Open Source Software Revolution, was published in 2017.