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

応用情報技術者 2016年 春期 午前250


問題文

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

選択肢

最初のテストでバグを抽出すること
テストケースを順次改善すること
テストでのカバレージを優先すること
プログラムを書く前にテストケースを作成すること(正解)

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

要点まとめ

  • 結論:テスト駆動開発(TDD)は「プログラムを書く前にテストケースを作成する」手法です。
  • 根拠:XPの基本原則で、コードの品質向上と設計の明確化を目的にテストファーストで進めます。
  • 差がつくポイント:テストを後から書くのではなく、先にテストを書くことがTDDの本質であり、誤解しやすい点です。

正解の理由

選択肢エ「プログラムを書く前にテストケースを作成すること」が正解です。
TDDは「Red-Green-Refactor」のサイクルで進め、まず失敗するテスト(Red)を作成し、そのテストを通すためのコードを書く(Green)、最後にリファクタリングする(Refactor)という流れです。これにより、コードの品質を保ちながら開発を進められます。

よくある誤解

テスト駆動開発は「テストを後から書く」や「バグを見つけるための最初のテスト」と誤解されがちですが、実際はテストを先に設計し、仕様を明確にする手法です。

解法ステップ

  1. 問題文の「テスト駆動開発」の定義を確認する。
  2. XPの開発手法の特徴を思い出す。
  3. 各選択肢がTDDの特徴に合致するか検証する。
  4. 「プログラムを書く前にテストを書く」ことがTDDの核心であると判断する。
  5. 正解を選択肢エと確定する。

選択肢別の誤答解説

  • ア: 「最初のテストでバグを抽出すること」はTDDの目的の一部ではあるが、テストを先に書くことが本質でないため誤り。
  • イ: 「テストケースを順次改善すること」はテストのメンテナンスに関する話で、TDDの定義とは異なる。
  • ウ: 「テストでのカバレージを優先すること」は品質指標の一つだが、TDDの説明としては不十分で誤り。
  • エ: 「プログラムを書く前にテストケースを作成すること」がTDDの正しい説明。

補足コラム

テスト駆動開発はXPの中核的プラクティスであり、コードの品質向上だけでなく、設計の改善やドキュメント代わりにもなります。テストファーストの考え方はアジャイル開発全般で広く採用されています。

FAQ

Q: テスト駆動開発はどのようなメリットがありますか?
A: バグの早期発見、設計の明確化、リファクタリングの安全性向上などが挙げられます。
Q: TDDと単体テストは同じですか?
A: 単体テストはテストの種類ですが、TDDはテストを先に書く開発手法であり、単体テストを含むことが多いです。

関連キーワード: テスト駆動開発、エクストリームプログラミング、XP, Red-Green-Refactor, アジャイル開発
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

応用情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

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

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