SlideShare a Scribd company logo
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

More Related Content

PDF
Traffic light detection for self driving car
PDF
How to start MLOps
PDF
Devsumi 2021 MLOps for Self-driving car
PDF
Lets start mlops
PDF
Getting started with MLOps
PDF
Rosbag search system
PDF
Twillio deadshot made me happy
PDF
Testing machine learning development
Traffic light detection for self driving car
How to start MLOps
Devsumi 2021 MLOps for Self-driving car
Lets start mlops
Getting started with MLOps
Rosbag search system
Twillio deadshot made me happy
Testing machine learning development

What's hot (20)

PDF
MLOps failure(1_108)
PDF
Ml system in_python
PDF
Quality of ml_system
PDF
TFLite_and_PyTorch_Mobile
PDF
ML system design_pattern
PDF
Machine learning and_system_design
PDF
Mercari Image search 1st Anniversary
PDF
Machine learning microservice_management
PPTX
Jupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみた
PDF
Devとopsをつなぐpuppet
PPTX
210526 Power Automate Desktop Python
PDF
S08 t0 orientation
PDF
Herokuの課金から逃れるための安い鯖探し
PDF
Herokuの新料金について
PPTX
第2回 Jenkins勉強会 LT 藤川
PPTX
Pythonで機械学習を自動化 auto sklearn
PPTX
Jupyter Notebookを納品した話
PDF
S09 t0 orientation
PDF
S09 t4 wrapup
PPTX
5 sのはなし
MLOps failure(1_108)
Ml system in_python
Quality of ml_system
TFLite_and_PyTorch_Mobile
ML system design_pattern
Machine learning and_system_design
Mercari Image search 1st Anniversary
Machine learning microservice_management
Jupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみた
Devとopsをつなぐpuppet
210526 Power Automate Desktop Python
S08 t0 orientation
Herokuの課金から逃れるための安い鯖探し
Herokuの新料金について
第2回 Jenkins勉強会 LT 藤川
Pythonで機械学習を自動化 auto sklearn
Jupyter Notebookを納品した話
S09 t0 orientation
S09 t4 wrapup
5 sのはなし
Ad

More from yusuke shibui (10)

PDF
Creative as Software Engineering for GenAI LT
PDF
Generative AIと検索を組み合わせた新たな体験の模索
PDF
機械学習システム構築実践ガイド
PDF
機械学習でテスト実行を効率化するLaunchable.pdf
PDF
Reviewing_machine_learning_program.pdf
PDF
DevSummit_2022_summer_MLOps.pdf
PDF
machine_learning_failure_apocalypse.pdf
PDF
Machine learning CI/CD with OSS
PDF
Machine learning quality for production
PDF
Mercari ML Meetup
Creative as Software Engineering for GenAI LT
Generative AIと検索を組み合わせた新たな体験の模索
機械学習システム構築実践ガイド
機械学習でテスト実行を効率化するLaunchable.pdf
Reviewing_machine_learning_program.pdf
DevSummit_2022_summer_MLOps.pdf
machine_learning_failure_apocalypse.pdf
Machine learning CI/CD with OSS
Machine learning quality for production
Mercari ML Meetup
Ad

Launchable and efficient test execution