令和4年度秋期 応用情報技術者試験 午前 問49
エクストリームプログラミング(XP:Extreme Programming)における“テスト駆動開発”の特徴はどれか。
- ア 最初のテストで,なるべく多くのバグを摘出する。
- イ テストケースの改善を繰り返す。
- ウ テストでのカバレージを高めることを目的とする。
- エ プログラムを書く前にテストコードを記述する。
解答・解説を見る
正解:エ
AI解説
テスト駆動開発(TDD)はプログラム本体を書く前に、まずそのプログラムが満たすべき仕様をテストコードとして記述し、それが失敗することを確認してから実装を進める開発手法である。テストが「動く仕様書」として設計を導く点が最大の特徴であり、正解はエ。 ア: 「最初のテストで多くのバグを摘出する」はテスト設計の網羅性の話であり、TDDの手順的特徴とは異なる。 イ: テストケースの改善を繰り返すのはテスト自体の品質向上活動であり、TDD固有の特徴ではない。 ウ: カバレージ向上はテストの十分性を測る指標であり、TDDが目的とするものではない(結果的に高まることはあるが定義そのものではない)。 エ: 正しい。Red(失敗するテストを書く)→Green(最小実装で通す)→Refactor(整理する)のサイクルを回す手法がTDDである。 💡 TDDは「テストを先に書く」がキーワード。カバレージやバグ摘出数の話が出てきたら別の概念とのひっかけと判断する。
出典:令和4年度 秋期 応用情報技術者試験 午前 問49 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。