logo
podcast Podcast
get help Get Unstuck

What is the monetary value of testing?

Is it worth learning?

Joel Clermont
Joel Clermont
2024-12-27

Learning a new skill, or even improving an existing skill, requires an investment of time. And if you're buying a book or course, it's also an investment of money.

Not every decision needs to have a purely financial return on investment, but it's still a reasonable thing to consider when deciding where to spend your time and money.

So let's tackle this in the context of testing. What is the monetary value, if any, of testing?

Some of the answer to this question is context dependent. For example, do you work as an employee within a company or are you a freelancer or consultant? I'll cover both scenarios.

The biggest monetary value I see is not directly in the act of writing tests, but in the things that testing enables:

  1. Ship faster - Once you learn testing and get proficient in it, some development tasks will actually take less time. Think of a big framework or package update, where you're not sure what broke. A good test suite will help you find the problems a lot faster than manually re-testing the entire application.
  2. Fewer bugs - When we ship a new feature, we want it to work as expected. If there are many possible things to test on a more complex feature, it's easy to miss something. Tests help you think logically about both the happy paths and all the possible errors.
  3. Fewer regressions - This is a special case of "fewer bugs". Let's say the feature worked flawlessly on day one, but a year later you bump to a new version of PHP, change the database schema, or refactor some shared class, and now you introduced a bug to something already working. That is so frustrating, but a good test suite helps to prevent that.

So even if your employer, or your client, doesn't care directly about testing, and they aren't going to pay you more because you write tests, they absolutely will value the things that testing enables. These three points are just my favorite ones, but this is by no means a complete list.

And even beyond these indirect benefits, there can be a direct monetary benefit too. If you're searching for a job, it's possible the employer will list testing as a required skill. Or even if it's not a hard requirement, it could give you an edge over other applicants.

Or if you're trying to attract a new client, you could mention your testing skills as a selling point. I know this is something we've done, and I can point to clients that admitted they hired us specifically because of our emphasis on testing and quality.

So there is some potential direct monetary value in learning testing in this case, but I think the stronger case is made with the first list I gave.

For me personally, I don't consider testing as some discrete task I do, separate from development. It's an intrinsic part of my software development process, like version control. Just like I wouldn't consider writing code without committing it to version control, I wouldn't consider writing code without tests.

If you have been a developer for a while and haven't yet learned testing, I think it's worth the investment. I'd go so far as to say I think it's the single most important skill you can learn to improve your development career.

Here to help,

Joel

P.S. Do you write tests already? If so, does this line up with your experience? And if you aren't writing tests, did you find this argument convincing? Send me a note and let me know.

Toss a coin in the jar if you found this helpful.
Want a tip like this in your inbox every weekday? Sign up below 👇🏼
email
No spam. Only real-world advice you can use.