テストコードは“書けるようになりたい”ものではなく“書く”もの

テストコードの話をしていると「いやぁテストコード書けるようになりたいと思っているんですけど、テストコードが書ける気がしないんですよねぇ〜」という流れになるので、そもそもマインドセットの時点で違うのだなぁと。

自分が最初に勤務した会社では“テスト=手で動かして目視確認し、エビデンスとしてスクリーンショットを撮り、それをExcelに貼り付ける”ものだった。テストエンジニアなどもちろんおらず、テストとは新人でもできる簡単なお仕事というのが社内での認識。

もちろんこのような場所なので、コードを変更したら、もう一度“テスト=手で動かして目視確認し、エビデンスとしてスクリーンショットを撮り、それをExcelに貼り付ける”をしなくてはならない。

そんな環境のため、残業しないなどありえない!、という考え方が一般的だった。ほとんどの人の口癖は地獄のミサワのような「つれー昨日実質1時間しか寝てないからつれーわー」とか「ごんめー!俺が寝てないのなんて全然言い訳にならないのに」とかだった。

自分は残業しないで早く家に帰りたい!、と思っていたのでこの人たちのやり方では早く家に帰れないとすぐに判断した。

ではどうすれば良いだろうか?

人の手でテストをしていると時間がかかるのだから、マシンにさせるしかない。マシンにさせるにはテストするコードをマシンに実行させるしかない。テストするコードをマシンに実行させるにはテストコードを書くしかない。

つまり、テストコードに対するマインドセットがそもそも“書けるようになりたい”ものではなく“書く”ものなのだ。なぜなら、書かないと自分の目的(=残業しないで早く家に帰る)が達成できないからだ。

「テストコード書けるようになりたいと思っているんですけど、テストコードが書ける気がしないんですよねぇ〜」ですませられる状態ってことは現状に不満がないんだろう。

現状に不満があれば、“Social change starts with you”のマインドで、現状を打破するためにあらゆる努力を惜しまないはずなのだから。