第10回 xUnit Test Patterns 読書会に参加してきた

参加してきましたー。


仕事に絡まない人たちとテストについて話をする機会が無いので
今回のような勉強会はやっぱり刺激がありました。


忘れちゃいけないのは
最終的に作らなければならないのは
動くアプリケーション*1であり、
その構成要素であるソースコードが無くては意味がありません。
テストは、そのソースコードが「想定通りに動作している」ことの確認しかできないのです。
動くアプリケーションを作る為には、ソースコードがなくちゃ始まらない。


さらに、テストさえしていれば問題ないわけではありません。
そもそもテスト対象クラスの振る舞い自体が正しくなければ*2
いくらテストクラスを作っても意味ないわけです。


最終的に「仕様」をFixする人がAssertionを定義できれば
「正しいAssertion」を担保し続けられるのですが、
そういう人全員がプログラミング言語なんてものが理解できるわけではありません。
というわけで、「仕様」をプログラミング言語に落とす「デベロッパー」が必要になってきます。
で、デベロッパーは言われたことをそのまま実装すれば良いかというとそういうわけではない。
仕様がロジカルに定義できなかったり、デベロッパーの思い込みがあったりするわけです。

何か「だけ」きちんとやっていれば大丈夫ということはありえない。
言われたことだけ言われたようにこなすだけでは不足してて、
仕様の交渉とか、実装とか、テストとか満遍なくできないと
最終的に出来上がったものが「なんじゃこりゃ」となるわけです。
少人数での開発であればあるほどバランスの取れた人が必要。僕はそういう人になりたい。
そんなことを再実感させてくれる会でした。よかった。


次回xUTP 読書会 & xUTP 読書会読書会(仮称)開催心待ちにしてます。

*1:もっと言うと、それを使って利益を出せること

*2:間違った or あいまいなAssertion