平成28年度春期 応用情報技術者試験 午前 問50
エクストリームプログラミング(XP:eXtreme Programming)における“テスト駆動開発”の説明はどれか。
- ア 最初のテストでバグを抽出すること
- イ テストケースを順次改善すること
- ウ テストでのカバレージを優先すること
- エ プログラムを書く前にテストケースを作成すること
解答・解説を見る
正解:エ
AI解説
正解はエ。テスト駆動開発(TDD:Test-Driven Development)はXPのプラクティスの一つで、プログラム本体を書く前に、まず期待する動作を検証するテストケース(テストコード)を作成し、そのテストに合格する最小限のコードを実装してからリファクタリングを行う、というサイクルを繰り返す開発手法である。 ア: 最初のテストでバグを抽出することではなく、テストを先に書くことが本質であり、誤り。 イ: テストケースの順次改善はTDDの定義ではない。テストを先に作る点が説明されていない。 ウ: カバレージ(網羅率)の優先はテストの十分性の指標の話であり、TDDの説明ではない。 エ: プログラムを書く前にテストケースを作成するのがテスト駆動開発の説明であり、正しい。 💡 TDDは『レッド(失敗するテストを書く)→グリーン(通る最小コードを書く)→リファクタリング』のサイクルで覚える。XPのプラクティス(ペアプログラミング、継続的インテグレーション、リファクタリングなど)もまとめて確認しておく。
出典:平成28年度 春期 応用情報技術者試験 午前 問50 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。