テスト駆動開発とは?テストくどうかいはつ
テスト駆動開発とは、実装コードより先にテストコードを書き、それを通すように実装を進める開発の進め方。失敗するテストを書く、通す最小限の実装をする、重複を整理する、という短い周期を繰り返す。テストは検査の道具であると同時に、期待する振る舞いを記述した仕様としても働く。
最終更新:2026-10-06
この語が出る過去問を解く →背景
テストを後回しにすると、締切に押されて省かれ、直すのが怖いコードだけが残る。先に書けばテストが省かれることはなく、しかも「何をもって正しいとするか」を実装前に言語化させられる。結果として、仕様の曖昧さが実装に入る前に露出し、変更のたびに退行を検出できる状態が保たれる。
具体例
日次バッチが更新するサマリ表なら、「対象日の明細が0件ならサマリ行を作らない」「同じ日を二重に処理しても結果が変わらない」といった判定を先にテストへ書き下す。冪等性や締め日の扱いが実装前に確定するうえ、後でパーティション構成を変えたときも同じテストで挙動の変化を捕まえられる。
試験での引っ掛け
テストを先に書くことが要点であり、実装後にテストを書くのは通常の単体テストであってTDDではない。また目的は網羅率を上げることではなく設計を導くことなので、カバレッジの数値をもってTDDを実施したとは言えない。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成28年度 春期 データベーススペシャリスト試験 午前Ⅱ 問25(IPA)解説で登場
XP(eXtreme Programming)のプラクティスの一つに取り入れられているものはどれか。
正解:ペアプログラミング
要点:ペアプログラミングはXPの代表的プラクティス
XPのプラクティスには、ペアプログラミング、テスト駆動開発、リファクタリング、継続的インテグレーション、小さなリリースなどがある。ペアプログラミングは2人が1台の端末で役割を交代しながらコードを書き、その場でレビューしながら品質を高める手法である。
出典:平成30年度 春期 データベーススペシャリスト試験 午前Ⅱ 問25(IPA)
エクストリームプログラミング(XP: eXtreme Programming)における“テスト駆動開発”の特徴はどれか。
正解:プログラムを書く前にテストケースを作成する。
要点:テスト駆動開発は実装より先にテストを書く進め方
テスト駆動開発では、実装よりも先に満たすべき仕様を表すテストコードを書き、それが失敗することを確かめてから、通るように実装を進める。仕様が明確になり、リファクタリングも安全に行えるようになる点が狙いである。
出典:令和6年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問25(IPA)
エクストリームプログラミング(XP:Extreme Programming)における"テスト駆動開発"の特徴はどれか。
正解:プログラムコードを書く前にテストコードを書く。
要点:テスト駆動開発は実装より先にテストコードを書く
テスト駆動開発は、実装よりも先に、満たすべき振る舞いを検証するテストコードを書くことを出発点とする。最初はテストが失敗する状態から始め、それを通す最小限のコードを書き、動作を保ったまま整理するという短い周期を繰り返す。テストが仕様の記述と設計の指針を兼ねる点が本質であり、網羅率の追求そのものが目的ではない。
出典・参考
高度試験 午前I(高度午前I 相当)のシラバスの4 開発技術 > 1. 開発プロセス・手法 > (1) ソフトウェア開発手法に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。