TDD
ティーディーディー

TDD(Test-Driven Development)とは、実装コードを書く前にテストを書き、テスト失敗(RED)→実装(GREEN)→リファクタリング(Refactor)の短いサイクルを繰り返す開発手法である。
RED → GREEN → Refactor
TDD の手順は極めてシンプルだ。
まず、これから実装する機能の期待動作をテストとして書く。当然テストは失敗する(RED)。次に、テストを通すための最小限のコードを書く(GREEN)。最後に、動作を変えずにコードを整理する(Refactor)。この3ステップを数分〜十数分の短いサイクルで回し続ける。
設計ツールとしてのテスト
TDD を「テスト手法」と捉えると本質を見誤る。テストを先に書くことで、関数のインターフェース(引数と戻り値)が実装前に決まる。呼び出し側の視点でAPIを設計するため、使いにくいインターフェースが生まれにくい。Kent Beck が TDD を提唱した動機も、テスト網羅率の向上ではなく設計品質の改善にあった。
単体テストとの使い分け
TDD で書くテストの大半は単体テストになる。ただし TDD は「いつテストを書くか」の方法論であり、単体テストは「何をテストするか」のスコープの話だ。TDD のサイクル内で機能テスト相当のテストを書くこともあるし、TDD を使わずに単体テストを書くこともある。
ATDD との補完関係
ATDD がビジネス要件の正しさを外側から保証するのに対し、TDD は内部実装の正しさを内側から積み上げる。プロジェクト全体では、ATDD で受け入れ基準を定義し、その基準を満たすための個々の関数を TDD で実装していくという二層構造が理想的だ。
関連用語

AI ROI(AI投資対効果)
AI ROIとは、AI導入・運用に投じたコストに対して得られた業務効率化・収益改善などの効果を定量的に測定する指標のこと。

AIオブザーバビリティ(AI Observability)
本番稼働中のAIシステムの入出力・レイテンシ・コスト・品質を継続的に監視・可視化する運用プラクティス。ハルシネーションやドリフトの早期検出に不可欠。

BPO(ビジネス・プロセス・アウトソーシング)
BPOとは、企業が特定の業務プロセスを外部の専門業者に委託するアウトソーシング形態のこと。AI活用による自動化と組み合わせたAIハイブリッドBPOが近年注目されている。

ERP(エンタープライズ・リソース・プランニング)
ERP(エンタープライズ・リソース・プランニング)とは、財務・購買・製造・人事などの基幹業務データを一元管理し、経営意思決定を支援する統合型業務管理システムのこと。