ホーム > 情報処理安全確保支援士試験 > 2021年 春期
情報処理安全確保支援士試験 2021年 春期 午前2 問23
エクストリームプログラミング(XP: eXtreme Programming)におけるテスト駆動開発”の特徴はどれか。"
ア:最初のテストで、なるべく多くのバグを摘出する。
イ:テストケースの改善を繰り返す。
ウ:テストでのカバレージを高めることを目的とする。
エ:プログラムを書く前にテストコードを記述する。(正解)
解説
エクストリームプログラミング(XP)におけるテスト駆動開発の特徴【午前2 解説】
要点まとめ
- 結論:テスト駆動開発(TDD)はプログラムを書く前にテストコードを作成する手法です。
- 根拠:XPのTDDは「失敗するテストを書く→コードを書く→テストをパスさせる」サイクルを重視します。
- 差がつくポイント:テストコードを先に書くことで設計の明確化と品質向上を図る点が他のテスト手法と異なります。
正解の理由
テスト駆動開発(TDD)は、まず失敗するテストコードを先に書き、その後にそのテストを通過させるための最小限のプログラムコードを書くというサイクルを繰り返します。これにより、設計がテスト可能な形で明確になり、バグの早期発見やリファクタリングの安全性が高まります。選択肢エは「プログラムを書く前にテストコードを記述する」とあり、TDDの本質を正確に表しています。
よくある誤解
テスト駆動開発は単にテストケースを増やすことやカバレッジを高めることではなく、テストコードを先に書くことで設計を導く手法です。
解法ステップ
- 問題文の「テスト駆動開発」の定義を確認する。
- XPにおけるTDDの特徴を思い出す。
- 選択肢の内容をTDDのプロセスと照らし合わせる。
- 「プログラムを書く前にテストコードを書く」ことがTDDの核心であると判断する。
- 正解を選択肢エと確定する。
選択肢別の誤答解説
- ア: 最初のテストで多くのバグを摘出するのは望ましいが、TDDの特徴ではなく一般的なテストの目標です。
- イ: テストケースの改善は重要ですが、TDDの本質はテストコードを先に書くことにあります。
- ウ: カバレッジを高めることは品質向上に寄与しますが、TDDの直接的な目的ではありません。
- エ: プログラムを書く前にテストコードを記述することがTDDの特徴であり正解です。
補足コラム
テスト駆動開発はXPのプラクティスの一つであり、短いサイクルでコードとテストを繰り返すことで品質を高めます。TDDは設計の改善やリファクタリングの安全性向上にも寄与し、アジャイル開発の重要な技術です。
FAQ
Q: テスト駆動開発で最初に書くのは何ですか?
A: 最初に失敗するテストコードを書きます。これが開発の指針となります。
A: 最初に失敗するテストコードを書きます。これが開発の指針となります。
Q: TDDはバグを完全に防げますか?
A: いいえ。TDDはバグの早期発見と設計の改善に役立ちますが、完全に防ぐものではありません。
A: いいえ。TDDはバグの早期発見と設計の改善に役立ちますが、完全に防ぐものではありません。
関連キーワード: テスト駆動開発, XP, eXtreme Programming, アジャイル開発, ソフトウェア品質, リファクタリング