>>58
> 関数aを変更した時、モジュールABCの仕様を変わらないようにするために
> モジュールABCに含まれる関数aの呼び出し部分を修正する必要がある。
関数aが変更された時に、関数aの呼び出し部分を修正する必要があるような設計が
駄目なんじゃないのって言われてるのわかってる?

> 関数aを修正した後にテストコードを実行して失敗したテストを修正することになる。
考え方が逆だよ。
関数aの変更が、モジュールABCのテストに影響を及ぼすとしたら、まずテストをリファクタリングする
必要があるかを考慮する。

どうしても関数aの変更の影響をモジュールABCのテストから断ち切れない場合は、まずそのテストが
そのままで良いかどうかをチェックする。
そうしないと、「本来は期待値が変わるはずだったのに変わっていない」というバグを検知できない。

まずテストを実行してみて、失敗したテストを修正するというのは下の下の策。