令和3年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問23
テクノロジ開発プロセスアジャイル開発(スクラム・XP・リーン)
エクストリームプログラミング(XP: eXtreme Programming)における“テスト駆動開発”の特徴はどれか。
解答・解説
正解: エ. プログラムを書く前にテストコードを記述する。
エクストリームプログラミング(XP)におけるテスト駆動開発(TDD: Test-Driven Development)は、実際のプログラムを実装する前に、そのプログラムが満たすべき要件や仕様をテストコードとして先に記述する開発手法です。
この「テストを先に書く(テストファースト)」というアプローチにより、開発者は仕様を明確に定義した上で実装を進めることができ、常にテストで動作確認を行いながら安全にコードの追加やリファクタリングを行うことができます。
したがって、特徴として最も適切なのは「プログラムを書く前にテストコードを記述する」となります。
各選択肢の解説
- ア:最初のテストで,なるべく多くのバグを摘出する。
テスト駆動開発の主な目的は、設計の洗練や仕様の明確化であり、単純にバグを摘出することではありません。 - イ:テストケースの改善を繰り返す。
テストケースは要件の変化に伴って追加・修正されますが、「テストケースの改善を繰り返す」こと自体がテスト駆動開発の定義や最大の特徴というわけではありません。 - ウ:テストでのカバレージを高めることを目的とする。
テスト駆動開発を行うことで結果としてテストカバレージ(網羅率)は高まる傾向にありますが、カバレージの数値を高めること自体を目的としているわけではありません。 - エ:プログラムを書く前にテストコードを記述する。
正解です。テスト駆動開発における「テストファースト」の概念を正しく説明しています。