テスト駆動開発(TDD)とは?
テスト駆動開発(TDD)とは、実装より先に失敗するテストを書き、それを通す最小限のコードを書き、重複を除く整理をする、という短い周期(レッド・グリーン・リファクタリング)を繰り返す開発手法。テストを先に書くことで、外から使いやすいインタフェースが自然に決まる副次効果がある。
応用情報技術者試験の過去問では4回出題されています(2016年度〜2025年度)。
てすとくどうかいはつ
テスト駆動開発(TDD)の意味
実装より先に失敗するテストを書き、それを通す最小限のコードを書き、重複を除く整理をする、という短い周期(レッド・グリーン・リファクタリング)を繰り返す開発手法。テストを先に書くことで、外から使いやすいインタフェースが自然に決まる副次効果がある。
テスト駆動開発(TDD)の具体例
送料計算なら、まず「1万円以上は無料」を検証するテストを書いて失敗させ、べた書きで通し、次のケースを足しながら一般化していく。テストが常に存在するため、後からの内部構造の作り替えを、動作の保証付きで安全に行える。
テスト駆動開発(TDD)は試験でどう引っ掛けられる?
TDDの主目的は品質保証よりも設計の改善とされる。網羅的なテスト設計(同値分割・境界値)とは目的が違い、TDDだけでテスト十分性は担保されない。また「先にテスト仕様書を作ること」ではなく、実行可能なテストコードを先に書くこと。
テスト駆動開発(TDD)と関連する用語
テスト駆動開発(TDD)が出た過去問
エクストリームプログラミング(XP:eXtreme Programming)における“テスト駆動開発”の説明はどれか。
正解:プログラムを書く前にテストケースを作成すること
要点:テスト駆動開発は実装より先にテストを書く進め方
テスト駆動開発は、実装より先にテストケースを書き、そのテストが通るようにコードを書き進める手法である。仕様をテストの形で先に確定させるため、実装の目的が明確になり、修正時の安全網にもなる。
出典:平成28年度 春期 応用情報技術者試験 午前 問50(IPA)エクストリームプログラミング(XP:Extreme Programming)における“テスト駆動開発”の特徴はどれか。
正解:プログラムを書く前にテストコードを記述する。
要点:テスト駆動開発はコードより先にテストを書く
テスト駆動開発(TDD)は、実装より先に「その機能が満たすべき条件」をテストコードとして書き、それを通すように最小限の実装を進める手法です。テストが仕様書の役割を果たすため、設計が明確になりリファクタリングもしやすくなります。
出典:令和4年度 秋期 応用情報技術者試験 午前 問49(IPA)スクラムのスプリントにおいて、(1)〜(3)のプラクティスを採用して開発を行い、スプリントレビューの後にKPT手法でスプリントレトロスペクティブを行った。“KP…
正解:次のスプリントからは、スタンドアップミーティングにタイムキーパーを置き、終了5分前を知らせるようにする。
要点:KPTのTは次に試す改善策を挙げる欄
KPTはKeep(今後も続けること)、Problem(問題点)、Try(次に試すこと)の3つで振り返る手法です。Tには、明らかになった問題を踏まえて次のスプリントで新たに実施する改善策を挙げます。タイムキーパーを置くという具体的な改善案がこれに当たります。
出典:令和4年度 秋期 応用情報技術者試験 午前 問50(IPA)XP(Extreme Programming)のプラクティスの一つであるものはどれか。
正解:ペアプログラミング
要点:XPの代表的プラクティスはペアプログラミングやテスト駆動開発
XP(エクストリームプログラミング)は、少人数で短い反復を回すアジャイル開発手法で、ペアプログラミング、テスト駆動開発、リファクタリング、継続的インテグレーション、シンプルな設計などのプラクティスを定めている。ペアプログラミングは2人1組で1つのコードを書き、その場でレビューしながら進める手法である。
出典:令和7年度 春期 応用情報技術者試験 午前 問48(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。