正答4
解説
正解は4です。
エクストリームプログラミング(XP)のプラクティスである、テスト駆動開発の意味を問う問題です。
テスト駆動開発(TDD:Test-Driven Development)は、先にテストを書き、そのテストに合格するようにプログラムを作る手法です。
【選択肢別解説】
1:× 最初のテストでバグを抽出することは、テストの目的の一般論です。
テスト駆動開発の特徴である「先にテストを書く」点を表していません。
2:× テストケースを順次改善することは、テスト駆動開発の定義ではありません。
テスト駆動開発で改善(リファクタリング)するのは、テストに合格した後のプログラムです。
3:× テストのカバレージを優先することは、網羅率を重視するテスト方針の説明です。
テスト駆動開発の定義ではありません。
4:○ プログラムを書く前にテストケースを作成し、それに合格する最小限のコードを書くのがテスト駆動開発です。
【ポイント】
テスト駆動開発は、失敗するテストを書き、合格させ、リファクタリングするという手順の繰返しで進めます。
XPには、ペアプログラミング、リファクタリング、継続的インテグレーションなどのプラクティスもあります。