この概念が出た関連問題

この試験の対策ガイド

情報処理安全確保支援士試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は エ

解説

TDD(Test-Driven Development:テスト駆動開発)はXP(eXtreme Programming)で提唱された開発手法で、「プログラムを書く前にテストコードを先に記述する」という原則に基づきます。TDDのサイクル(Red-Green-Refactorサイクル):①まず失敗するテストコードを書く(Red:テストが失敗する状態)②テストを通過させる最小限の実装コードを書く(Green:テストが成功する状態)③コードをリファクタリングして改善する(Refactor)。このサイクルを短いイテレーションで繰り返します。TDDの効果は「テストが設計の安全網になる」「過設計を防ぐ(テストを通過させる最小限の実装に集中)」「仕様の明確化(テストが仕様書の役割を果たす)」などです。

なぜ他の選択肢は違うのか

選択肢 ア
「最初のテストで、なるべく多くのバグを摘出する」はV字モデルや従来型のテスト戦略における「テストフェーズの集中投入」に近い考え方です。TDDは開発の最初からテストと実装を交互に繰り返す手法であり、「最初のテストでバグを一気に出す」という考え方は、TDDの小さなサイクルの繰り返しという本質とは異なります。
選択肢 イ
「テストケースの改善を繰り返す」はリファクタリングの考え方に近いですが、TDDの本質的な特徴ではありません。TDDの本質は「テスト先行(テストファースト)」の原則、すなわち実装コードを書く前にテストを書くことです。テストケースの改善はTDDの副次的な活動です。
選択肢 ウ
「テストでのカバレージを高めることを目的とする」はカバレッジテスト(C0命令網羅・C1分岐網羅・C2条件網羅など)の目標の説明です。TDDの目的はカバレッジの最大化ではなく、テストを設計の指針とし、確実に動作するコードを最小限の手順で作ることです。

解くときのポイント

TDD(テスト駆動開発)=「プログラムの前にテストコードを書く(テストファースト)」。Red-Green-Refactorサイクルを覚える。XPの主要プラクティス:TDD、ペアプログラミング、継続的インテグレーション、リファクタリング、ユーザーストーリー。「テスト→実装→リファクタリング」の順序がTDDの識別ポイント。