C# テスト駆動開発の実践方法:おわりに #21

長くなりましたがテスト駆動開発に関する連載もこれにて完了となりました。当連載ではテスト駆動開発の基礎的な部分から、実際に簡単なアプリケーションを構築しながらテスト駆動開発を行っていく実践編までを解説してきました。

テスト駆動開発は非常に便利な開発手法であることがわかっていただければ非常にうれしく思います。テスト駆動開発を行うことで変更に強く、より柔軟にソースコードを書いていくことが可能となります。

テスト駆動開発は主に4つのサイクルで構成されていました。「テストコードのコーディング」に始まり、コンパイルエラーを取り除いた「レッド」の状態、そしてレッドから「グリーン」の状態、最後にリファクタリングを行った状態です。

テスト駆動開発ではテストを確定させたのちに実装を行っていくので、品質の保証が容易にできることが強みと言えるでしょう。リファクタリングを行うことの怖さの一つに「過去の動作保証」がありますよね。デグレードを起こしてしまうのはエンジニアにとって避けたいことでもあります。

そうした事象に対抗する一つの手段がテスト駆動開発になるということです。実際、筆者もデグレードは起こしたくないことの一つですし、発生しないように注意して実装しているつもりです。しかしデグレードが発生する確率は0%にはなりません。複雑なロジックを修正することがあれば、常にデグレードの恐怖と隣り合わせで実装作業を行うことになります。

その点でいえばテスト駆動開発を用いることで、少しはその恐怖も和らぐのではないかと思います。実装してテストをするのではなく、発想を転換させて、テストを書いてから実装をするというのは非常に有効な手段だと感じていただけたと思います。

気が付けば当連載も21記事となり、ウェブサイト内で記述してきたC#の入門記事もだいぶ充実してきたように感じます。誰かしらの役に立つような記事を配信してきたいと思っておりますので、今後ともよろしくお付き合い頂ければうれしいです。