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
Launchable and efficient test execution
Search
shibuiwilliam
March 17, 2022
Technology
0
150
Launchable and efficient test execution
test execution efficiency with predictive test selection by machine learning and Launchable
shibuiwilliam
March 17, 2022
Tweet
Share
More Decks by shibuiwilliam
See All by shibuiwilliam
生成AIのためのデータ収集とデータエンジニアリング
shibuiwilliam
3
370
LLMで推論するライブラリを整理する
shibuiwilliam
5
1.1k
生成AIの研究開発を事業につなげる データ、仕組み、コミュニケーション
shibuiwilliam
1
65
デプロイして本番システムで使うことから考えるAI
shibuiwilliam
2
570
今日からRAGを 始めることを考える
shibuiwilliam
2
1.6k
2024年生成AI新年会登壇資料
shibuiwilliam
0
300
Creative as Software Engineering
shibuiwilliam
2
620
Kubernetesクラスターを引き継ぐ技術
shibuiwilliam
3
310
機械学習システム構築実践ガイド
shibuiwilliam
1
870
Other Decks in Technology
See All in Technology
NilAway による静的解析で「10 億ドル」を節約する #kyotogo / Kyoto Go 56th
ytaka23
3
380
Wantedly での Datadog 活用事例
bgpat
1
430
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
260
KubeCon NA 2024 Recap: How to Move from Ingress to Gateway API with Minimal Hassle
ysakotch
0
200
AWS re:Invent 2024 ふりかえり
kongmingstrap
0
130
5分でわかるDuckDB
chanyou0311
10
3.2k
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
13
3.6k
PHPからGoへのマイグレーション for DMMアフィリエイト
yabakokobayashi
1
170
KubeCon NA 2024 Recap / Running WebAssembly (Wasm) Workloads Side-by-Side with Container Workloads
z63d
1
240
ハイテク休憩
sat
PRO
2
140
宇宙ベンチャーにおける最近の情シス取り組みについて
axelmizu
0
110
watsonx.ai Dojo #5 ファインチューニングとInstructLAB
oniak3ibm
PRO
0
160
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
A Modern Web Designer's Workflow
chriscoyier
693
190k
4 Signs Your Business is Dying
shpigford
181
21k
Music & Morning Musume
bryan
46
6.2k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Building Adaptive Systems
keathley
38
2.3k
The Cost Of JavaScript in 2023
addyosmani
45
7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
A designer walks into a library…
pauljervisheath
204
24k
Designing for Performance
lara
604
68k
Transcript
Launchableで始める テスト実行効率化 2022/03/15 Launchable Inc. shibui yusuke
shibui yusuke • いろいろ → Launchable(いまここ) • MLOpsとかいろいろエンジニア • もともとクラウド基盤の開発、運用
• ここ6年くらいMLOpsとバックエンドと インフラとたまにデータ分析と Androidで仕事 • Github: @shibuiwilliam • FB: yusuke.shibui • Meety: https://meety.net/matches/OPJgijxiEMHE cat : 0.55 dog: 0.45 human : 0.70 gorilla : 0.30 物体検知 2 物体検知
猫が物欲しそうな表情をしています。 3 1. 餌を上げる 2. 遊ぶ 3. 撫でる 4. ほっとく
A. 全部試して反応をみる B. 経験から可能性の 高いものを選ぶ 答えはLTの最後で!
CI/CDの次へ 4 テストを書く テストを自動実行する 必要なテストを実行する
5 – エンジニアの声 コードを1行変えただけなのに テストをすべて実行しないと マージできない・・・。 “ “
6
Predictive test selection by machine learning 7 学習 推論 教師データ
実行するテスト Tests Test results Tests Test pass/fail probability Feature engineering Model training Evaluation Model serving Deploy judgement
Launchableの仕組み 8 Launchable git push CI/CD Collect tests Important and
effective tests Analyse and filter tests Test records
Launchableの仕組み 9 Launchable Analyse and filter tests Test records ML
テスト実行の課題 時間の課題 全テスト実行時間を短縮したい ▶ 並列実行、リソース追加・・・ ▶ 失敗しやすいテストを優先して実行 10 安定性の課題 同一コミットでもランダムに失敗するテスト
(Flaky test) ▶ Flakinessを評価し修正可能なテストを 明確化
実行する必要のあるテストを並び替え 11 Low Medium High T8 T4 T3 T6 T2
T5 T7 T1 Time to First Failure (TTFF) 失敗する可能性の高い テストを優先して実行する ように並び替えることで テスト実行を効率化
まとめ ▶ 機械学習による実行すべきテストのフィルタリング ▶ テストの失敗が判明するまでのテスト実行時間を評価 ▶ Flakinessによる直すべきテストの明確化 12 「盗んできたおやつを 開けられなくて
悲しい顔をしていた」 が正解
Thank you! 13