Flakyテストの隔離(Quarantine)とは?
flaky隔離は、断続的に失敗することが分かっているテストを、ブロックしない別のレーンへ移し、その不安定さがパイプライン全体を赤信号にしないようにする手法です。隔離されたテストは通常まだ実行され報告されるので、flakinessは追跡されますが、その結果は修正されるまでmergeをゲートしません。これは恒久的な住処ではなく、圧力を逃がすバルブです。
なぜ重要か
ランダムに失敗する一つのflakyテストは、CIへの信頼を蝕み、開発者に赤いbuildを無視させたり無思慮に再実行させたりし、本物のfailureを覆い隠します。隔離は、flakyテストを調査する間、主要なシグナルを信頼できるまま保ちますが、隔離が永遠に膨らまないよう、隔離したテストを修正または削除するポリシーが必要です。
関連する概念
- パイプラインの主要シグナルを信頼できるまま保つ
- 隔離されたテストはまだ実行されるがmergeをゲートしない
- 時間とともに修正または削除するポリシーが必要
関連ガイド
What Is a Flaky Test?A flaky test passes and fails intermittently on the same code, usually due to timing, ordering, or environmen…
What Is Test Sharding?Test sharding splits a test suite into independent subsets that run on separate machines in parallel, cutting…
What Is Retry with Backoff?Retry with backoff re-attempts a failed operation after progressively longer waits, often with jitter, to han…