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
14
システムリプレイスのタイミングで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.2k
Other Decks in Technology
See All in Technology
組織を巻き込む大規模プラットフォーム移行戦略 〜50+サービスのマルチリージョン・マルチプロダクト化で学んだステークホルダー協働の実践〜 / Platform migration strategy engaging all stakeholders
toshi0607
2
440
メディアカンパニー LINE NEWS QA採用
lycorptech_jp
PRO
0
200
中間管理職をなくしたら何が起きたか 〜AI時代の組織変革と3つの失敗〜
staka121
PRO
2
260
5000万ダウンロードを超える漫画サービスを支えるログ基盤の設計開発の全て
ldf_tech
0
390
開発用LLMインフラをVSCode内で完結させる
ueponx
1
180
カスタムUIを作る覚悟 / The determination to create a custom UI
matsuji
2
1.4k
LINE API Essential Updates for 2025
linedevth
0
110
品質保証に注目したAIプロダクト開発
sansantech
PRO
1
140
AIで 浮いた時間で 何をする? #プロヒス2025
konifar
25
11k
空間再現力の鍵、APMPを読み解く
ridwy
1
100
今日から始めるAWSセキュリティ対策 3ステップでわかる実践ガイド
yoshidatakeshi1994
0
180
ZennとCloud Runの歩み - プロダクト開発に全集中できる相棒になるまで
wadayusuke
1
170
Featured
See All Featured
Writing Fast Ruby
sferik
628
62k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Practical Orchestrator
shlominoach
190
11k
How STYLIGHT went responsive
nonsquared
100
5.8k
Agile that works and the tools we love
rasmusluckow
330
21k
The Straight Up "How To Draw Better" Workshop
denniskardys
237
140k
Designing for humans not robots
tammielis
254
25k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
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モードなどの機能が豊富で、テストコードを書くことに専念できた。 ・
ご清聴ありがとうございまし た🙏