Successfully reported this slideshow.
Your SlideShare is downloading. ×

機械学習でテスト実行を効率化するLaunchable.pdf

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 22 Ad

More Related Content

Recently uploaded (20)

Advertisement

機械学習でテスト実行を効率化するLaunchable.pdf

  1. 1. 機械学習でテスト実行を効 率化するLaunchable 2022/10/29 Launchable Inc. shibui yusuke 1
  2. 2. 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. 3. ● 2022年11月14日発売予定! https://www.amazon.co.jp/dp/4798173401/ ● 発売中! https://www.amazon.co.jp/dp/4798169447/ 3
  4. 4. 今日話すこと ▶ 機械学習によるDeveloper Productivityの改善 ▶ Launchableの仕組み ▶ 機械学習の評価と実用上の評価 4
  5. 5. 機械学習による Developer Productivityの改善 5
  6. 6. 6
  7. 7. 7 – エンジニアの声 コードを1行変えただけなのに テストをすべて実行しないと マージできない・・・。 “ “
  8. 8. 8
  9. 9. 一般的なテスト実行 ランダムにテストを実行 9 T1 T2 T3 T4 T5 T6 T7 T8 Low Medium High Tests テスト 失敗確率
  10. 10. 失敗しそうなテストを先に実行する Fail fast, learn fast and fix fast Low Medium High T8 T4 T3 T6 T2 T5 T7 T1 失敗しそうなテストを 機械学習で推論し、 並べ替える。 10
  11. 11. ユーザ事例 Delivering faster 11 Reduced by 28 minutes ~40 minutes x multiple times a day Our lead time to release reduced by one third as a result of bringing in Launchable. “ R. M Director, Engineering Effectiveness Test runtime Days saved 1 dev per year Reduced by 50 minutes ~62 minutes x multiple times a day 8 devs per year Launchable is critical in our ongoing efforts to cut wait times for developers, enabling them to deliver more features faster! M K Senior Test Engineer, European Car Manufacturer Dollars saved $170k/year $1M/year
  12. 12. 12 Launchableの仕組み
  13. 13. Predictive test selection by machine learning 13 学習 推論 教師データ 実行するテスト Tests Test results Tests Test pass/fail probability Feature engineering Model training Evaluation Model serving Deploy judgement
  14. 14. Launchableの仕組み 14 Launchable git push CI/CD Collect tests Important and effective tests Analyse and filter tests Test records
  15. 15. 機械学習の評価と 実用上の評価 15
  16. 16. 機械学習の評価が難しい理由 16 機械学習の評価: オフラインでテストデータで評価 ▶ Accuracy ▶ F-score ▶ RMSE ▶ nDCG ビジネス上の指標: オンラインでのユーザ行動 ▶ CTR ▶ Impression ▶ Conversion rate ▶ Cost この間を変換するのが難しい Accuracyが 良ければCTRが 上がるの?
  17. 17. テスト実行の課題 時間の課題 全テスト実行時間を短縮したい ▶ 並列実行、リソース追加・・・ ▶ 失敗しやすいテストを優先して実行 17 安定性の課題 同一コミットでもランダムに失敗するテスト (Flaky test) ▶ Flakinessを評価し修正可能なテストを 明確化
  18. 18. テスト実行の評価指標 18 Launchable Analyse and filter tests Test records 成功/失敗の Classification Loss, Accuracy, Precision, Recall Time To First Failure (TTFF) 学習時の目的関数 リリース時の 評価関数 従来の機械学習の指標で学習しつつ、 リリース判定は本来の目的を数値化する 独自関数で評価。
  19. 19. 実行する必要のあるテストを並び替え 19 Low Medium High T8 T4 T3 T6 T2 T5 T7 T1 Time to First Failure (TTFF) 失敗する可能性の高い テストを優先して実行する ように並び替えることで テスト実行を効率化
  20. 20. まとめ 20
  21. 21. まとめ ▶ 機械学習による実行すべきテストのフィルタリング ▶ テストの失敗が判明するまでのテスト実行時間を評価 ▶ 機械学習のリリース判定は機械学習の指標基準ではなく ビジネス指標基準 21
  22. 22. Thank you! 22

×