Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AIエージェントと二人三脚なら、詳しくない人でもE2Eテストを爆速移植できる!
Search
Arata Nakafushiki
November 13, 2025
100
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AIエージェントと二人三脚なら、詳しくない人でもE2Eテストを爆速移植できる!
https://findy-inc.connpass.com/event/369691/
で発表した内容です。
Arata Nakafushiki
November 13, 2025
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
550
Abbi's Birthday
coloredviolet
4
10k
Building Adaptive Systems
keathley
44
3.3k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
The Invisible Side of Design
smashingmag
301
52k
Leo the Paperboy
mayatellez
10
2.4k
Everyday Curiosity
cassininazir
0
360
Prompt Engineering for Job Search
mfonobong
0
520
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
Transcript
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. AIエージェントと二人三脚なら、 詳しくない人でもE2Eテストを 爆速移植できる! 株式会社ヌーラボ 中伏木 新
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. 中伏木 新 京都から来ました。 2017年10月にNulabに入社。 2022年12月退職後、別会社でCQRS+ESを採用したマイクロ サービスの設計・開発・運用、スクラムマスターを経験。 2024年9月から再びNulab。 Backlogの開発・運用がメインですが、なぜか色々やってます。 Playwrightとかはあまり詳しくないです。 株式会社ヌーラボ Backlogユニット
Copyright Nulab Inc. All Rights Reserved.
Copyright Nulab Inc. All Rights Reserved. E2Eテストの移植 • 今回移植したのはスモークテスト •
スモークテストとは? ◦ ISTQBから引用すると「定義・計画した全テストケースのサブセット。プログラムの必須機能が 正常に動作することを確認するのが目的で、コンポーネントやシステムの主要機能を網羅し、細 かな点は無視する。」 ◦ 主要機能が正常に動いてるか確認する • Backlogではデプロイ後、以下の機能の正常パスがちゃんと動作しているかをチェック ◦ 課題の登録・更新・削除 ◦ Wikiページの登録・更新・削除 ◦ ファイルのアップロード・ダウンロード・移動・削除 ◦ スペース設定で以下の情報が表示されているか ▪ スペース設定画面 ▪ ユーザー一覧 ▪ チーム一覧
Copyright Nulab Inc. All Rights Reserved. 動機 • ある日他のチームのふりかえりを見学しているときに スモークテスト、
Playwrightに置き 換えたいよねぇ
Copyright Nulab Inc. All Rights Reserved. ちょうどgemini cliが社内で使用できる ようになったから、そこまでPlaywright の知識なくても、
移植できるんじゃないか?
Copyright Nulab Inc. All Rights Reserved. ノリ です
Copyright Nulab Inc. All Rights Reserved. • スモークテスト(Selenium+Java)を一時期Playwrightの実装に置き換えようという 動きが過去にあったが頓挫した •
社内でBacklogフロントエンドの開発では、Playwrightによるテストがすでにデファクトに なっているので、知識共有はしやすい状況 • 自分自身がgemini cliなどAIエージェントに慣れるため、Playwrightに慣れるにも ちょうどいい題材なんじゃないだろうか もうちょっとちゃんとした動機 空いてる時間に、トライしてみよう
Copyright Nulab Inc. All Rights Reserved. • 目標として現在のスモークテストと同じ操作が動くところを目指す • 機能毎に移植して、動くか確認する(フィードバックループを回す)
• 以上の前提でgemini cliに移植計画を立ててもらって、レビューしてブラッシュアップする ◦ 移植計画はMarkdownファイルに落として、都度参照・更新するように指示する • 作業場所は既存のスモークテストの実装の下にディレクトリを作成して、そこに移植した コードをおく ◦ 同じところで作業した方がAIもやりやすかろう • 移植したものがあらかたdevelop環境で動くようになってから、新規のgitリポジトリで管 理するようにした どうやって進めよう? 👉ざっくりした方針を決めて、目標に向かって進む
Copyright Nulab Inc. All Rights Reserved. • まずはgemini cliで移植を開始→方針通りに進めていって、特に問題なく完了🎊 ◦
コードレビューは公式ドキュメントと睨めっこしつつ、gemini cliに聞きつつ進める • 何度か動かしてみて、Flakyさが残るテストがあったのでここの対応を行っていく • コード情報だけだと修正はあまりうまくいかない ◦ 修正を行ったり来たりする…… ◦ エラー情報と該当箇所のhtmlをinputとして与える とまあなんとか修正してくれる ◦ けどめんどくさいな…… さあ、進めよう 「これが最後の修正です」 「これが最後の修正です」 「これが最後の修正です」 「これが最後の修正です」
Copyright Nulab Inc. All Rights Reserved. • Flakyなテストに対してPlaywright mcp serverでテストと同じ操作させて、テストの修正に
フィードバックができるのでは?という仮説 ◦ やってみた結果、結構いい感じに直してくれる ◦ mcpで操作途中にいきなり修正に戻ったりするので、止めて元に戻したりする • クロスブラウザ対応もやってみたいなと思って、各種ブラウザ用のmcp serverを立てて ブラウザごとのフィードバックもやってみる ◦ こちらはそもそもFirefox, Webkitの安定性がイマイチだったので、スモークテストの目的から 今回は一旦諦めた • 新規のスモークテスト追加もできるんじゃなかろうか?という仮説 ◦ gemini cliにプロジェクトの作成・削除の操作をmcp経由でしてもらい、それをコードに落とす ◦ 問題なくプロジェクトの作成・削除が追加できた Playwright mcp serverを使ってみる
Copyright Nulab Inc. All Rights Reserved. • コンテナイメージ作成するためにDockerfileを生成してもらったり • サイズの小さいイメージを作るために、どのイメージを元にすればいいか相談したり
• AWS ECRのためにTerraformの雛形作ってもらったり • イメージビルドとECRへのPushするJenkinsfileを書いてもらったり • 人の代わりにgemini cliとペアプロをやっている感覚で進めていた • gemini cliでうまくフィードバック回せないところは、人がやる ◦ Jenkinsで組まれたCI/CDパイプライン周りは、コンテキストがgemini cliにないかつ 伝えるのも難しいので人とやる方が早い スモークテスト開発だけでなく、色々活用する
Copyright Nulab Inc. All Rights Reserved. どれぐらいかかったか? 7/7 着手 7/10
dev環境で動作する 以降断続的に テストのflakyさ解消や 新規スモークテスト追加 を行う
Copyright Nulab Inc. All Rights Reserved. • 移植自体はほんの数日、ブラッシュアップは2、3日ぐらいで完了したが…… • CI/CDパイプラインへの展開は周知など準備が必要かつ、機能リリースを止めるわけにも
いかずタイミングを見計らっていたら、最終的に10月ぐらいまでかかった • CI/CDパイプラインに投入して、無事に稼働 どれくらいかかった? 元気に動いてます🎉
Copyright Nulab Inc. All Rights Reserved. • gemini cliにお任せするというより、ペア作業をやっているつもりで進めていた •
意外とプロンプトも凝ったものでなく、必要なコンテキスト渡すときも人への指示と あまり変わらなず、個人としてはあまり苦労なく目標は達成できた • とはいえ詳しくない分野だと判断も難しいと感じる面もあり、己の鍛錬が必要 • あれこれやってるうちにPlaywright1.56からPlaywright test agentsが導入された ◦ planner, generator, healer • Playwright test agentsの内容みてると、今回似たことやっているので考え方の方向性は どこもあまり変わらないなという印象 • 今回はスモークテストなので、複雑なE2Eテストだとどうなるか試してみたい • chrome-devtool-mcpでパフォーマンス情報やネットワークの情報などが取れるので、テス トの修正に必要な情報は取りやすくなるかも 感想と今後の展望