ホーム > データベーススペシャリスト試験 > 2024年
データベーススペシャリスト試験 2024年 午前2 問25
エクストリームプログラミング(XP:ExtremeProgramming)における“テスト駆動開発”の特徴はどれか。
ア:最初のテストで, なるべく多くのバグを摘出する。
イ:テストケースの改善を繰り返す。
ウ:テストでのカバレージを高めることを目的とする。
エ:プログラムコードを書く前にテストコードを書く。(正解)
解説
エクストリームプログラミング(XP)における“テスト駆動開発”の特徴はどれか【午前2 解説】
要点まとめ
- 結論:テスト駆動開発(TDD)は「プログラムコードを書く前にテストコードを書く」ことが特徴です。
- 根拠:XPの基本プラクティスであり、コードの品質向上と設計の明確化に寄与します。
- 差がつくポイント:テストを後から追加するのではなく、先にテストを書く点が他のテスト手法と異なります。
正解の理由
テスト駆動開発(TDD)は、まず失敗するテストコードを作成し、そのテストを通過させるために最小限のプログラムコードを書くというサイクルを繰り返します。これにより、コードの動作要件が明確になり、バグの早期発見や設計の改善が可能です。選択肢エはこの「コードを書く前にテストを書く」というTDDの本質を正確に表しています。
よくある誤解
テスト駆動開発は単にテストケースを増やすことやカバレッジを高めることではなく、テストコードを先に書くことで設計を導く手法です。
解法ステップ
- 問題文の「テスト駆動開発」の定義を確認する。
- XPのプラクティスとしてのTDDの特徴を思い出す。
- 選択肢の内容を「テストコードを書くタイミング」で比較する。
- 「コードを書く前にテストを書く」ことがTDDの核心であると判断する。
- 正解を選択肢エと確定する。
選択肢別の誤答解説
- ア: 最初のテストで多くのバグを摘出するのは望ましいが、TDDの特徴ではなく一般的なテストの目的です。
- イ: テストケースの改善は重要ですが、TDDの本質はテストコードを先に書くことにあります。
- ウ: カバレッジを高めることは品質向上に役立ちますが、TDDの特徴ではありません。
- エ: プログラムコードを書く前にテストコードを書くことがTDDの核心であり正解です。
補足コラム
テスト駆動開発は「Red-Green-Refactor」のサイクルで進められます。まず失敗するテスト(Red)を書き、次にテストが通るコードを書く(Green)、最後にコードをリファクタリング(Refactor)して品質を高めます。これにより設計の改善とバグの早期発見が可能となります。
FAQ
Q: テスト駆動開発はどのように設計に役立つのですか?
A: 先にテストを書くことで必要な機能が明確になり、過剰な実装を避けられます。
A: 先にテストを書くことで必要な機能が明確になり、過剰な実装を避けられます。
Q: TDDはすべてのプロジェクトに適していますか?
A: 小規模から中規模の開発に効果的ですが、大規模プロジェクトでは適用方法を工夫する必要があります。
A: 小規模から中規模の開発に効果的ですが、大規模プロジェクトでは適用方法を工夫する必要があります。
関連キーワード: テスト駆動開発, XP, Red-Green-Refactor, ソフトウェア品質, プログラミング手法