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
93
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
E2Eテストを自動化したい
ryome
June 02, 2024
More Decks by ryome
See All by ryome
AWSデスノート〜AWSの嫌いなところまとめ〜
ryome
0
46
AWS MCPを使ってみた
ryome
0
620
ClineでAWS CDKやインフラ構成図作ってみた
ryome
1
630
PlaywrightというE2Eテストツールを布教したい
ryome
0
88
Cursorという最強エディタを使いこなしたい
ryome
0
350
AWS CodeBuildを高速化したい
ryome
0
710
CDKでAppSyncのJavaScriptリゾルバを開発したい
ryome
0
310
Cognitoの複数IDP認証でユーザを統合したい
ryome
1
1.4k
OAuth2.0完全に理解した
ryome
0
290
Other Decks in Technology
See All in Technology
【CEDEC2026】専門性の高いデフォルメチームが挑んだ人材育成戦略 〜Cygames Academiaの企画から実施まで〜
cygames
PRO
0
370
GitHub CopilotのFinOps- AI CreditのObservabilityと価値を生むためのエージェント設計
yuriemori
0
120
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
モダンフロントエンド 開発研修
recruitengineers
PRO
1
350
名古屋の市バスGTFS-JPデータ×スガキヤ 最寄りバス停検索をAmazon ElastiCache Serverless for Valkeyで最適化する
usanchuu
1
280
初めてのGitHub Actions / GitHub Actions at First
tooppoo
0
140
『三匹の子ぶた』から学ぶネットワークセキュリティの昔と今 / Network Security: Then and Now Through the Lens of The Three Little Pigs
nttcom
1
1.7k
ボトムアップ文化が強い組織で セキュリティをどう根付かせていくかの現在進行形の話 / Making Security Stick in a Bottom-Up Organization
yamaguchitk333
0
130
LLMリーダーボードアップデートに向けたAgentic Math_SWEのトレースについて
nejumi
0
210
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
1
430
[MIRU26] To What Extent Does MLLM-as-a-Judge Exhibit Cross-Model Preference Bias?
keio_smilab
PRO
0
210
Cursor Meetup Sapporo - Cursor物語 続編
cocacola917
0
120
Featured
See All Featured
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
270
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Why Our Code Smells
bkeepers
PRO
340
58k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Into the Great Unknown - MozCon
thekraken
41
2.7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.2k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
WCS-LA-2024
lcolladotor
0
790
Site-Speed That Sticks
csswizardry
13
1.4k
Rails Girls Zürich Keynote
gr2m
96
14k
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 程度必要