テスト駆動開発のリファクタリング ステップでは、特定の機能に対して別の完全なテストを常に実行する必要がありますが、機能自体を超えたリグレッションの可能性を防ぐためのアプローチは何ですか?
私の専門的な経験から、コードの変更後に機能モジュール全体を再テストしたいと思うようになりました。それはTDDが推奨するものですか?
ありがとうございました。
テスト駆動開発のリファクタリング ステップでは、特定の機能に対して別の完全なテストを常に実行する必要がありますが、機能自体を超えたリグレッションの可能性を防ぐためのアプローチは何ですか?
私の専門的な経験から、コードの変更後に機能モジュール全体を再テストしたいと思うようになりました。それはTDDが推奨するものですか?
ありがとうございました。
TDD は、新しいコードを記述したり、古いコードを変更したりするための単なる方法論です。コード ファイルのいずれかが変更されるたびに、テスト ベース全体を実行する必要があります (新機能またはリファクタリング)。これにより、回帰が発生していないことを確認できます。ここでは、自動テストについて説明します (単体テスト、システム テスト、受け入れテスト、場合によってはパフォーマンス テストも)
CI サーバー (Jenkins、Hudson、TeamCity、CruiseControl...) にはすべてのテストがあり、ソース管理に変更をコミットすると自動的に実行されます。また、テスト カバレッジを計算し、コードのテストが不十分な場所を示すこともできます (適切な TDD を実行すると、テスト カバレッジは常に 100% になるはずです)。