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
E2Eテストを自動化したい
Search
ryome
June 02, 2024
Technology
0
74
E2Eテストを自動化したい
ryome
June 02, 2024
Tweet
Share
More Decks by ryome
See All by ryome
AWSデスノート〜AWSの嫌いなところまとめ〜
ryome
0
19
AWS MCPを使ってみた
ryome
0
330
ClineでAWS CDKやインフラ構成図作ってみた
ryome
1
510
PlaywrightというE2Eテストツールを布教したい
ryome
0
58
Cursorという最強エディタを使いこなしたい
ryome
0
290
AWS CodeBuildを高速化したい
ryome
0
530
CDKでAppSyncのJavaScriptリゾルバを開発したい
ryome
0
280
Cognitoの複数IDP認証でユーザを統合したい
ryome
1
1.2k
OAuth2.0完全に理解した
ryome
0
200
Other Decks in Technology
See All in Technology
KAGのLT会 #8 - 東京リージョンでGAしたAmazon Q in QuickSightを使って、報告用の資料を作ってみた
0air
0
190
神回のメカニズムと再現方法/Mechanisms and Playbook for Kamikai scrumat2025
moriyuya
4
300
動画データのポテンシャルを引き出す! Databricks と AI活用への奮闘記(現在進行形)
databricksjapan
0
130
後進育成のしくじり〜任せるスキルとリーダーシップの両立〜
matsu0228
3
1.1k
Azure SynapseからAzure Databricksへ 移行してわかった新時代のコスト問題!?
databricksjapan
0
120
タスクって今どうなってるの?3.14の新機能 asyncio ps と pstree でasyncioのデバッグを (PyCon JP 2025)
jrfk
1
220
「技術負債にならない・間違えない」 権限管理の設計と実装
naro143
35
10k
BtoBプロダクト開発の深層
16bitidol
0
150
定期的な価値提供だけじゃない、スクラムが導くチームの共創化 / 20251004 Naoki Takahashi
shift_evolve
PRO
3
220
BirdCLEF+2025 Noir 5位解法紹介
myso
0
180
Goに育てられ開発者向けセキュリティ事業を立ち上げた僕が今向き合う、AI × セキュリティの最前線 / Go Conference 2025
flatt_security
0
320
Goを使ってTDDを体験しよう!
chiroruxx
1
250
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
YesSQL, Process and Tooling at Scale
rocio
173
14k
The World Runs on Bad Software
bkeepers
PRO
71
11k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Visualization
eitanlees
148
16k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
How to Ace a Technical Interview
jacobian
280
23k
4 Signs Your Business is Dying
shpigford
185
22k
Building Adaptive Systems
keathley
43
2.8k
Transcript
E2Eテストを自動化したい
E2Eテストとは? • E2E(エンドツーエンド)テストは、アプリ全体の流れが実際のユーザー 環境と同様の条件下で期待通りに動作するかを検証するテストです。 • E2Eテストは、外部システムとの連携やエラー時の動作、業務フローなど の観点でテストケースの作成をします。 • CI/CDパイプラインにE2Eテストを組み込むことで、デグレーション(新 しいコードの導入による既存機能への影響)の早期検知やテスト工数削減
などの効果が見込めます。
E2Eテスト自動化で得られる効果 • テスト工数の削減 o 自動化により繰り返し行われる手動テスト作業を削減 o バグ発見時の再テストが容易 o リリース頻度の向上 •
テスト消化漏れ(デグレ確認漏れ)の防止 o 毎回同じ品質でテストが実施される o 人為的なミスの削減 • バグの可視化 o テスト結果の自動レポート生成によるバグの可視化 o バグの追跡と管理が容易
E2Eテストツール Playwrightについて • Playwrightは、Microsoftによって開発されたオープンソースの エンドツーエンド(E2E)テスト自動化ツールです。 • Playwrightは、Chromium(Google Chrome、Microsoft Edge)、Firefox、 WebKit(Safari)など複数の主要ブラウザでのテストをサポートしています
。 • ファイルのアップロード/ダウンロード、自動スクリーンショット、ビデオ 録画、ネットワークインターセプト、モックデータの使用など、豊富な機能 を提供しています。
どうやって自動化するのか? • E2Eテストツール(Playwrightなど)を使用してテストコードを作成する • CI/CDパイプライン内でテストツールを実行する • テスト時の環境はDockerで作成する(dind)
E2Eテスト自動化導入時に気を付けること • Dockerイメージはどこから取ってくるか o DockerHubからイメージを取得するとスロットリングに引っ掛かる • コンテナ間の通信はどう行うか o Docker Composeを使用したコンテナ間の通信は、ホスト名に「localhost」ではなく、
「コンテナID」または「コンテナ名」、「サービス名」を指定する。 • CodeBuildのリソースは足りているか o Docker Composeを使用してテストを行う場合、 最低でも vCPU 4、RAM 7GB 程度必要