We all know that security is important, so we should regularly update Drupal core and modules. And when we upgrade between major versions of Drupal or modules, we often gain cool new features. But doing the updates always feels dangerous! What if something breaks, and we have to fix it? What if something breaks, and we don't even notice until much later?
At our company, we use several techniques to ensure that we can update safely. Some of these involve infrastructure: Good deployment tools like Docker, automated testing, and automated backups. We also have a custom tool to compare a Drupal site before and after an update, so we can identify even changes that we weren't specifically looking for.