テスト駆動開発 | 情報処理安全確保支援士試験
テスト駆動開発とは
テスト駆動開発(TDD:Test-Driven Development)とは、プログラムの実装コードを書く前に、まずそのプログラムが満たすべき動作を確認するための「テストコード」を先に作成し、そのテストに合格するように実装を進めていく開発手法です。
一般的な開発では、コードを書き終えた後にテストを行いますが、TDDでは手順が逆になります。まず、わざと失敗するテストを書き(Red)、次にそのテストを通過する最小限のコードを書き(Green)、最後にコードを綺麗に整える(リファクタリング)という短いサイクルを繰り返します。これにより、バグを早期に防ぎ、常に動作が保証された綺麗なコードを維持することができます。
具体例
例えば、「入力された2つの数字を足し算する関数」を作る場合、まず「3と5を入力したら8が返ってくること」を検証するテストを先に書きます。この時点では関数がないためテストは失敗します(Red)。次に、単に「8」を返すだけの最低限のコードを書いてテストを通します(Green)。その後に、正しい足し算の処理に書き換え、コードを整理します。
もう少し詳しく