データベーススペシャリスト試験 2018年 午前225


エクストリームプログラミング(XP: eXtreme Programming)における“テスト駆動開発”の特徴はどれか。
最初のテストで、なるべく多くのバグを摘出する。
テストケースの改善を繰り返す。
テストでのカバレージを高めることを重視する。
プログラムを書く前にテストケースを作成する。(正解)

解説

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

要点まとめ

  • 結論:テスト駆動開発(TDD)は「プログラムを書く前にテストケースを作成する」ことが特徴です。
  • 根拠:XPのTDDは、まず失敗するテストを書くことで設計を明確にし、その後コードを書いてテストをパスさせる反復的手法です。
  • 差がつくポイント:テストを後から追加するのではなく、先にテストを書く点が他のテスト手法と大きく異なり、品質向上に直結します。

正解の理由

選択肢エ「プログラムを書く前にテストケースを作成する」が正解です。
XPのテスト駆動開発は「Red-Green-Refactor」のサイクルを回し、まず失敗するテストを書く(Red)、次にそのテストを通すためのコードを書く(Green)、最後にコードを改善する(Refactor)という流れを重視します。これにより設計が明確になり、バグの早期発見と高品質なコードが実現します。

よくある誤解

テスト駆動開発は単にテストケースを増やすことやカバレッジを高めることではなく、テストを先行させることで設計と実装を同時に進める手法です。

解法ステップ

  1. XPの基本理念とテスト駆動開発の定義を理解する。
  2. TDDの特徴として「テストを先に書く」ことを確認する。
  3. 選択肢を比較し、テストのタイミングに注目する。
  4. 「プログラムを書く前にテストを書く」ことがTDDの本質であると判断する。
  5. 正解を選択肢エと確定する。

選択肢別の誤答解説

  • ア: 最初のテストで多くのバグを摘出することは重要だが、TDDの特徴ではなく一般的なテストの目的です。
  • イ: テストケースの改善は行うが、TDDの本質はテストを先に書くことにあります。
  • ウ: カバレッジを高めることは品質向上に役立つが、TDDの特徴ではなくテスト全般の指標です。
  • エ: プログラムを書く前にテストケースを作成することがTDDの核心であり、正解です。

補足コラム

テスト駆動開発はXPの中でも特に品質保証と設計改善に効果的なプラクティスです。テストを先に書くことで、コードの目的が明確になり、リファクタリングも安全に行えます。また、TDDは単体テストの自動化と密接に関連し、継続的インテグレーション(CI)との相性も良いです。

FAQ

Q: テスト駆動開発はどのように品質向上に寄与しますか?
A: 先にテストを書くことで設計が明確になり、バグの早期発見とコードの保守性向上につながります。
Q: TDDはどのようなサイクルで進めますか?
A: 「Red(失敗するテストを書く)→Green(テストを通すコードを書く)→Refactor(コードを改善)」の3段階を繰り返します。

関連キーワード: テスト駆動開発, XP, Red-Green-Refactor, 単体テスト, 自動テスト, 継続的インテグレーション
← 前の問題へ次の問題へ →

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