令和6年度 秋期 情報処理安全確保支援士試験 午前Ⅱ 問23
テクノロジ/開発技術エクストリームプログラミング(XP:Extreme Programming)における“テスト駆動開発”の特徴はどれか。
出典:令和6年度 秋期 情報処理安全確保支援士試験 午前Ⅱ 問23
- ア最初のテストで,なるべく多くのバグを摘出する。
- イテストケースの改善を繰り返す。
- ウテストでのカバレージを高めることを目的とする。
- エプログラムコードを書く前にテストコードを書く。
正解:エ
解説
エクストリームプログラミング(XP)におけるテスト駆動開発(TDD:Test-Driven Development)は,プロダクトコード(実装コード)を書く前に,まずそのコードが満たすべき仕様を表すテストコードを書き,そのテストが通るように最小限の実装を行い,その後リファクタリングを行う,という短いサイクルを繰り返す開発手法です。テストを先に書くことで,仕様を明確にしながら開発を進めることができます。
選択肢ごとの解説
- ア誤り。最初のテストでなるべく多くのバグを摘出することを目的とするのは,一般的なテスト技法(ビッグバンテストなど)の考え方であり,テスト駆動開発の本質的な特徴ではありません。
- イ誤り。テストケースの改善を繰り返すことは,テスト駆動開発の直接的な特徴の説明としては不十分であり,最も特徴的な点はプログラムコードより先にテストコードを書くことです。
- ウ誤り。テストでのカバレージを高めることを主目的とする説明であり,テスト駆動開発の特徴(テストを先に書いて設計を進めること)とは異なります。
- エ正しい。プログラムコードを書く前にテストコードを書くことが,テスト駆動開発の最大の特徴です。