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

プロジェクトマネージャ 2018年 午前2 問17


問題文

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

選択肢

ア:最初のテストで、なるべく多くのバグを摘出する。
イ:テストケースの改善を繰り返す。
ウ:テストでのカバレージを高めることを重視する。
エ:プログラムを書く前にテストケースを作成する。(正解)

🔒 解説は解答すると表示されます

テスト駆動開発【午前2解説】

正解の理由

テスト駆動開発(TDD)は、プログラムを書く前に、そのプログラムが満たすべきテストケースを作成する開発手法です。テストを実行して失敗することを確認してから、テストに合格する最小限のプログラムを書きます。
この特徴を示しているのは、エです。テストケースを先に用意することで、実装すべき内容が明確になり、必要な機能を満たしているかを確認しながら開発できます。

解法ステップ

  1. 設問のキーワード「テスト駆動開発」に注目します。
  2. TDDでは、実装より先にテストを作成することを思い出します。
  3. 「プログラムを書く前にテストケースを作成する」と述べたエを選びます。
TDDの基本的な流れは、次のとおりです。
  1. 失敗するテストを書く
  2. テストに合格する最小限のコードを書く
  3. コードを整理する
  4. 次のテストに進む
この流れは「レッド・グリーン・リファクタリング」と呼ばれます。

選択肢別の誤答解説

  • ア:最初のテストで、なるべく多くのバグを摘出する。
    テストでバグを見つけることは重要ですが、TDDの特徴は、最初のテストで多くのバグを摘出することではありません。実装前にテストを作成し、テストと実装を小さな単位で繰り返す点がポイントです。
  • イ:テストケースの改善を繰り返す。
    テストケースを見直すことはありますが、それだけではTDDの特徴を表していません。TDDでは、テストケースを先に作成し、それを基準に実装を進めます。
  • ウ:テストでのカバレージを高めることを重視する。
    カバレージ(テストで実行されたコードの割合)を高めることは、テストの網羅性を考えるうえで役立ちます。しかし、カバレージの高さそのものがTDDの定義ではありません。
  • エ:プログラムを書く前にテストケースを作成する。
    テストを先に書き、そのテストを満たすようにプログラムを作成するというTDDの基本を示しています。

よくある誤解

  • テストを先に作れば、必ずバグがなくなるわけではありません。
    テストケースに含まれない状況や、テスト自体の不備は見逃される可能性があります。
  • TDDは、開発の最後にまとめてテストする手法ではありません。
    テストと実装を小さな単位で繰り返し、開発の早い段階から動作を確認します。
  • カバレージを高めることと、TDDを行うことは同じではありません。
    TDDはテストを先に作成する開発プロセスであり、カバレージはテストの実行範囲を測る指標です。

補足コラム

XP(エクストリームプログラミング)は、短いサイクルで開発と改善を繰り返すアジャイル開発手法です。TDDのほか、ペアプログラミングや継続的インテグレーションなどもXPで重視されます。

FAQ

Q. テストケースは、すべての機能について一度に作成するのですか?
A. いいえ。通常は小さな機能や振る舞いごとにテストを作成し、対応する実装を進めます。
Q. テストが先に失敗するのは、問題ではないのですか?
A. TDDでは、実装前のテストは期待どおりに失敗します。その失敗によって、まだ必要な機能が実装されていないことを確認します。

関連キーワード: テスト駆動開発、XP、レッド・グリーン・リファクタリング、単体テスト、テストカバレージ
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

プロジェクトマネージャを
クイズ形式で学習しませんか?

クイズ画面へ遷移する→

すぐに利用可能!

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

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