テストあれこれ
※WEB+DB PRESS Vol.35を参考にしています
TDDの補足です
実装の前にテストを書く意義
①テストしやすいコードになる
・テストから書くことでオブジェクトの依存関係が少なく、機能が絞られているコードになる
「テストしやすい設計が良い設計」
②コード利用者の視点を得ることができる
・自分自身がこれから書くコードの最初の利用者になる
→使いにくいコードやわかりにくい名前などに気づく
③インタフェースと実装を分けて考えることができる
×実装に合わせてコードを利用する
↓
○コードの利用の仕方に合わせて実装する
Red→実装を行う。テストを追加してはならない。
Green→新規テストを追加する。リファクタリングを行う。
TDDはテスト技法ではなく、設計技法。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
受け入れテスト
開発が終了し、機能が満たされたことを証明するテスト。
End-to-Endの機能テスト
テスト対象のアプリケーションをブラックボックスと考え、
アプリケーションの外から(JavaVMの外から)行うテスト。