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
70
E2Eテストを自動化したい
ryome
June 02, 2024
Tweet
Share
More Decks by ryome
See All by ryome
AWS MCPを使ってみた
ryome
0
280
ClineでAWS CDKやインフラ構成図作ってみた
ryome
1
480
PlaywrightというE2Eテストツールを布教したい
ryome
0
52
Cursorという最強エディタを使いこなしたい
ryome
0
290
AWS CodeBuildを高速化したい
ryome
0
500
CDKでAppSyncのJavaScriptリゾルバを開発したい
ryome
0
280
Cognitoの複数IDP認証でユーザを統合したい
ryome
1
1.2k
OAuth2.0完全に理解した
ryome
0
190
Amazon_CodeWhispererで生産性を爆上げする
ryome
0
70
Other Decks in Technology
See All in Technology
Gaze-LLE: Gaze Target Estimation via Large-Scale Learned Encoders
kzykmyzw
0
300
モダンな現場と従来型の組織——そこに生じる "不整合" を解消してこそチームがパフォーマンスを発揮できる / Team-oriented Organization Design 20250825
mtx2s
4
470
会社にデータエンジニアがいることでできるようになること
10xinc
9
1.5k
生成AIによるデータサイエンスの変革
taka_aki
0
3.1k
EKS Pod Identity における推移的な session tags
z63d
1
200
Observability for LLM Application lifecycle
ivry_presentationmaterials
1
230
kintone開発チームの紹介
cybozuinsideout
PRO
0
73k
結局QUICで通信は速くなるの?
kota_yata
9
7.5k
メルカリIBIS:AIが拓く次世代インシデント対応
0gm
2
510
Preferred Networks (PFN) とLLM Post-Training チームの紹介 / 第4回 関東Kaggler会 スポンサーセッション
pfn
PRO
1
130
Oracle Base Database Service:サービス概要のご紹介
oracle4engineer
PRO
2
20k
いま、あらためて考えてみるアカウント管理 with IaC / Account management with IaC
kohbis
2
660
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
36
6.8k
Writing Fast Ruby
sferik
628
62k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
A designer walks into a library…
pauljervisheath
207
24k
For a Future-Friendly Web
brad_frost
179
9.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
820
Designing Experiences People Love
moore
142
24k
Navigating Team Friction
lara
188
15k
Typedesign – Prime Four
hannesfritz
42
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 程度必要