正答4
解説
正解は4です。
XP(Extreme Programming)のプラクティスの一つであるテスト駆動開発(TDD:Test-Driven Development)の特徴を問う問題です。
【選択肢別解説】
1:× 最初のテストでなるべく多くのバグを見つけることは、テスト駆動開発の考え方ではありません。
TDDは、小さな単位でテストと実装を繰り返して品質を作り込みます。
2:× テストケースの改善を繰り返すことは、TDDの中心的な特徴ではありません。
TDDで繰り返すのは、テストを書き、実装し、リファクタリングするサイクルです。
3:× カバレージを高めること自体はTDDの目的ではありません。
TDDの目的は、テストで期待する振る舞いを先に決めてから設計・実装することです。
4:○ TDDでは、プログラムを書く前に、そのプログラムが満たすべきテストコードを先に書きます。
テストが通る最小限のコードを実装し、その後でコードを整理します。
【ポイント】
TDDのサイクルは「レッド(失敗するテストを書く)」「グリーン(テストを通す)」「リファクタリング」と呼ばれます。
XPには、ほかにペアプログラミングや継続的インテグレーションなどのプラクティスがあります。