Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Secret sauce for improving developer experience: tackle flaky tests

Secret sauce for improving developer experience: tackle flaky tests

「開発者体験向上に欠かせない不安定なテスト改善の秘訣」
LINE / LINE Fukuoka SETチーム 金子茉以

2023.03.30
LINE × Launchable - Developer Test安定化と高速化へのアプローチ
https://launchableinc.connpass.com/event/277667/

LINE Developers

March 30, 2023
Tweet

More Decks by LINE Developers

Other Decks in Technology

Transcript

  1. ⾃⼰紹介 ⽒名 : ⾦⼦茉以(Kaneko Mai) 会社 : LINE Fukuoka 所属

    : 開発2室 SETチーム 役割 : Software Engineer in Test 担当プロジェクト : LINE Creators Market https://creator.line.me/ja/ Twitter : https://twitter.com/maturika_ne
  2. 01 02 03 04 05 06 07 Contents LINEのSETがやっていること Flaky

    testとは Flaky testあるある Flaky testへの対応 Launchableを使った事例 Launchableを使った感想 まとめ
  3. 以前のE2Eテストの実⾏状況 QA環境 本番環境 開発環境 Daily E2E テスト (約200テスト ケース) Daily

    E2E テスト (約80テストケー ス) 開発者へのフィードバックが遅い
  4. 現在のE2Eテスト実⾏状況 QA環境 本番環境 開発環境 Daily E2E テスト 実⾏ Daily E2E

    テスト 実⾏ 早いフィードバックが可能 PR毎に E2E テスト実⾏
  5. 開発者への フィードバック 実⾏頻度 Flaky testの 発⾒頻度 遅い 1⽇ 1~2回 低い

    早い 1⽇ 数⼗回 ⾼い After (Daily + PR-Driven) Before (Daily テストのみ) PR-Driven E2Eテスト 導⼊前後⽐較
  6. Launchableを使っての感想 • Flaky test対応楽になった • 導⼊簡単 • Documentわかりやすい • CLI

    (https://github.com/launchableinc/cli) 使いやすい • エラーメッセージで何が間違っているのかすぐわかる • さまざまなテストフレームワークに対応している • サポート⼿厚い • 複数のCIを使っているPR-Driven E2Eテストの複雑な環境にも適⽤できた • 改善要望を伝えると検討・実現してくれる
  7. まとめ • PR-Driven E2EテストによりE2Eテスト実⾏回数が膨⼤に増えた • それに伴い、Flaky testが増えた • Flaky testは放置されがち、リトライしがちな傾向がある

    • 対応するのは⼤変 • Launchableを使うことで調査、修正確認などの⼿間が減らせた • 今後展望として • ユニットテストへの適⽤ • 他の機能を活⽤し効率的なテスト実⾏を⽬指す