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
68
E2Eテストを自動化したい
ryome
June 02, 2024
Tweet
Share
More Decks by ryome
See All by ryome
AWS MCPを使ってみた
ryome
0
180
ClineでAWS CDKやインフラ構成図作ってみた
ryome
1
420
PlaywrightというE2Eテストツールを布教したい
ryome
0
50
Cursorという最強エディタを使いこなしたい
ryome
0
260
AWS CodeBuildを高速化したい
ryome
0
460
CDKでAppSyncのJavaScriptリゾルバを開発したい
ryome
0
270
Cognitoの複数IDP認証でユーザを統合したい
ryome
0
1.1k
OAuth2.0完全に理解した
ryome
0
170
Amazon_CodeWhispererで生産性を爆上げする
ryome
0
70
Other Decks in Technology
See All in Technology
New Cache Hierarchy for Container Images and OCI Artifacts in Kubernetes Clusters using Containerd / KubeCon + CloudNativeCon Japan
pfn
PRO
0
150
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
12k
AIにどこまで任せる?実務で使える(かもしれない)AIエージェント設計の考え方
har1101
3
980
QAはソフトウェアエンジニアリングを学んで実践するのが大事なの
ymty
1
370
データ戦略部門 紹介資料
sansan33
PRO
1
3.2k
API の仕様から紐解く「MCP 入門」 ~MCP の「コンテキスト」って何だ?~
cdataj
0
140
Go Connectへの想い
chiroruxx
0
160
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.6k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
41
22k
CIでのgolangci-lintの実行を約90%削減した話
kazukihayase
0
140
AWS全冠したので振りかえってみる
tajimon
0
130
Digitization部 紹介資料
sansan33
PRO
1
4.2k
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
180
53k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
How to Ace a Technical Interview
jacobian
276
23k
Writing Fast Ruby
sferik
628
61k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
16
910
Visualization
eitanlees
146
16k
Docker and Python
trallard
44
3.4k
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
34k
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 程度必要