TDD勉強会
弊社で第一回TDD勉強会を開催した。
id:t-wada師匠に
テスト駆動開発の心得的な話を2時間ほど、
そのあと懇親会を1時間半ほど
やはり懇親会から本番。
勉強会自体は
自分を含め参加者にはすごくよい刺激になったんではないかと思う。
テストの5W1Hの説得力がすごかった。
駆け出しエンジニアが本を読んで、
”こうするといいらしい”というよりも
経験者や、探求していっている人の言葉はすごく力強かった。
よいテスト
A-TRIP
+ Automated 自動化できる
+ Thorough 徹底している
+ Repeatable 何回でも実行可能
+ Independent 独立している
+ Professional プロのコード
なぜテストするの?
この解が参加者で共有できた成果は大きい
内容は以下
教科書的な回答
+ 意図したとおりに動作するか確認
+ 常に意図した動作するか
+ コードを信頼できるか
+ 意図を表現する
実際:自動化されたテストがあると
+ より自信をもって開発できる
+ よりよい設計ができる
+ 心に余裕ができる
テストは書かなければいけないものではない。
ただ、テストがあることで行動(選択肢)の幅とその速度が上がるのかな
テストにかけた時間以上のリターンが必ずあとから戻ってくる。
(実装工数は上昇するが、障害が減ることにより全体的工数が現象する)
この勉強会をきっかけに
テストをすることのメリットを明確に伝えれるようになったんじゃないかと思う。
時間のテスト
講演中に時間のテストの話が何度かでていた。
そういえばRubyには面白いGemがあったなーとふと思い出した。
その名もdelorean!!
http://github.com/bebanjo/delorean
# Time.now => Wed Feb 24 00:34:04 +0100 2010 Delorean.jump 30 # Time.now => Wed Feb 24 00:34:34 +0100 2010
ね、簡単でしょ?
おわりに
今日はよい経験をした。
みんなありがとう。