テスト駆動開発(TDD)とは?
テスト駆動開発(TDD)とは、実装より先に失敗するテストを書き、それを通す最小限のコードを書いて、動作を保ったまま整理する、という短い周期を繰り返す進め方。仕様が実行可能な形で残り、変更時の後戻りを早期に検出できる点が問われる。
情報処理安全確保支援士試験の過去問では3回出題されています(2018年度〜2024年度)。
てすとくどうかいはつ
テスト駆動開発(TDD)の意味
実装より先に失敗するテストを書き、それを通す最小限のコードを書いて、動作を保ったまま整理する、という短い周期を繰り返す進め方。仕様が実行可能な形で残り、変更時の後戻りを早期に検出できる点が問われる。
テスト駆動開発(TDD)の具体例
通信手順の解析処理を、実機がなくてもPC上で試験できるよう、入出力をバイト列の関数として切り出してから書き始める。ハードに触る部分は模擬実装に差し替え、境界値や異常系のバイト列を与えて期待どおり弾くか確かめる。
テスト駆動開発(TDD)は試験でどう引っ掛けられる?
全てを先にテストできるわけではなく、タイミングや実際の電気的な挙動が絡む部分は実機での確認が要る。またテストを通すことと要求を満たすことは別で、妥当性の確認を代替するものではない。
テスト駆動開発(TDD)と関連する用語
テスト駆動開発(TDD)が出た過去問
エクストリームプログラミング(XP: eXtreme Programming)における“テスト駆動開発”の特徴はどれか。
正解:プログラムを書く前にテストケースを作成する。
要点:テスト駆動開発は実装前にテストを書いて設計を導く
テスト駆動開発は、実装したい振る舞いを先にテストコードとして書き、失敗することを確かめてから、それを通す最小限の実装を書き、最後にリファクタリングするという短い周期を繰り返す手法である。テストが仕様の記述と設計の指針を兼ねる点が特徴で、バグの網羅的な摘出やカバレージの最大化そのものを目的とはしない。
出典:平成30年度 春期 情報処理安全確保支援士試験 am2 問23(IPA)エクストリームプログラミング(XP: eXtreme Programming)における"テスト駆動開発"の特徴はどれか。
正解:プログラムを書く前にテストコードを記述する。
要点:テスト駆動開発は実装より先にテストを書く
テスト駆動開発は、実装に先立って期待する振る舞いをテストコードとして書き、それを通すように最小限の実装を進める手法である。テストが仕様の役割を果たすため、設計が明確になり、変更時の退行も検出しやすくなる。
出典:令和3年度 春期 情報処理安全確保支援士試験 am2 問23(IPA)エクストリームプログラミング(XP:Extreme Programming)における“テスト駆動開発”の特徴はどれか。
正解:プログラムコードを書く前にテストコードを書く。
要点:テスト駆動開発は実装より先にテストを書く
テスト駆動開発は、実装コードより先にテストコードを書き、失敗するテストを通すために最小限の実装を行い、その後にリファクタリングする、という短い周期を繰り返す手法である。テストを先に書くことで、外部から見た仕様が先に確定し、実装が仕様から離れにくくなる点に狙いがある。
出典:令和6年度 秋期 情報処理安全確保支援士試験 am2 問23(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。