情報処理安全確保支援士試験 令和6年度 秋期 午前II 問23
エクストリームプログラミング(XP:Extreme Programming)における"テスト駆動開発"の特徴はどれか。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】エ
テスト駆動開発、TDDでは、実装したい機能のプログラムコードより先に、その機能の動作を確認するテストコードを書きます。最初は実装がないのでテストが失敗する「Red」、テストを通すための必要最小限のコードを書く「Green」、動作を保ったままコードを整理する「Refactor」という短いサイクルを繰り返します。したがって、プログラムコードを書く前にテストコードを書くとしたエが正解です。
アの「最初のテストで、なるべく多くのバグを摘出する」は誤りです。TDDでは一度に多くの不具合を探すのではなく、これから実装する小さな振る舞いを一つずつテストとして表現し、短い周期で開発を進めます。
イの「テストケースの改善を繰り返す」は誤りです。開発の進行に伴ってテストを追加、修正することはありますが、TDDの中心的な特徴はテストケース自体の改善ではなく、テストを先に書いて実装とリファクタリングを反復することです。
ウの「カバレージを高めることを目的とする」は誤りです。カバレージはコードのどの範囲をテストで実行したかを示す指標です。TDDによって高くなる場合はありますが、それ自体が目的ではなく、要求される振る舞いをテストで明確にしながら設計と実装を進めることが目的です。
【ポイント】 TDDの基本サイクルは「Red、Green、Refactor」です。 テストファーストは実装前に期待する振る舞いを明確にする方法であり、単にテスト量やカバレージを増やす活動ではありません。
出典:令和6年度 秋期 情報処理安全確保支援士試験 午前II 問23
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の25問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる