令和6年度 秋期 データベーススペシャリスト試験 午前II 問25
テクノロジ開発プロセスアジャイル開発(スクラム・XP・リーン)
エクストリームプログラミング(XP:Extreme Programming)における“テスト駆動開発”の特徴はどれか。
解答・解説
正解: エ. プログラムコードを書く前にテストコードを書く。
テスト駆動開発(TDD: Test-Driven Development)は、エクストリームプログラミング(XP)において実践されるアジャイルソフトウェア開発手法の一つです。
TDDの最大の特徴は、プログラムコードを実装する前に、まずそのプログラムが満たすべき仕様をテストコードとして記述することです。このテストをパスするように最小限の実装を行い、その後コードの設計を洗練させる(リファクタリング)という短いサイクルを繰り返して開発を進めます。
したがって、「プログラムコードを書く前にテストコードを書く」が正解となります。
各選択肢の解説
- ア: 最初のテストでなるべく多くのバグを摘出することは、テスト駆動開発の主目的ではありません。TDDは少しずつ実装とテストを繰り返しながら着実に開発を進める手法です。
- イ: テストケース自体の改善を繰り返すのではなく、テストを満たすようにプログラムコード(実装)を追加・修正し、コードのリファクタリングを繰り返すのが特徴です。
- ウ: カバレージ(網羅率)を高めること自体が目的ではありません。設計の質を向上させ、保守性の高いコードを生み出すことがTDDの主な目的です。
- エ: 正解。テスト駆動開発の最大の特徴である「テストファースト(実装前にテストを書く)」を正しく説明しています。