伊藤さんのスライドの中で「テストの品質」についてこう書かれていた。
##テストの役割
- 安全ネットとしての役割
- 実装の正しさを証明する役割
- コードの品質を向上させる役割
- 省力化ツールとしての役割
- バグを叩き潰す役割
- 設計を支援する役割
- 説明書としての役割
その中でも実際にテストを書いていて、特に実感したものを所感とともに挙げていく。
##その1 バグを叩き潰す役割
バグが起きたときは修正する前にテストを書く。
修正しちゃんと実装されたらこう動くというテストを書いて落としておく
→バグ改修
→実装が正しければテストがグリーンになる
上記の手順でバグ改修を行うことで、目視だけではなく実装として正しく修正されたことの証明にもなる。
(たまに書いたテスト自体が間違っていた場合もある…)
##その2 説明書としての役割
テストは仕様書にもなる。
過去の自分や他の人が書いたコードを読み解くとき、すでに走っているプロジェクトに途中で入って各機能を理解しなくてはいけないときなどにテストを読むことでだいたいを理解するのに役立った。
###おわりに
まだ独学で開発していた頃はテストを書いていなかったため、テストがあることでの安心感など分からなかったが、今となってはテストなしではいられなくなった。「テストなしでバグ改修とか無理!」とまでになった。
##参考