令和6年度 秋期 情報処理安全確保支援士試験 午前 II 問題 問23
テクノロジ開発プロセスアジャイル開発(スクラム・XP・リーン)
エクストリームプログラミング(XP:Extreme Programming)における“テスト駆動開発”の特徴はどれか。
解答・解説
正解: エ. プログラムコードを書く前にテストコードを書く。
正解の根拠
テスト駆動開発(TDD: Test-Driven Development)は、アジャイルソフトウェア開発手法の一つであるエクストリームプログラミング(XP: Extreme Programming)における代表的なプラクティスです。
その最大の特徴は、プログラムコードを書く前にテストコードを書くこと(テストファースト)です。実装前にテストを書くことで、開発する機能の仕様や要件が明確になり、設計の改善やバグの早期発見につながります。したがって、正解はエとなります。
各選択肢の解説
- ア: テスト駆動開発の主な目的は、最初のテストで多くのバグを摘出することではなく、仕様をテストとして定義し、実装を適切に進めることです。バグを摘出するのは一般的なテスト工程の目的です。
- イ: テスト駆動開発では「テスト作成 実装 リファクタリング」という短いサイクルを繰り返しますが、「テストケースの改善を繰り返す」こと自体が最も重要な特徴を表しているわけではありません。
- ウ: テスト駆動開発を行う結果としてコードのテストカバレージ(網羅率)は高くなる傾向がありますが、カバレージを高めること自体が目的ではありません。主な目的は、要求通りに動く保守性の高いコードを書くことです。
- エ: 正解。テスト駆動開発の最も根本的な特徴である「プログラムコードを書く前にテストコードを書く」ことを正しく説明しています。