令和3年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問23
テクノロジ/開発技術エクストリームプログラミング(XP:eXtreme Programming)における“テスト駆動開発”の特徴はどれか。
出典:令和3年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問23
- ア最初のテストで,なるべく多くのバグを摘出する。
- イテストケースの改善を繰り返す。
- ウテストでのカバレージを高めることを目的とする。
- エプログラムを書く前にテストコードを記述する。
正解:エ
解説
エクストリームプログラミング(XP)における「テスト駆動開発(TDD:Test-Driven Development)」は,実際にプログラム(実装コード)を書く前に,まずそのプログラムが満たすべき仕様を表すテストコードを記述し,そのテストが通るように最小限の実装を行うという開発サイクルを繰り返す手法です。テストを先に書くことで,仕様の明確化とリファクタリングの安全性確保を図ります。
選択肢ごとの解説
- ア誤り。最初のテストでなるべく多くのバグを摘出することを目的とするのではなく,テスト駆動開発では小さな単位でテストと実装を繰り返すことに主眼があります。
- イ誤り。テストケースの改善を繰り返すことは,テスト駆動開発の直接的な特徴を説明したものではありません。
- ウ誤り。テストでのカバレージを高めることを主目的とする手法ではありません。カバレージの向上は結果的に得られる効果の一つですが,テスト駆動開発そのものの定義ではありません。
- エ正しい。プログラムを書く前にテストコードを記述することが,テスト駆動開発の最大の特徴です。