やっぱり自動テストは必要

保守を担当しているシステムに機能追加を行おうとしたところ、標準を無視した作りになっており、思いもよらぬ機能がビジネスロジックを共用しており、そちら側を別件でたまたまテストしたところ実行例外となってしまいました。
今回は偶然によって救われましたが、そのまま本番環境にリリースされていたらと思うと冷や汗が止まりません。。
やはり入り組んだ構造、所謂スパゲッティ的なシステムに手を入れるための安心材料として、自動ビルドに加えて自動テストは必要だと思わされました。

完璧なテストコードでなくても少なくとも機能が動作するかどうかくらいはチェックできます。
それだけでも一定の品質は担保できると思います。

(例)データベースの登録に成功することを確認する。

理想はアサーションでカラムごとの登録内容まで確認したいのですが、そこまでは問わない。
とにかくまずは少しでも有益なテストコードを書くことから始めて、少しずつ理想に近づけていけば良いのだと思います。

単なるトラブル対応や機能追加だけではなくて、一歩ずつの地道な改善のサイクルを回すことが、システムを保守するということになるのでしょう。