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
coconala_engineer
August 18, 2025
0
7
犯人はE2Eテスト? 並列実行で開発チームを救え!
coconala_engineer
August 18, 2025
Tweet
Share
More Decks by coconala_engineer
See All by coconala_engineer
サービスを止めるな! DDoS攻撃へのスマートな備えと最前線の事例
coconala_engineer
2
250
SREの次のキャリアの道しるべ 〜SREがマネジメントレイヤーに挑戦して、 気づいたこととTips〜
coconala_engineer
2
5.5k
ココナラiOSチームの生成AI利用
coconala_engineer
0
39
AIと向き合う若手エンジニアの責任
coconala_engineer
0
42
GraphQLを活用したリアーキテクチャに対応するSLI/Oの再設計
coconala_engineer
0
320
一番気が重いと言われたポストモーテム委員会の改革
coconala_engineer
0
320
SREの視点で考えるSIEM活用術 〜AWS環境でのセキュリティ強化〜
coconala_engineer
1
400
(みんなやっているはずなのに情報が少ない)DNSレコード管理の改善
coconala_engineer
0
140
クラウド時代のDDoS対策:可用性を守るためのベストプラクティス
coconala_engineer
1
110
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Mobile First: as difficult as doing things right
swwweet
223
9.9k
The Invisible Side of Design
smashingmag
301
51k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Pragmatic Product Professional
lauravandoore
36
6.8k
A Tale of Four Properties
chriscoyier
160
23k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
20k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
Six Lessons from altMBA
skipperchong
28
3.9k
Transcript
Copyright coconala Inc. All Rights Reserved. 犯人はE2Eテスト? 並列実行で開発チームを救え! DATA :
2025.09.04 株式会社ココナラ QAグループ Yuto SUZUKI
Copyright coconala Inc. All Rights Reserved. 鈴木 悠仁(まるちゃん) 株式会社ココナラ QAグループ
QA開発チーム Team Manager • ココナラ入社4年目 • 自称“何でも屋” • マイブーム: ひとりサマータイム まえおき 0 2
Copyright coconala Inc. All Rights Reserved. 3 ココナラの事業内容 0
Copyright coconala Inc. All Rights Reserved. 4 Agenda 前提 問題発生🚨
そうだ、並列化しよう💡 1 2 3
Copyright coconala Inc. All Rights Reserved. • 2023年前半に本番障害流出率が ⤴ •
低減策として CUJに対するE2Eテストを整備 • 2023年9月にリリース前に E2Eテスト実行がルール化 前提 1 導入背景 5
Copyright coconala Inc. All Rights Reserved. 前提 1 通算30件以上の障害流出を阻止 🎉
6 Web Android iOS
Copyright coconala Inc. All Rights Reserved. Fin 7
Copyright coconala Inc. All Rights Reserved. 問題発生🚨 2 8 実は運用的な問題が
...
Copyright coconala Inc. All Rights Reserved. 問題発生🚨 2 9
Copyright coconala Inc. All Rights Reserved. 1. 全件実行 モバイルアプリ自体を改修したら実施 2.
最小限実行 バックエンドを修正したら実施 3. 最小限+α実行 バックエンドを修正かつ広めに修正 問題発生🚨 2 E2Eテストの実行タイプ 10
Copyright coconala Inc. All Rights Reserved. 問題発生🚨 2 E2Eテスト実行時間 11
Copyright coconala Inc. All Rights Reserved. リリース頻度 🔄 • 1日に多いと5回以上
• リリース可能時間は10~18時 ◦ 金曜日は15時まで 問題発生🚨 2 リリースの特徴 12 リリースブロック 🚫 • 月に最低6日以上リリースブロック あり ◦ 期間明けにリリースが集中 テスト環境最新化時間 ⏰ • テスト環境の最新化が必要 ◦ 最大20分
Copyright coconala Inc. All Rights Reserved. 問題発生🚨 2 13 テスト
失敗!! デプロイミ ス!! 差込リリー ス!
Copyright coconala Inc. All Rights Reserved. 問題発生🚨 2 14 速
さ
Copyright coconala Inc. All Rights Reserved. そうだ、並列化しよう 💡 3 15
Copyright coconala Inc. All Rights Reserved. そうだ、並列化しよう 💡 3 16
並列化前( iOS) mac2.metal maxWokers
Copyright coconala Inc. All Rights Reserved. そうだ、並列化しよう 💡 3 17
並列化後( iOS) mac2.metal maxWokers mac2.metal maxWokers Shared
Copyright coconala Inc. All Rights Reserved. そうだ、並列化しよう 💡 3 18
並列化前( Android) mac2.metal maxWokers
Copyright coconala Inc. All Rights Reserved. そうだ、並列化しよう 💡 3 19
並列化後( Android) c5.metal maxWokers
Copyright coconala Inc. All Rights Reserved. そうだ、並列化しよう 💡 3 20
並列化をするうえで考慮した観点 1. 💰 → 極力安くしたい! 2. OS別制約 → iOSはMacOS以外ではビルドできない! 3. メモリー → 高ければ高いほど並列度が上がる!
Copyright coconala Inc. All Rights Reserved. そうだ、並列化しよう 💡 3 21
並列化前後の変化
Copyright coconala Inc. All Rights Reserved. そうだ、並列化しよう 💡 3 22
最終結果!
Copyright coconala Inc. All Rights Reserved. Fin 23