正解は エ
TDD(テスト駆動開発:Test-Driven Development)はXP(エクストリームプログラミング)のコアプラクティスの一つで、Kent Beckが提唱した開発手法。最大の特徴は「プログラムコードを書く前にテストコードを書く(テストファースト)」こと。開発サイクルはRed-Green-Refactorの3段階:①Red:まず失敗するテストを書く(まだ実装がないので必ず失敗する)②Green:そのテストを通過する最小限のコードを実装する③Refactor:テストが通ることを確認しながらコードをリファクタリングして品質を向上する。このサイクルを短いイテレーション(数分〜数十分)で繰り返す。TDDの効果:設計が自然とテスト可能(疎結合)になる・デグレードを即座に検出・仕様がテストコードとして明確化される・自信を持ってリファクタリングできる。BDD(振る舞い駆動開発)はTDDをビジネス観点まで拡張した手法。
TDDのRed-Green-Refactorサイクル: ①失敗するテストを書く(Red)②テストが通る最小限のコードを書く(Green)③コードを整理する(Refactor)。BDD(振る舞い駆動開発)はTDDの発展形。