2011年7月22日金曜日

TDDの良い点、難しい点

Outsider's Dev Story :: TDD를 한달여정도 해보고 나서....よりメモ

JavaにおけるTDDを一月程実践しての話らしい

良い点

  • 開発の速度が遅くなるということはなかった
    テスト作成のために時間が減るという感じはなく、今までスコップ作業していた部分が自然に流れるようになった
  • テストを先に作成してからどう実装するかを考えると、開発の目的がはっきりした。
    理解しながら開発ができる
  • 思わぬタイミングで表示されるred(テストが失敗したときに出る赤いバー)はストレスではなく安心を与えてくれた
  • リファクタリングが非常に安心しながらできた
  • given / / when / / thenテンプレートは便利だ
    http://doortts.tistory.com/169
    テストの構造化ができてよみやすくなった

難しい点

  • TDDによってデザインがよくなるわけではない
    TDDによってこれが自動的に得られるわけではなく、やはり多くの経験と知識が必要です。
    デザインが悪いのか、テストケースが未熟なのかを判別するのが困難だった
  • テストする ということは思ったより難しい
    特にUIに関係するとどうテストするのかが難しいと感じた
  • 依存性のある部分のテストはやはり難しい
    Mockを使おうとしたけど、テストに慣れてないと難しい
  • ますます混乱するFixture
    全体的に共通のFixture テストがあまりなくて、テストケースごとにFixtureをとっていくことになった、テストが長くなり複雑になってしまった
  • リファクタリング中にテストケースを作成する自体になると困り果てる
思ったよりは順調に適応できてメリットなどを感じられるようになった。
TDDは習慣しなければならないと思った。


====

たぶん、Google先生で読むとそんな感じ。