Skip to content
Latchkey

Flaky Test とは?

flaky test は、テスト対象のコードに何の変更もないのに、時に pass し時に fail するという一貫しない結果を生むテストです。よくある原因には race condition、timing への依存、テスト間の共有状態、不安定な外部依存などがあります。flaky test は CI への信頼を蝕みます。赤い build がもはや確実に実際の問題を意味しなくなるからです。

なぜ重要か

flaky test はチームを、失敗を無視して緑になるまで再実行するよう仕向け、それが本物のバグを覆い隠し runner の分を無駄にします。クリーンで分離された ephemeral な環境は、残留状態に起因する flakiness の一種を丸ごと取り除き、flaky test を隔離して修正することでスイートへの信頼が回復します。

関連する概念

  • テストの分離は共有状態の flakiness を取り除く
  • ephemeral な runner は job 間の汚染を防ぐ
  • retry は flakiness を修正せず覆い隠すことがある

関連ガイド