Test Retry - CI/CD 用語集の定義
test retry とは、失敗したテスト(または job)を、失敗と判定する前に上限のある回数だけ再実行することで、一時的で非決定的な失敗を吸収し、単発の flake によって merge をブロックしないようにする仕組みです。
慎重に使う
retry は不安定さを修正するのではなく覆い隠します。retry には上限を設け(一般的には 1〜2 回)、どのテストが retry するかを追跡することで、失敗を無期限に隠してしまうのではなく、最悪の常習犯に優先的に対処できます。
CI では
失敗したテストだけを再実行する retry は、job 全体を再実行するより安価です。Latchkey スタイルの自己修復は同様の考え方をインフラのレベルで適用し、runner の OOM のような機械的な理由で失敗した job を再実行します。
関連ガイド
Flaky Test - CI/CD Glossary DefinitionFlaky Test: A **flaky test** passes and fails on the same code due to nondeterminism (races, timing, external…
Test Flake Rate - CI/CD Glossary DefinitionTest Flake Rate: Test flake rate is the fraction of test runs that fail non-deterministically on unchanged co…
Self-Healing CI - CI/CD Glossary DefinitionSelf-Healing CI: **Self-healing CI** automatically detects, fixes, and retries transient or mechanical failur…