不安定なテスト - CI/CD用語集の定義
不安定なテストは同一のコードで異なる結果を生み、通常は非決定性や共有状態が原因です。
不安定なテストは、変更が一切ないのに同じコードで一貫せずに成功したり失敗したりします。よくある原因は、タイミングの競合、順序への依存、外部サービスへの依存です。
不安定なテストはCIへの信頼を損ないます。開発者が失敗を無視し始め、本当のリグレッションが見逃されます。不安定なテストを隔離して修正することは、シグナルを綺麗に保つために不可欠です。
CIでは
不安定なテストをリトライすると問題を覆い隠すことがあります。不安定率を追跡し、根本原因を修正しましょう。自己修復するrunnerは機械的な失敗をリトライできますが、不安定なテストにはコードの修正が必要です。
関連ガイド
Nondeterministic Test - CI/CD Glossary DefinitionNondeterministic Test: A nondeterministic test produces results that depend on uncontrolled factors like timi…
Test Pollution - CI/CD Glossary DefinitionTest Pollution: Test pollution occurs when one test leaves behind state (files, database rows, global variabl…
Test Isolation - CI/CD Glossary DefinitionTest Isolation: Test isolation means each test runs independently, without depending on or affecting other te…