令和6年度 秋期 情報処理安全確保支援士試験 午前 II 問題 問23

テクノロジ開発プロセス

この問題は2024(R6)秋 情報処理安全確保支援士 午前IIに出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。

本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。

エクストリームプログラミング(XP:Extreme Programming)における“テスト駆動開発”の特徴はどれか。

解答・解説を読む

正解: 選択肢

正解の根拠

テスト駆動開発(TDD: Test-Driven Development)は、アジャイルソフトウェア開発手法の一つであるエクストリームプログラミング(XP: Extreme Programming)における代表的なプラクティスです。

その最大の特徴は、プログラムコードを書く前にテストコードを書くこと(テストファースト)です。実装前にテストを書くことで、開発する機能の仕様や要件が明確になり、設計の改善やバグの早期発見につながります。したがって、正解はとなります。

各選択肢の解説

  • : テスト駆動開発の主な目的は、最初のテストで多くのバグを摘出することではなく、仕様をテストとして定義し、実装を適切に進めることです。バグを摘出するのは一般的なテスト工程の目的です。
  • : テスト駆動開発では「テスト作成 \rightarrow 実装 \rightarrow リファクタリング」という短いサイクルを繰り返しますが、「テストケースの改善を繰り返す」こと自体が最も重要な特徴を表しているわけではありません。
  • : テスト駆動開発を行う結果としてコードのテストカバレージ(網羅率)は高くなる傾向がありますが、カバレージを高めること自体が目的ではありません。主な目的は、要求通りに動く保守性の高いコードを書くことです。
  • : 正解。テスト駆動開発の最も根本的な特徴である「プログラムコードを書く前にテストコードを書く」ことを正しく説明しています。