# 研修13日目(2020/5/27) ## 今日の学習内容 今日はテストコードの書き方を学び、テストコードを意識することでシステム開発においてどんな恩恵を受けることができるのかについて学習した。 これまでテストコードの存在自体はなんとなく知っていたが、自分で書いたことはなくテストを書くことによる恩恵など今まで意識したことはなかった。 今まで研修で課題を解く時は、既にテストが用意されており、自分達はテストという迷路を進むようにプログラムを書いてきた。 しかしテストを自分で書くのはその迷路を自ら作るような感覚で、今までと違う頭の使い方が必要だなと今日やってみて感じた。それぞれ数学の問題を解くのと問題を作るのの関係に似てるのではないかと思っている。 学習する中で印象的であったのは、沢口さんが「テストコードを書くことは仕様書を書くみたいなもの」とお話しされていたことである。自分のテストコードを他の人が見て、システムの仕様を把握してもらえるなら良いし、その逆、つまり自分がテストコードを読むことで仕様を把握できるようにもしなければならない、と理解した。また、境界値となるようなケースを想定してテストコードを用意しておくことで、要件を満たしていないシステムが出来てしまう可能性を減らすことができる、ということも今日学んだ。 テストコードを書くことによるシステムの品質の担保については、自分達が関わる自社サービスでは自分達の身を守るという観点で特に大切であると感じた。テストコードを書く習慣があるかどうかで恐らくシステムの機能の追加や変更が行われる際の工数は変わってくるし、さらに長期の運用に耐えうる品質の高いコードをテストコードを書く習慣により残せるならば、テストコードを書く手間はきっと軽いものだと思う。 そんなふうに色々分かったので、難しいけどテストについて理解を深めたいなと思います。