フロントエンド開発のためのテスト入門 - 刊行にあたり -
執筆していた『フロントエンド開発のためのテスト入門 - 今からでも知っておきたい自動テスト戦略の必須知識』が、2023年4月24日、翔泳社様より刊行されました。
書籍について
本書は、Webアプリケーション開発に携わるフロントエンドエンジニアを対象に「テスト」の基本知識と具体的な実践手法を解説した書籍です。テストコードの書き方や、目的に応じたテスト手法・ツールの使い分け方を解説します。「UIコンポーネントテスト」や「ビジュアルリグレッションテスト」など、フロントエンドならではの具体的なテスト課題に重点を置いており、基本から実践まで必要な知識を体系的に身につけることができます。次のような開発者の方々に、特におすすめできる内容となっています。
テストの必要性は理解しているが着手できていない
それなりに開発経験はあるがテストを書いたことがない
現在取り組んでいるテスト手法が最適かわからない
執筆にあたり
Zenn に投稿していた記事が編集者の大嶋さんの目にとまり、お声がけいただいたことが執筆のはじまりでした。「技術書典のオフラインイベントも盛り上がってきたし、昔みたいに技術書を書きたいな…書くならフロントエンドテストがテーマかな?」と思っていた矢先のことだったので、二つ返事で承諾したことを覚えています。
4年前に TypeScript 本を書いた時のことをすっかり忘れていましたが、やはり執筆は大変ですね w ただ、書籍というアウトプットは他のどんなものとも異なるものなので、こうして刊行日を迎えられたことを嬉しく思います。
執筆にあたり、多くの先生方にレビューをいただきました。和田 卓人 様、古川 陽介 様、倉見 洋輔 様、大曲 耕平 様、櫛引 実秀 様、レビューを通して皆様からご指導を頂いたことは、このうえない経験となりました。この場をかりて改めて御礼申し上げます。
フロントエンドの自動テストについて
フロントエンドチームで「コードはこのように書いていこう!」と現場で指揮を取る立場になってからは、次の理由で、フロントエンドであっても自動テストコードは必須としています。
リファクタリング・依存ライブラリアップデート時に不可欠
より良いコードになり、意思のある設計となる
チームの活きたドキュメントとなる
筆者は昔、テストコードをよく書いていた方ではありませんでした。CI に待たされる時間や、書いているテストコードの価値が腑に落ちていなかったため、煩わしいものとさえ考えていた時期もありました。今振り返ってみると、当時は必要性をしっかり認識することもなく、ただ何となくタスクとしてこなしていたのだと、改めて思います。
実際に開発現場では「取るに足らないテスト」というものが多く書かれていることがあります。テストコードに慣れてくると、書くことで達成感を得られるため、書くこと自体が目的になったり、カバレッジ向上が目的になることがあります。フロントエンドのテスト手法は多岐にわたるため、不要な重複が生まれることも珍しくありません。
ですから、テストコードというのは「何を目的として、何のために書くのか?」を詳らかにすることが何よりも大切です。テストコードコミットに慣れた後は「どのような自動テストを残すことが、自分たちのプロジェクトにとって最適なのか?」という観点で振り返ってみて下さい。書籍で紹介しているテスト手法全てが、誰にも必要なものであるとは限りません。いくつかの選択肢を知るという意味で、良いサンプルコードと解説を用意できたのではと自負しています。
各テスト手法の詳細を知っているか否かで、多様な戦略が検討できることに気づくでしょう。書籍で各テスト手法の詳細にこだわっているのは、このような背景にもとづきます。
イベントの告知
書籍の刊行を記念して、いくつかのイベントでご招待をいただいています。書籍では紹介しきれなかった話や、現場ならではの対談を予定しています。ご都合の合う方はぜひご参加ください。
サンプルコードは public リポジトリとして公開していますので、書籍購入を検討されている方はこちらも検討材料としてぜひ見ていただけると嬉しいです。https://github.com/frontend-testing-book