Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
システムリプレイスのタイミングでPlaywrightを入れた話
Search
福嶋淳一
June 18, 2025
Technology
0
9
システムリプレイスのタイミングでPlaywrightを入れた話
Playwright Lightnings #1での発表資料
https://playwrightnings.connpass.com/event/340591/
構成など参考にしていただけると🙏
福嶋淳一
June 18, 2025
Tweet
Share
More Decks by 福嶋淳一
See All by 福嶋淳一
なぜHono×GraphQLを選んだのか?
junichi_fukushima
1
2.1k
Other Decks in Technology
See All in Technology
OTel 公式ドキュメント翻訳 PJ から始めるコミュニティ活動/Community activities starting with the OTel official document translation project
msksgm
0
270
Building GoReleaser - from shell script to paid product
caarlos0
0
280
株式会社島津製作所_研究開発(集団協業と知的生産)の現場を支える、OSS知識基盤システムの導入
akahane92
1
1.3k
自分がLinc’wellで提供しているプロダクトを理解するためにやったこと
murabayashi
1
160
DATA+AI SummitとSnowflake Summit: ユーザから見た共通点と相違点 / DATA+AI Summit and Snowflake Summit
nttcom
0
250
M365アカウント侵害時の初動対応
lhazy
7
4.9k
機械学習を「社会実装」するということ 2025年夏版 / Social Implementation of Machine Learning July 2025 Version
moepy_stats
1
860
claude codeでPrompt Engineering
iori0311
0
490
SAE J1939シミュレーション環境構築
daikiokazaki
1
180
Recoil脱却の現状と挑戦
kirik
3
410
2025/07/22_家族アルバム みてねのCRE における生成AI活用事例
masartz
2
110
今日からあなたもGeminiを好きになる
subaruhello
1
610
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Facilitating Awesome Meetings
lara
54
6.5k
Scaling GitHub
holman
461
140k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
For a Future-Friendly Web
brad_frost
179
9.8k
What's in a price? How to price your products and services
michaelherold
246
12k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Music & Morning Musume
bryan
46
6.7k
Designing for Performance
lara
610
69k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Transcript
株式会社Schoo / 基盤開発ユニット / バックエンドエンジニア(PL) 福嶋 淳一 システムリプレイス × Playwright導入のリアル
Playwright Lightnings #1🎉 2025年6月18日
今日のテーマ
弊社のPlaywright導入初期 の取り組みを公開
構成や取り組みが参考にな れば嬉しいです
CONTENTS 01. 自己紹介 02. 今取り組んでいるプロジェクト概要 / テスト自動 化の戦略 03. 04.
課題・今後の対応 Agenda Playwright導入の方針と構成
自己紹介
自己紹介 ・氏名 福嶋 淳一(社内では、ふくさんと呼ばれてます) ・所属 株式会社Schoo 基盤開発ユニット ・職種 バックエンドエンジニア プロジェクトでの役割は、プロジェクトリーダー
・Playwright歴 3ヶ月w(色々勉強中の毎日) ・趣味 海外旅行、グルメ、ワイン、コーヒーなどなど よろしくお願いします!
システムリプレイスに伴うテ スト自動化の戦略 Playwrightの採用理由
今弊社では、システムリプレイスに取り組んでいます システム老朽化 メンテナンスが困難であること サイト応答性の悪化 →リプレイスを行い、「次世代プラットフォームの 構築」を目指す →ページ単位の段階的リリース方式を採用 ×
テスト自動化の戦略 テストピラミッドの原則に則り結合 テストもしっかり自動化
なぜPlaywrightなのか ・開発継続性の観点 開発元(マイクロソフト)から考えた時に開発継続性が高いと考えた ・実行速度の観点 他のテストツールと比較してより実行速度が速い傾向がありそう ・情報が見つけやすい ・テストが書きやすい 例えば、自動待機機能があり、テストコードの記述に開発者が専念できる!(別のテ スト自動化ツール使った事がある身としてはこれが一番感動。。。!) ・機能が豊富!
Playwright導入方針と構成
Playwright導入にあたって悩んだこと ・どういった構成にしようか ・どこまでテストをするべきなのか ・テストデータの準備をどうしようか。 ・会員種別のテストをどのようにやろうか
Playwright導入時の大方針 ① ビジネス的に優先度の高いユーザーのテストを拡充する 法人向け会員や、個人で有料課金頂いている会員向けのテストの比重を重くする。(それ 以外の会員種別のテストを実施しないわけではない。)
Playwright導入時の大方針 ② サービスの根幹部分 / ユーザー体験を大きく損なうものテストを重点的に実施 例) ・ページごとに既存システム・新規システムが切り替わるのでそこでの認証・認可が適切 に機能するか ・授業が表示されて、対象のページに遷移できるかなど。
Playwright導入時の大方針 ③ データ作成の手順が煩雑だとしても、テストデータの作成も自動化を行う テストデータ作成の自動化を行い「社内スタッフが授業を登録し、それをお客様が閲覧す る」というように、実際の利用シーンに限りなく近い形でテストを行う。
構成
ディレクトリ構成
GitHub Actionsの設定 複数ブラウザ/複数会員種別のテ ストをすることで、負荷が高まりテ ストが落ちる🥹 GHA上で複数台実行を行う Playwrightはテストを並列実行し てくれる
課題・今後の対応
課題 ・メンテナンス工数という観点で、Playwrightに時間を割ける開発者が少ない。 → 運用工数を下げる取り組みを行う ・何をどこまでテストをするのかという点についてはまだ考える余地がありそう バックエンド層の結合テストは強化できているが、フロントエンド層の結合テストが弱い状 況。E2Eの責務を一部フロントエンド層の結合テストに移管する必要があるかも。 → テスト戦略の見直し(結合テスト /
E2Eテストの棲み分けを考えるなど)
運用工数を下げるための取り組み〜Playwright MCPの活用〜 GitHub Copilot × PlaywrightMCPの活用 POMの実装もできてて、比較的 メンテナンスの高いコードを自 動生成し、テスト実行の成功ま で完了していることを確認
運用工数を下げるための取り組み〜Playwright MCPの活用〜
運用工数を下げるための取り組み〜Playwright MCPの活用〜 テストピラミッドの原則に則り結合 テストもしっかり自動化
アクセシビリティテストを入れていきたい! まずは、WCAG基準のレベルAの問題をブロックしていく!
アクセシビリティテストを入れていきたい!
まとめ(所感) ・初期導入コストは結構かかったものの、結合テスト + Playwrightの組み合わせで早期 バグ発見に繋がったケースやもあり、思ったより早い段階で効果を実感できた。 ・複数間ブラウザテスト、複数会員種別のテストの自動化・データ作成自動化などにより 手動テスト工数削減には少なからず繋がっている。 ・自動待機機能やUIモードなどの機能が豊富で、テストコードを書くことに専念できた。 ・
ご清聴ありがとうございまし た🙏