品質が求められる部分のテストはエキサイティングだ

どうも、テストを書きたくない人という認識がされているのだけど、ぼくが書きたくないのは退屈で割にあわないテストで、品質が求められる部分のテストを書くのは、楽しいし、かなり好きです。


それは、たとえば品質について理解してないお客さんのプロダクトだとしても、やっぱり間違ってちゃいけない部分は、せかされても待たせて時間とってテスト書くわけです。金額計算とか。
そのかわり、商品一覧に削除済み商品がでちゃったとか、そういうところは見つかったら直せばいいかーとかで、機能見せれる早さ優先でやったりするわけです。品質対策にかかるコストのほとんどはバグの発見のためのコストで、見つかったバグを直すのは時間かからないし。そもそもそういうのは「言ってなかったけどそこは対応するメーカーがない商品も削除扱いだから」みたいなことをあとから言われることが多いわけで。


でも、まあ、結局1年間は見つかったバグを直しますよっていう契約にはなるんで、なるべくテストをかかないためには仕事のしかたも一応ちゃんと考えないといけない。方針としては、めんどくさくないバグは放置で、いかにめんどくさいバグを残さないか、ですね。
ここで、一番大事なのは、めんどくさいバグが入りそうな機能は、仕様の時点で却下することです。たとえばフラグ4つくらい使って表示切替するような画面は、バグが入りそうな割にあまり使いやすくもなかったりして、それなら画面わけちゃえばいいじゃん、とか。


そうすると、めんどくさいバグが出そうなところは、大事なところということになるので、ちゃんとテストも書くのも楽しいということになります。
そういう部分のテストは、「わー、テストデータ3件で10パターンのテストに対応したった!」とか「このテスト、カバレッジ100%にするのに最低限のコードじゃね?」とかだんだん楽しくなってきて、「うおー、こんなコーナーケースみつけた、おれ天才wwwwwんで、やっぱバグってるwwwwおれダメwwww」とかテンションあがったりもするわけです。


うん、テストはエキサイティング!