データベーススペシャリスト試験 令和6年度 秋期 午前II 問25
エクストリームプログラミング(XP:Extreme Programming)における"テスト駆動開発"の特徴はどれか。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】エ
テスト駆動開発では、実現したい機能について、プログラム本体より先に自動テストのコードを書きます。最初は機能が未実装なのでテストが失敗します。次に、そのテストを通過させるための必要最小限のプログラムコードを書き、成功を確認した後、動作を変えずにコードを整理します。この「失敗するテストを書く、テストを通す、設計を改善する」という短いサイクルを繰り返します。したがってエが適切です。
アの説明は誤りです。テスト駆動開発では、最初のテストで多数のバグを一括して見つけることを狙うのではなく、一つの小さな要求を表すテストを先に作り、少しずつ実装を進めます。これは大量の欠陥を一度に摘出するテスト方針ではありません。
イの説明は誤りです。必要に応じてテストコードも修正しますが、テストケース自体の改善を繰り返すことが中心的な特徴ではありません。要求をテストとして具体化し、そのテストを満たす製品コードを反復的に作る手法です。
ウの説明は誤りです。テストを積み重ねることで結果的にコードカバレージが高まることはありますが、カバレージの数値を高めること自体がテスト駆動開発の目的ではありません。カバレージは、テストによって実行されたコードの割合を示す指標です。
【ポイント】 テスト駆動開発の基本サイクルは、Red、Green、Refactorです。 先に失敗するテストを書き、最小限の実装で成功させ、重複などを整理します。テストは要求を明確にし、変更時の回帰テストにも役立ちます。
出典:令和6年度 秋期 データベーススペシャリスト試験 午前II 問25
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の25問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる