Tests make upgrades less risky

I recently reviewed a client's Drupal 9 website to gather information about upgrading it to Drupal 10.

The site has a number of custom modules. They all require changes to make them Drupal 10-compatible - some are a core_version_requirement update, and some are more complex.

None of these modules have automated tests.

If they did, I'd be able to run them and see if they pass, make my changes, and rerun the tests to verify they still pass, and the module works as it did previously.

But I can't.

I'd need to test each module beforehand to understand what it does manually and again after making the changes.

This is more time-consuming, riskier, and easier for me to introduce regressions or new bugs.

Whether it's a major CMS version upgrade, updating a contrib module or refactoring custom code, having a passing test suite you can use and rely on makes updates easier and less risky.