令和6年度 秋期 情報処理安全確保支援士試験 午前 II 問題 問23

エクストリームプログラミング(XP:Extreme Programming)における“テスト駆動開発”の特徴はどれか。

解答・解説

正解: エ. プログラムコードを書く前にテストコードを書く。

正解の根拠

テスト駆動開発(TDD: Test-Driven Development)は、アジャイルソフトウェア開発手法の一つであるエクストリームプログラミング(XP: Extreme Programming)における代表的なプラクティスです。

その最大の特徴は、プログラムコードを書く前にテストコードを書くこと(テストファースト)です。実装前にテストを書くことで、開発する機能の仕様や要件が明確になり、設計の改善やバグの早期発見につながります。したがって、正解はエとなります。

各選択肢の解説

  • ア: テスト駆動開発の主な目的は、最初のテストで多くのバグを摘出することではなく、仕様をテストとして定義し、実装を適切に進めることです。バグを摘出するのは一般的なテスト工程の目的です。
  • イ: テスト駆動開発では「テスト作成 →\rightarrow 実装 →\rightarrow リファクタリング」という短いサイクルを繰り返しますが、「テストケースの改善を繰り返す」こと自体が最も重要な特徴を表しているわけではありません。
  • ウ: テスト駆動開発を行う結果としてコードのテストカバレージ(網羅率)は高くなる傾向がありますが、カバレージを高めること自体が目的ではありません。主な目的は、要求通りに動く保守性の高いコードを書くことです。
  • エ: 正解。テスト駆動開発の最も根本的な特徴である「プログラムコードを書く前にテストコードを書く」ことを正しく説明しています。

Spineチーム