テストファーストやテスト駆動開発では、何をやるのですか?

アジャイル開発(XP)の手法であるテストファーストやテスト駆動開発もまた、最近、システム開発現場への導入が広がっています。テストファーストでは通常、詳細設計の後、開発の前にテストを記述し、テストを実行して「失敗」を確認した上で、コードを実装し、テストを実行(成功)するのに対して、テスト駆動型開発では詳細設計の前にテストを記述し、テストを実行して「失敗」を確認した上で、テストに基づいてプログラム仕様を設計し、開発、テスト(成功)と進めます。

テストファーストやテスト駆動型開発ではまた、プログラムがきちんと動作することを確認してから、コードをきれいにする(リファクタリング)アプローチを採ります。そのため、当初の開発では動けばいいと考えて、速度重視で開発します。動くことを確認した上で、コードを見直し、書き直すのです。テストファーストもテスト駆動開発も、「設計に対する理解と検証が楽になる」「早期にバグが見つけられる」「後工程からの手戻りが減る」「プログラム本体を変更しやすい」などのメリットがあるとされています。

おすすめの記事