はじめに
記事を見ていただいて、ありがとうございます!
Webエンジニアをしているsannoと申します。
皆さんはテストコードを書いていますか?
私は今でこそテストコードを書いていますが、エンジニアになって初めからテストコードを書いている訳ではありませんでした。
テストコードがないプロダクトで機能追加や修正、はたまた言語のバージョンアップといった全体に影響することまでやっていて、よくそれでやっていたなと思います。
その頃はテストコードの存在すら知らず、それが当たり前と考えていたのですから無知は恐ろしいですね。
そんなテストコードの存在すら知らなかった私が、テストコードに出会ったのは転職をきっかけにしてでした。
テストコードがない世界からテストコードがある世界にきて、開発している時の安心感が段違いでした。
そんなテストコードがある世界にくることができた私でしたが、悲しいかな、テストコードは何を書くのかどう書くのかといった知識がまったくありませんでした。
そんな時に出会ったのが、今回紹介したい「初めての自動テスト」です。
この書籍はテストピラミッドの考え方を用いて、どのように自動テスト(テストコード)を導入するか設計するかということを解説しています。
この書籍を読むことで自動テスト(テストコード)について、考え方の骨格となるような知識を得られたと思っています。
自動テスト(テストコード)についてどのように考えたら良いのか、どのように設計したら良いのか迷っていた時に考え方の道筋を示してくれた書籍でした。
逆に言うと、自動テスト(テストコード)について具体的な書き方やテクニックを得たいと考えている方には物足りなく感じるかもしれません。
もし、自動テスト(テストコード)に初めて出会い、自動テスト(テストコード)の考え方に迷っているとしたらこの書籍は本当におすすめできる一冊です。
すぐに読んでみたいと思った方は、この記事は閉じてさっそく手に取ってみてください。
もっと書籍の魅力を知ってから手に取ってみたいと考えた方は、良ければこの記事の続きを見ていってください。
書籍をおすすめしたい人
この書籍は自動テスト(テストコード)について、テストピラミッドの考え方を用いて基本から解説しています。
E2Eテスト、統合テスト、ユニットテストの基本的な考え方から、モック、TDDといった少し発展的なものまで、自動テスト(テストコード)の基礎を抑えられるような内容になっていると思います。
ですので、一から自動テスト(テストコード)について知りたいという方には最適な一冊だと思います。
また、書籍の始まりでは自動テスト(テストコード)の導入でE2Eテストを採用したが、それは失敗だったという話から始まります。
では、どうすれば良かったのかという話で、テストピラミッドが登場して話が進んでいきます。
もしかしたら同じような状況で悩んでいて、自動テスト(テストコード)のリファクタリングに迫られている方がいるかもしれません。
そんな方にも、この書籍は参考になると思います。
自動テスト(テストコード)について、どのように考え方を変えてどのようにリファクタリングをして軌道修正してゆくのか、この書籍が道標になってくれると思います。
「初めての自動テスト」を読んだ感想
繰り返しになりますが、この書籍は自動テスト(テストコード)の基礎的な考え方を得られる書籍だと思っています。
それ故、自動テスト(テストコード)のイロハを知らなかった私にはおもいきり刺さりました。
当時の私は、自動テスト(テストコード)にはE2Eテストとユニットテストがある、というぐらいの知識しかありませんでした。
(書籍の中ではE2Eテスト、統合テスト、ユニットテストの3つのテストが登場しますが、当時の私は統合テストについては知りませんでした。)
もしどこからか以下のような囁きを聞いてしまったら、貧弱な知識では完全に同意してしまったと思います。
「E2Eテストはend-to-endで必要な経路を全部たどって確認しているわけだから、わざわざ小さい単位のユニットテストはいらないのでは?」
ですが、この書籍を読んだ後であれば明確にNOと言えます。
テストピラミッドは上からたどるのではなく、下からたどるべきだからです。
壊れやすく実行が遅いE2Eテストよりも、壊れにくく実行が早いユニットテストで多くのテストをカバーした方が良いという考え方ですね。
じゃあ、E2Eテストはなんのためにあるのだとか、統合テストの存在はどうしたのだとか色々な疑問が湧いてくると思いますが、詳細はぜひこの書籍を手に取って確かめてみてください。
おわりに
この書籍は自動テスト(テストコード)の基礎を解説しているので、プログラマー、QA、ビジネスサイド、どんな職域の方にもおすすめできる一冊です。
基礎は言語やフレームワークが変わったとしても、変わらずに使える知識です。
この書籍で解説している自動テスト(テストコード)の考え方も、例外ではありません。
自動テスト(テストコード)の基礎を手に入れたい方は、ぜひこの書籍を手に取ってみてください。
この記事が書籍を手に取るきっかけになれたら幸いです。
ここまで記事を見ていただいて、ありがとうございました!!
コメント