TDDカンファレンスでLTしてきたのでその補足

4月の6日のTDDカンファレンスに参加&LT発表してきた。参加といっても遅刻していったのでほとんど話を聞けていないのだけれど。

とりあえず資料はこちら。読み直してみたら途中の話の飛躍がこれはひどい。当日もかなり短い発表の上に色々内容を省いてしまったので色々と補足しておく。(当日聞いていただいた方に申し訳ないし、あまりこういうのはよくないね。パブリックスピーカー読んででなおします。)

今回の内容の発端は「TDDはテストではない」という言葉の暴力性というか、言い切りに何となく違和感を感じていたのがきっかけ。もちろん、誤解されたくないという意味では言い切るのは大事なんだろうけどちょっとだけ暴力的に感じる。暴力的に感じる理由は資料にも書いてあるけど、実際TDDで書いたユニットテストはテスト資産として流用している。それは副産物的なものかもしれないけれど、TDDの効果としては大きいんだから言い切っちゃうのはどうなんだろうという感じ。

その上で動詞と名詞のテストという観点で考えると案外すっきりするんじゃないのってを思いついた。でも結局のところTDDで書いたユニットテストだけじゃ足りないのは皆わかってるんだから、TDDが何なのかに拘ってないで必要だと思うこと足りないことやればいいんじゃないの?という結論になったのが資料の最後の方。こうして文章にしてみると、動詞と名詞のテストってのは上手いこと言えた気がしたから資料にいれたけど話の流れとしては変だしいれなくてもよかったかも。

まとめると「定義にこだわってないで必要だと思うことをやろう」です。名詞動詞とか「TDDはテストではない」という言葉の暴力性とか自分で言っておいて何だけど結構どうでもいい。「TDDはテストを目的としていないからテスト手法ではない」とか「TDDはいくらかテスト手法的な部分もあるのだからその断言はおかしい」とかつい議論しがちだけど、そんなことよりお互いにTDDだけでは足りない部分があるのはわかってるんだから、そこを考えようよってことです。