Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Bakuraku E2E Scenario Test System Architecture ...

Avatar for teyamagu teyamagu PRO
November 06, 2025

Bakuraku E2E Scenario Test System Architecture #bakuraku_qa_study

2025/11/06 開催の「自動テストのアーキテクチャとその理由( https://layerx.connpass.com/event/370228/ )」 #bakuraku_qa_studyでの「バクラクE2Eシナリオテストの
アーキテクチャとその理由」の講演資料です。

Avatar for teyamagu

teyamagu PRO

November 06, 2025
Tweet

More Decks by teyamagu

Other Decks in Programming

Transcript

  1. 2 © LayerX Inc. ⾃⼰紹介:Teppei YAMAGUCHI • 株式会社 LayerX 所属

    兼 個⼈事業主 ◦ テスター、コーチ、コンサルタント、プログラマー ◦ LayerX では、プロダクトのテスターをおこないつつ、事業部全体の ⾃動テスト環境や品質可視化の構築‧整備も担当 • 出版 ◦ 『ソフトウェアテストをカイゼンする 50 のアイデア』 ◦ 『Fearless Change』 • コミュニティワーク ◦ Regional Scrum Gathering Tokyo 実⾏委員 ◦ SQiP 研究会 分科会 4「アジャイルと品質」アドバイザー ◦ テスト⾃動化研究会 お世話係 ⾃⼰紹介
  2. 4 © LayerX Inc. LayerXは「すべての経済活動を、デジタル化する。」をミッションに、                         AI SaaSとAI DXの事業を展開しています。 LayerXの事業紹介 バクラク事業

    企業活動のインフラとなる業務を 効率化するクラウドサービス Fintech事業 ソフトウェアを駆使したアセットマネジ メント‧証券事業を合弁会社にて展開 Ai Workforce事業 社内のナレッジやノウハウをデータ ベース化するAIプラットフォーム AI SaaSドメイン AI DXドメイン
  3. © LayerX Inc. 5 テストレベル紹介 WEB SaaSのE2Eシナリオテストを対象とした⾃動テストシステム  Backend   Webapp Component Unit

    Test w/ Jest + testing-library or Vitest+testing-library Page UI Test w/ Playwright + MSW Component UI Test w/ Storybook (+ MSW) E2E Scenario Test w/ Autify or Playwright Unit Test w/ Go Testing, Jest, Vitest API Test w/ runn Unit Test w/ Jest, Vitest 少量 / 遅い / モックが少ない / ケースあたりの確認範囲が広い 参考) https://tech.layerx.co.jp/entry/2024/11/11/182102
  4. © LayerX Inc. 7 アーキテクチャ アーキテクチャ概要 • コアはPlaywrightで構成 • 複数アプリケーションのE2Eシナリオテストをまとめた専⽤リポジトリ

    ◦ Playwrightの設定ファイルやユーティリティメソッドなどと、テストシナリオの スクリプトが同じリポジトリに存在している • 実⾏環境としては、開発PCかAWS CodePipeline&CodeBuild • テスト対象はバクラクを構成する複数アプリケーション ◦ 開発PC上、dev環境、stg環境の複数の環境が存在する • CodePipelineでの実⾏トリガーは、アプリケーションデプロイ⽅法が複数あるため、 それに合わせて複数存在する • CodePipelineでの実⾏開始‧完了は、CloudWatch&StepFunctionでSlackに通知 • CodePipelineでの実⾏結果は、AWS S3に保存して、それをSnowflakeに連携
  5. © LayerX Inc. 8 アーキテクチャ(AWS環境) テスト スクリプト E2Eテストのアーキテクチャと実⾏フロー 開発者 ②デプロイ

    ①デプロイ指⽰ CloudWatch, StepFunction ③トリガー CodePipeline, CodeBuild ③'トリガー アプリのデプロイ⽅法に あわせてトリガーは2種類 E2Eシナリオテスト リポジトリ ④チェックアウト ⑤テスト実⾏ ⑥artifact保存 S3 CodePipeline イベントトリガー Snowflake ⑦連携 ユーザ 各種通知 参照
  6. © LayerX Inc. 9 アーキテクチャ アーキテクチャに関する要求や制約 • Playwright ◦ カバーすべきブラウザのバリエーションが少なくて良い

    ◦ プロダクト開発がTypeScriptやGoでおこなわれているため、できればTypeScriptかGoで書ける ◦ 実⾏速度が速い ◦ できるだけシンプルに構成が作れる • CodePipeline ◦ AWSで基本的にAWSでインフラを構築している ◦ テスト実⾏環境のスケールアップ‧スケールアウトが容易である ◦ ⾼頻度で実⾏されないため、コスト低減のために、テスト実⾏環境を常設させない • E2Eシナリオテスト⽤のリポジトリ ◦ アプリケーション間の連携がある ◦ 事業部全体での書き⽅を統⼀する • Snowflake ◦ 社内のデータ分析基盤として、Snowflakeが利⽤されている
  7. © LayerX Inc. 10 運⽤ 運⽤ • テスト実⾏ ◦ 任意のタイミング

    ◦ 開発環境(毎回ではない)/stg環境へのデプロイタイミング • テストスクリプト作成‧修正 ◦ 各チームにいるQAエンジニアが主体となりつつも、開発チーム全体で作成する ◦ ローカルから、ローカルのテスト環境もしくはdev/stg環境にテスト実⾏する • テスト結果の分析 ◦ Snowflakeで任意のタイミングで、テストの安定性の分析‧可視化する ◦ QAチームで週⼀で不安定なものを確認する • テストシステムのアップデートなど ◦ QAチームで保守
  8. © LayerX Inc. 12 まとめ まとめ • E2Eシナリオテストのアーキテクチャ ◦ Playwright/GitHub/CodePipeline/Slack/Snowflake

    ◦ E2Eシナリオテスト⽤のリポジトリ • 運⽤ ◦ テストスクリプトは開発チーム全体で作成‧修正 ◦ snowflakeで任意のタイミングで、テストの安定性の分析‧可視化できるようにしている ◦ テストシステム⾃体はQAチームで保守