応用情報技術者試験 令和4年度 秋期 午前 問49
エクストリームプログラミング(XP:Extreme Programming)における"テスト駆動開発"の特徴はどれか。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】エ
テスト駆動開発では、実装する機能のプログラムより先に、その機能が満たすべき条件をテストコードとして記述します。最初は実装が存在しないためテストが失敗する「Red」、テストを通すための最小限の実装を行う「Green」、動作を変えずにコードを整理する「Refactor」という短いサイクルを繰り返します。このように、プログラムを書く前にテストコードを記述するエが正解です。
アの、最初のテストでなるべく多くのバグを摘出するという説明は誤りです。これは初期のテストに欠陥検出を集中させる考え方であり、小さな単位で失敗と成功を繰り返しながら実装するテスト駆動開発の特徴ではありません。
イの、テストケースの改善を繰り返すという説明は誤りです。これはテストプロセスやテスト設計を継続的に改善する活動を表しており、実装前にテストを書くというテスト駆動開発の核心を示していません。
ウの、カバレージを高めることを目的とするという説明は誤りです。カバレージは、命令や分岐などがテストで実行された割合を評価するホワイトボックステストの指標です。テスト駆動開発によって結果的に向上することはありますが、主目的ではありません。
【ポイント】 テスト駆動開発は「テスト作成、最小限の実装、リファクタリング」の順で進めます。 テストファーストとRed・Green・Refactorを一組で覚えましょう。
出典:令和4年度 秋期 応用情報技術者試験 午前 問49
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の80問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる