平成30年度 プロジェクトマネージャ試験 午前II 問17
エクストリームプログラミング(XP: eXtreme Programming)における“テスト駆動開発”の特徴はどれか。
- ア 最初のテストで,なるべく多くのバグを摘出する。
- イ テストケースの改善を繰り返す。
- ウ テストでのカバレージを高めることを重視する。
- エ プログラムを書く前にテストケースを作成する。
解答・解説を見る
正解:エ
AI解説
テスト駆動開発(TDD)は、XPのプラクティスの一つで、プログラム本体を書く前にまずテストケース(テストコード)を作成し、そのテストに合格するように実装を進める開発スタイルである。「テストファースト」がキーワードであり、エが正解となる。テストが仕様を表す実行可能なドキュメントとなり、リファクタリングの安全網にもなる。 ア: 最初のテストで多くのバグを摘出することを狙う考え方は、従来型のテスト計画・品質管理の話であり、テスト駆動開発の特徴ではない。 イ: テストケースの改善を繰り返すこと自体はテスト設計の一般論であり、実装前にテストを書くというTDDの本質を表していない。 ウ: カバレージ(網羅率)の向上を重視するのはテストの十分性評価の観点であり、TDDの特徴の説明ではない。 エ: 正しい。プログラムを書く前にテストケースを作成し、テストに通る最小限のコードを実装してリファクタリングする、という順序がテスト駆動開発の特徴である。 💡 TDDのサイクルは「レッド(失敗するテストを書く)→グリーン(通る最小コード)→リファクタリング」。XPのプラクティス(ペアプログラミング、継続的インテグレーション、リファクタリング等)とセットで覚える。
出典:平成30年度 秋期 プロジェクトマネージャ試験 午前II 問17 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。