使う側からすれば、実装がどうなっていようが、バックヤードがどうなっていようが関係ない。
使い勝手と実現できる機能が問題なのだ。
そのアプリなり、モジュールなりについて。
あるいは、運用の手順もだ。
だから、あるモジュールについて、常に(自動で)テストされるべきは、個々の実装より、外部に開かれたインターフェイスだ。
モジュールの本番投入時には、既存のインターフェイスを壊していないことが最低限の責任だ(バグだがその機能が利用されているなら、そのバグはむしろ修正してはいけない)。
カバレッジを云々すれば、「個々の実装を」となるだろうが、そのレベルで細かく実装してしまうと、リファクタリングの時、足手まといになる。
というのが実質論だと思う。