
239
導
入
編
1
設
計
編
ア
キ
テ
ク
チ
ャ
編
2
3
4
5
6
7
4
トケースクラスです。OrderBasketTest クラスでは、OrderBasketの1つの
メソッドに対するテストケースを作成しています。ここでは1つのメソッド
に1つのテストケースメソッドを作成していますが、テスト条件によってテ
ストケースメソッドを複数定義することもできます。
JUnitなどのテストフレームワークを使ってテストをプログラムにできる
と、テスト実行の自動化が可能になります。テストケースがプログラムであ
れば、テストの完了までの時間もほとんどかかりません。テストを手軽に行
えるようになります。このようなテストの自動化によるメリットにより、ア
ジャイル開発の短いイテレーションやリファクタリングを行うことができま
す。TDDではテストケースも開発することになるので、一見すると開発量
が増えてしまい、全体の開発効率が下がると考えがちです。しかし、実際に
はテストの時間が短縮できるので、全体としての開発効率は向上します。テ
ストをする工数よりも、テストをプログラミングする時間のほうが少ないの
です。
XPのようなアジャイル開発では、短いサイクルでイテレーションを行い
ます。例えば1週間から2週間程度の長さで1つのイテレーションを回しま
す。イテレーションでは、新機能を開発することもあれば、すでに開発され
ている機能を修正することもあります。この短いイテレーションを回すため
にはTDDが必要なのです。イテレーション開発では、開発期間が短いため