TDD challengeに参加してテストを書いてきた #mixi_TDD
はじめに
10/24(土)にミクシィさんの主催で行われたTDD challenge #5 onlineに参加したので、その内容と感想などについて書いていこうと思います。
このイベントはテスト駆動開発/設計についての講義とペアプログラミングでの実習がメインとなっているイベントでした。
参加した経緯
PHPカンファレンスなどのイベントに参加していると、テストという言葉をよく耳にしています。が、しかし、実際にはテストのテの字もわからない状態で、自分もテストをかけるようにはなっておきたいなと普段から感じていました。
そんななか、ちょうどよくイベント開催の通知が来たので参加することにしました。
演習
TDD challengeで出される課題はようは競技プログラミングのようなもので、決められた要件に見合ったコードを書き、そのコードにいくつかの特定の値を渡して、その値が実装したコード上で要件に見合った動作をしているかどうかを試していくというものでした。
実装する→テストを書く→テストが失敗する→実装とテストを見直す→テストが通る→うれしい
こんな感じの作業を繰り返していきました。
ちなみに、言語はRubyを用いて@anekoooくんとペアプロをしました。自分はRubyを触ったことがほとんどなかったのですが、@anekoooくんがいろいろとやってくれて結構助かりました。
感想
- これまでテストを書くという行動について「難しそう」、「しんどそう」という印象がとても強かったが、そうでもなかった
- テストを書くことによって、実装の矛盾点に気が付けるようになった
- テストコード自体が要件の仕様書になってくれるのでコードを見ながら要件を考えたりしなくてもよくなった
これからについて
テストについてしっかり学ぶことができたので、これからは自分でテストコードをかけるようになれたらいいと思っています。
また、今回はRubyで演習を行いましたが、PHPでもPHPUnitなどを用いたテストコードを書けるようになりたいと思いました。