Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
30 lines (22 sloc) 1.88 KB
title tags
テスト駆動開発
testing
clean code

http://martinfowler.com/bliki/TestDrivenDevelopment.html

テスト駆動開発(TDD)はテストを通じて開発プロセスを駆動する設計技法です。 基本的に、以下の3つのシンプルなステップを繰り返して行います。

  • これから追加したい機能についてテストを書く
  • そのテストをパスするまで機能コードを書く
  • よりよい構造になるように、新旧コードをリファクタリングする

この3つのステップを1サイクルとして、繰り返し行います。 テストをひとつずつ書き、システムの機能を作り上げていくのです。 まず先にテストを書くことには、2つの利点があります(ケント・ベックの白本ではこれを「テストファーストプログラミング」と呼んでいます)。 まず、当然ですが、自己テスト用コードを書くことができるという点です。 テストをパスさせながら機能コードを書いていけばよいからです。 2番目の利点は、テストファーストだと、コードのインターフェイスを先に考えなければならなくなるという点です。 インターフェイスやクラスをどのように使うかに焦点をあてることで、 インターフェイスと実装との分離がしやすくなります。

TDDが失敗するのは、3番目のステップを無視しているからです。 コードをリファクタリングしてキレイに保つことは、このプロセスのキーとなる部分です。 さもないと、コードの断片が散らかった状態になってしまうでしょう。 (少なくともテストコードは付いているでしょうから、その他の設計の失敗よりは被害は少ないでしょうが)

You can’t perform that action at this time.