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
160
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
4
460
LLMで推論するライブラリを整理する
shibuiwilliam
5
1.3k
生成AIの研究開発を事業につなげる データ、仕組み、コミュニケーション
shibuiwilliam
1
81
デプロイして本番システムで使うことから考えるAI
shibuiwilliam
2
630
今日からRAGを 始めることを考える
shibuiwilliam
2
1.6k
2024年生成AI新年会登壇資料
shibuiwilliam
0
330
Creative as Software Engineering
shibuiwilliam
2
640
Kubernetesクラスターを引き継ぐ技術
shibuiwilliam
3
340
機械学習システム構築実践ガイド
shibuiwilliam
1
920
Other Decks in Technology
See All in Technology
エンジニア主導の企画立案を可能にする組織とは?
recruitengineers
PRO
1
220
AI Agent時代なのでAWSのLLMs.txtが欲しい!
watany
3
250
AIエージェント入門
minorun365
PRO
32
18k
Two Blades, One Journey: Engineering While Managing
ohbarye
4
2.2k
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdccoe
1
770
AIエージェント開発のノウハウと課題
pharma_x_tech
5
3.6k
Oracle Database Technology Night #87-1 : Exadata Database Service on Exascale Infrastructure(ExaDB-XS)サービス詳細
oracle4engineer
PRO
1
190
ディスプレイ広告(Yahoo!広告・LINE広告)におけるバックエンド開発
lycorptech_jp
PRO
0
440
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
300
Exadata Database Service on Cloud@Customer セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
2
1.5k
事業を差別化する技術を生み出す技術
pyama86
2
290
IoTシステム開発の複雑さを低減するための統合的アーキテクチャ
kentaro
1
120
Featured
See All Featured
Designing Experiences People Love
moore
140
23k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
1k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Embracing the Ebb and Flow
colly
84
4.6k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
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