情報処理安全確保支援士暗記無料で始める

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

テスト駆動開発(TDD)とは、実装より先に「まだ通らないテスト」を書き、それを通す最小限のコードを書き、動作を保ったまま設計を整える、という短い周期を繰り返す進め方。XPのプラクティスの一つで、仕様が実行可能なテストとして残るため、変更のたびに以前動いていた部分の後戻りをその場で検出できる。

最終更新:2026-10-06

試験情報

情報処理安全確保支援士試験の過去問では3回出題されています(2018年度〜2024年度)。

情報処理安全確保支援士試験の頻出用語/午前II

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

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

背景

設計を先に固めて実装し、最後にまとめて試験する進め方では、仕様の誤りが判明するのが最も修正費用の高い段階になる。仕様の確認を最初に、しかも自動で何度でも回せる形へ置き直したのがTDDである。副産物として、試験しやすい形=依存を外から差し込める形へ設計が寄る。セキュリティ要件を後付けにしない足場としても働く。

具体例

提唱者のKent BeckはJavaのテスト基盤であるJUnitの開発にも関わっており、いまはJUnitやpytestで書いたテストをGitHub Actionsが変更のたびに自動実行する形が一般的。入力値検証であれば、境界値に加えてSQLの記号や制御文字を含む異常系を先にテストとして書けば、実装がその条件を満たさない限り通らない。

試験での引っ掛け

テストを先に書けば品質が保証される、と読むのが誤り。テストが表しているのは書いた人が理解した仕様であり、要求そのものが誤っていれば全部通っても妥当ではない。タイミングや実機の挙動、性能や可用性は単体の試験では押さえきれない。テストファーストとテストの自動化も別の話で、TDDの本体は設計を小刻みに検証する進め方にある。

関連用語

出た過去問

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

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

試験での特徴
  • 試験では3回出題(2018年度〜2024年度)
  • 分野:午前II
  • テストを先に書けば品質が保証される、と読むのが誤り。