本連載は、「 エキスパートへの道しるべ(Load to Expert) 」をテーマとして、初級者がエキスパートになるためのヒントを、日本を代表するエキスパートの方々に伺う企画です。
今回お話を伺ったのは、フロントエンドテスト技術のエキスパートとして知られ、TypeScriptやNext.jsに関する書籍も執筆しているTakepepeさん。現場に根ざした実践的な知見と、最新技術への鋭い感度を併せ持つTakepepeさんにに、フロントエンドテストの魅力や全体像、初心者におすすめの学習方法、そしてAI時代のテストのあり方について語っていただきました。
(本インタビューは2025年3月21日に実施されました)

TakepepeさんをTechFeed上でフォローしよう!
自己紹介とフロントエンドテストとの出会い
――まずは簡単に自己紹介をお願いします。
Takepepe: はい、Takepepeと申します。これまでフロントエンド領域を中心にキャリアを積んできまして、最初は株式会社ディー・エヌ・エー(DeNA)で働いていました。その後リクルートの横断組織で、全社的な開発基盤の整備などに携わりました。著書としては、TypeScript、フロントエンドテスト、Next.jsに関する書籍を3冊ほど執筆してきました。
――フロントエンドテストの魅力に惹かれたきっかけは何だったのでしょうか?
Takepepe: あるプロジェクトでテスト戦略の設計を任されたことがきっかけでした。当時、ユニットテストやE2Eテストなど、思いつく限りのテストを全て導入してみたのですが、それが逆にプロジェクトの負担になってしまったんです。その反省から、現場の背景や技術スタック、事業の方向性などを踏まえて最適なテストを取捨選択する必要があると強く感じました。そこからテストという分野に深く興味を持ち、のめり込んでいきました。
フロントエンドテストの全体像
――では、フロントエンドテストの全体像について教えてください。
Takepepe: まず基本となるのが 単体テスト(ユニットテスト) ですね。これは、JavaScriptの関数など小さな単位に対して、特定の入力に対して正しい出力が得られるかを検証するテストです。代表的なフレームワークとしては Jest が挙げられます。
それから リグレッションテスト と呼ばれるものがあります。これは過去に正しく動いていた機能が、コード変更によって壊れていないかを検証するためのものです。 Storybook などを活用すると、UIの状態を視覚的にスナップショットとして保存・比較でき、視覚的なリグレッション検知が可能になります。
さらに大規模なものが E2E(End-to-End)テスト です。ログインから商品購入までのような一連のユーザー操作を自動で実行し、アプリケーション全体が期待通りに動作しているかを確認します。これには Playwright やCypressといったツールがよく使われます。
――初心者が最初に取り組むにはどのテストから始めるのがよいでしょうか?
Takepepe: やはり単体テストですね。 知識も少なくて済みますし、GitHub Actionsなどを使えばCI環境への組み込みも容易です。
テスト戦略の難しさと面白さ
――フロントエンドテストの面白さとはどこにあると思いますか?
Takepepe: 正解がひとつではないところ ですね。プロジェクトの規模、チームのスキル、運用期間、技術選定の背景など、すべての要素がテスト戦略に影響します。だからこそ「このテスト構成がベスト」とは言えず、都度考えて最適解を導き出す必要がある。それが大変でもあり、非常に面白いと感じています。
また、かつて私がテストを過剰に書きすぎてしまったことで、結果的に運用の足かせになってしまった経験もあります。テストは書くだけでなく、その後の運用・保守まで見据えた設計が求められるのです。
エキスパートになるための学び方
――Takepepeさんはどうやってフロントエンドテストを学ばれてきたのですか?
Takepepe: まずは手を動かす こと。これが何より重要です。新しい技術は特に、読んだだけでは本質が掴めません。現場で試しながら身につけるのがいちばん効果的だと思います。
そして、その中で得た知見は アウトプットする ことが大切です。私はブログや登壇を通じて情報発信をしてきましたが、書くことで自分の理解が深まりますし、それがきっかけで出版のチャンスをいただいたこともありました。
――最近ではAIを活用した開発が注目されていますが、テスト領域との関係についてどう見ていますか?
Takepepe: AIはテストコード生成との相性が非常に良い分野だと思っています。 特に、TypeScriptの型定義を元にしたテストケースの提案や、既存のテストコードに基づく変更点の特定など、エージェント系のAIが得意とする作業が多いです。
たとえば、Claude Code や Cursor のような AI Agent に"この機能が追加されたら、どのテストを更新すべきか"と聞いてみると、かなり適切な回答が返ってきます。初心者こそ、まずAIと一緒にテストコードを書いてみるのが良いアプローチだと思います。

情報収集と注目トピック
――情報収集はどのように行っているのでしょうか?
Takepepe: X(旧Twitter)を眺めることが多いですね。あとは、週1程度で海外のニュースレターを読んだりもしますが、そこまで熱心ではないかもしれません。
最近特に注目しているのは、 Storybookのサーバーコンポーネント対応 です。Next.jsのApp Routerとサーバーコンポーネントを使うと、従来のStorybookでは表示できないことが多く、その解消に向けた取り組みが進んでいるのが非常に面白いです。
また、テストランナーの選択肢として、従来のJestだけでなく、VitestやBunのような高速実行系が出てきており、"速さが正義"という考え方が強くなってきているのも注目ポイントですね。
TakepepeさんをTechFeed上でフォローしよう!
初心者へのメッセージ
――最後に、これからフロントエンドテストを学びたいという読者にメッセージをお願いします。
Takepepe: これからの開発現場では、テストコードを書く力はますます重要になる と思います。特に、AIと協調して開発していく未来において、テストの質がコード生成の質にも影響するという点は見逃せません。
ドキュメントの整備やプロンプト設計、そしてテスト。これら3つの柱を意識して、まずは単体テストから始めてみてください。手を動かしながら、ぜひ自分なりのテスト戦略を模索していってほしいですね。
参考リンク集
- Jest - JavaScript Testing Framework
- Playwright - Fast and reliable end-to-end testing
- Cypress - JavaScript End to End Testing Framework
- Vitest - A Vite-native unit test framework
- Storybook - UI component explorer for frontend developers
- Bun - Fast all-in-one JavaScript runtime
- Claude Code
- Cursor
ソフトウェアテスト全般の最先端情報を知りたい方は以下のTechFeedチャンネルをフォローしよう!