応用情報技術者試験 令和4年秋 午前問49 解説付き過去問
問題
エクストリームプログラミング(XP:Extreme Programming)における"テスト駆動開発"の特徴はどれか。
正解
解説
この問題は、エクストリームプログラミング(XP)におけるテスト駆動開発(TDD: Test-Driven Development)の特徴について問うものです。テスト駆動開発は、開発プロセスの中で重要な役割を担うアプローチの一つです。
- テスト駆動開発の基本概念
テスト駆動開発では、実際のプログラムコードを書く前に、そのプログラムが通過すべきテストケースを先に作成します。このプロセスは「レッド・グリーン・リファクタ」サイクルとしても知られており、最初に失敗するテスト(レッド)を書き、そのテストをパスする最小限のコードを実装してから(グリーン)、コードの構造を改良する(リファクタ)というステップを繰り返します。 - 他の選択肢との比較
他の選択肢である「最初のテストで、なるべく多くのバグを摘出する」、「テストケースの改善を繰り返す」、「テストでのカバレージを高めることを目的とする」は、テスト駆動開発の特徴としては不完全または誤解を招く表現です。TDDの主目的は、初期段階で要件を正確に捉え、設計を確実にすることにあり、テストケースの改善やカバレージの最大化はその副次的な効果に過ぎません。
したがって、プログラムを書く前にテストケースを記述する、という選択肢がTDDの本質を最もよく表しているため、正解となります。