応用情報暗記無料で始める

テスト駆動開発(TDD)とは?てすとくどうかいはつ

テスト駆動開発(TDD)とは、実装より先に失敗するテストコードを書き、それを通す最小限の実装を書き、重複を除いて整理する、という短い周期を繰り返す開発手法。レッド(失敗)・グリーン(成功)・リファクタリングの3段階で回す。使う側のコードを先に書くことになるため、外から扱いやすいインタフェースが自然に決まるという副次効果がある。

最終更新:2026-10-06

試験情報

応用情報技術者試験の過去問では3回出題され、ほかに1問の解説で触れられています(2016年度〜2025年度)。

応用情報技術者試験の頻出用語/テクノロジ系

別名:テスト駆動開発、TDD

この語が出る過去問を解く →

背景

実装の後にテストを書くと、できあがったコードを通すためのテストになりやすく、そもそもテストしにくい作りになっていても直す動機が働かない。また改善のためにコードへ手を入れたくても、壊していないことを確かめる手段がなければ触れず、設計は劣化したまま固まる。テストを先に置くのはこの2つを同時に解く手で、シラバスではXPのプラクティスとして、またDevOpsを支える実践として挙げられている。

具体例

提唱者はケント・ベックで、XPのプラクティスとして示し、同じ流れからJUnitが生まれた。送料計算なら、まず「1万円以上は無料」を検証するテストを書いて失敗させ、その条件だけをべた書きして通し、次のケースを足しながら一般化していく。テストが常に揃っているので、後からの内部構造の作り替えを動作の保証付きで進められる。

試験での引っ掛け

TDDの主眼は品質保証よりも設計の改善に置かれている。同値分割や境界値分析のような網羅性を狙うテスト設計とは目的が別で、TDDを回しているだけではテストの十分性は担保されない。また「先にテスト仕様書を作ること」と読み替えるのも誤りで、書くのは実行できるテストコードであり、失敗することを確かめてから実装に入る点までが手順に含まれる。

関連用語

出た過去問

問題文で直接問われたものと、解説の中で触れられたものが含まれます。

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では3回出題(2016年度〜2025年度)
  • 分野:テクノロジ系
  • TDDの主眼は品質保証よりも設計の改善に置かれている。