戦国IT - 情報処理技術者試験の過去問対策サイト
お知らせお問い合わせ料金プラン

情報処理安全確保支援士 2024年 秋期 午前223


問題文

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

選択肢

最初のテストでなるべく多くのバグを摘出する。
テストケースの改善を繰り返す。
テストでのカバレージを高めることを目的とする。
プログラムコードを書く前にテストコードを書く。(正解)

エクストリームプログラミング(XP)における“テスト駆動開発”の特徴はどれか【午前2 解説】

要点まとめ

  • 結論:テスト駆動開発(TDD)はプログラムコードを書く前にテストコードを書く手法です。
  • 根拠:XPの基本プラクティスであり、コードの品質向上と設計の明確化に寄与します。
  • 差がつくポイント:テストコードを先に書くことがTDDの本質であり、単なるテストの改善やカバレッジ向上とは異なります。

正解の理由

テスト駆動開発(TDD)は、まず失敗するテストコードを作成し、そのテストを通過させるために最小限のプログラムコードを書くというサイクルを繰り返します。これにより、コードの設計がテスト可能で明確になり、バグの早期発見やリファクタリングが容易になります。選択肢エ「プログラムコードを書く前にテストコードを書く」はTDDの本質を正確に表しています。

よくある誤解

テスト駆動開発は単にテストケースを増やすことやカバレッジを高めることではありません。テストコードを先に書くことが重要であり、これが設計の指針となります。

解法ステップ

  1. 問題文の「テスト駆動開発」の定義を確認する。
  2. XPのプラクティスとしてのTDDの特徴を思い出す。
  3. 選択肢を「テストコードを書くタイミング」で比較する。
  4. 「プログラムコードを書く前にテストコードを書く」がTDDの核心であることを確認。
  5. 他の選択肢がTDDの特徴と異なる点を検証し、正解を決定する。

選択肢別の誤答解説

  • ア: 最初のテストで多くのバグを摘出することは望ましいが、TDDの特徴ではなく一般的なテストの目標です。
  • イ: テストケースの改善を繰り返すことは品質向上に役立ちますが、TDDの本質ではありません。
  • ウ: カバレッジを高めることはテストの目的の一つですが、TDDの特徴とは異なります。
  • エ: プログラムコードを書く前にテストコードを書くことがTDDの核心であり、正解です。

補足コラム

テスト駆動開発は「Red-Green-Refactor」のサイクルで進められます。まず失敗するテスト(Red)を書き、次にテストを通過させるコードを書く(Green)、最後にコードを改善する(Refactor)という流れです。これにより、設計の品質と保守性が向上します。

FAQ

Q: テスト駆動開発はどのようにバグを減らすのですか?
A: 先にテストコードを書くことで仕様を明確にし、コードが仕様通りに動くことを保証するため、バグの混入を防ぎます。
Q: TDDはすべての開発に適していますか?
A: 小規模から中規模の開発に特に効果的ですが、大規模プロジェクトでは適用方法を工夫する必要があります。

関連キーワード: テスト駆動開発、XP, Red-Green-Refactor, ソフトウェア品質、リファクタリング
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

情報処理安全確保支援士
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてプライバシーポリシー利用規約特商法表記開発者について