テスト駆動開発(TDD)とは

てすとくどうかいはつ

これから作る機能のテストを先に書き、そのテストを通す最小限のコードを書き、テストが通る状態を保ったままリファクタリングする、という短い繰り返しで開発を進める方法。エクストリームプログラミング(XP)のプラクティスとして広まった。

「テスト駆動開発(TDD)」は、1分野の1問の練習問題に出てきます(ソフトウェア開発とプロジェクト管理など)。

この用語の分野: ソフトウェア開発とプロジェクト管理

テスト駆動開発(TDD)の練習問題に挑戦

テスト駆動開発(TDD)の進め方として、適切なものはどれか。

  1. Aまだ失敗するテストを先に書き、それを通す最小限のコードを書いてから、テストが通る状態を保ったままリファクタリングする
  2. B機能のコードをすべて書き終えてから、そのコードの分岐をたどってテストケースを作る
  3. Cテストは専任のテスト担当者が書き、開発者は結合テストの段階になるまでテストを実行しない
答えと解説を見る

正解:A. まだ失敗するテストを先に書き、それを通す最小限のコードを書いてから、テストが通る状態を保ったままリファクタリングする

テスト駆動開発では、これから作る機能の小さな仕様をテストとして先に書き、実行して失敗すること(レッド)を確かめます。次にそのテストを通す最小限のコードを書き(グリーン)、テストが通る状態を保ったまま重複などを整理します(リファクタリング)。この短い繰り返しで、テストがそろった状態を保ちながら少しずつ機能を増やします。組込みのファームウェアでも、ハードウェアに依存する部分を差し替えられるようにして、開発用のPC上で単体テストを繰り返し実行する使い方がされます。

解説の中の「テスト駆動開発(TDD)」

「テスト駆動開発(TDD)」が出てくる問題(1問)

  1. テスト駆動開発(TDD)の進め方として、適切なものはどれか。

ソフトウェア開発とプロジェクト管理の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

関連する用語

アーンドバリューマネジメント(EVM) アジャイル開発 ウォーターフォールモデル SLA(サービスレベル合意) 境界値分析 クリティカルパス法(CPM) CI/CD(継続的インテグレーション・継続的デリバリー) スクラム WBS(作業分解構成図) 同値分割

用語集の一覧へ