IT用語帳

テスト駆動開発(TDD)

Test-Driven Development

てすとくどうかいはつ

テストコードを先に書き、そのテストを通過する最小限のコードを実装し、リファクタリングするサイクル(Red-Green-Refactor)を繰り返す開発手法。設計の改善と品質の作り込みを同時に実現する。XPのプラクティスの一つ。
開発プロセスとマネジメント > 開発環境と開発ツール

関連キーワードの用語

SA決定表(デシジョンテーブル)

条件の組み合わせと、それに対応する処理(アクション)を表形式で整理する技法。複雑な条件分岐をもれなく網羅的に記述でき、仕様の漏れや矛盾を発見するのに有効。テスト設計にも活用される。

SAブラックボックステスト

内部構造を考慮せず、入力と出力の関係からテストケースを設計する手法。同値分割、境界値分析、デシジョンテーブル、状態遷移テストなどの技法がある。機能仕様に基づいてテストする。

SAホワイトボックステスト

プログラムの内部構造(制御フロー、データフロー)に基づいてテストケースを設計する手法。命令網羅、分岐網羅、条件網羅、パス網羅などのカバレッジ基準がある。ロジックの正確性を検証する。

SA単体テスト

個々のモジュールやクラスの機能を独立して検証するテスト工程。ドライバやスタブを用いて、テスト対象のモジュールを単独で動作させる。開発者が主体となって実施し、コードレベルの不具合を検出する。

SAVモデル

ウォーターフォールモデルの各開発工程に対応するテスト工程を対に配置した開発モデル。要件定義に受入テスト、基本設計にシステムテスト、詳細設計に結合テスト、実装に単体テストが対応する。各工程の整合性を確保する。

IPホワイトボックステスト

プログラムの内部構造(ロジック、分岐、ループなど)に着目して行うテスト。命令網羅、分岐網羅などのカバレッジ基準を用い、すべての処理経路が正しく動作するか検証する。単体テストで主に用いられる。