読者です 読者をやめる 読者になる 読者になる

ボクココ

サービス開発を成功させるまでの歩み

テストコードの書きすぎが変化を嫌うようになる

テストコードを書くエンジニアはクール。そんな風潮が出回っている。

f:id:cevid_cpp:20150810222304p:plain

テストコードを書くことは非常に重要で、同意できる。自分も単体テストレベルのテストコードはテストが書きやすいし変化しにくい箇所なので要所要所で書くようにしている。

緑で埋め尽くされたテスト結果は何度見ても気持ちの良いものだ。テストコードによってコーディングに楽しさが加わる。テストは多ければ多いほどいい。1000個以上テストケースあって全部通ってるシステムはイケてるだろ?

本当にそうか?

テストを書きすぎる、特によりView層に近い部分のテストコードをたくさん書くと、画面や処理の変更のたびにそれを書き直す必要が出てくる。

これが多少の変更だったらまだいいんだけども、ガラッと作りを変えた時にテストコードもそれに合わせて何倍も時間をかけて対応しなければならない。

まさにこの問題は品質とスピードのトレードオフなんだけども、テストを書きすぎてしまった場合に大規模な変更をしたくなくなるような開発環境にしてしまうと、それはエンジニアとしてダメなところ。まさに自分がコントローラ層のコードを書きすぎて泣く羽目になった経験からそう感じた。本当に優秀なエンジニアはコントローラ層の変更にも耐えうるソースコードを書いているのかなぁ。

テストは自分以外でも誰かにお願いできる部分であるので、全てをコードでカバーしようと思うと逆に非効率な場合もある。

程よく大事なところはしっかりテストを書く、ということが大事なんじゃないかなと思う。