比較的大きくて古いコードベースで、既に定義されているインターフェイス(C ++ヘッダーファイルのセット)を再実装するタスクを引き受けようとしています。これを行う前に、可能な限り完全なテストカバレッジを取得したいので、再実装エラーをできるだけ早く簡単に検出できます。問題は、既存のコードベースが、(非常に)大規模なクラスと関数、高度な結合、(多くの)副作用を伴う関数などで簡単にテストできるように設計されていないことです。
同様のタスクの以前の経験や、自動化されたテスト(ユニット、統合、回帰など)をレガシーコードにどのように改良したかについての良い具体的なヒントを聞いていただければ幸いです。