Нестабильный тест (Flaky Test)

Нестабильный тест (flaky test) — это тест, который проходит или падает без каких-либо изменений в коде: зелёный на одном прогоне, красный на следующем. Обычные виновники — скрытые предположения о таймингах (UI-тест кликает до того, как страница догрузилась), общее состояние, протекающее между тестами, зависимость от реальных сетевых вызовов или зависимость от порядка выполнения. Нестабильность разрушительна несоразмерно своему масштабу: набор тестов, падающий в 5% случаев без причины, приучает команду жать «перезапустить», а в итоге вовсе игнорировать красные сборки — и именно тогда сквозь них проскакивает настоящая регрессия. Для создателей SaaS, которые гоняют CI на каждом pull request, нестабильные тесты напрямую замедляют релизы и подрывают доверие ко всей защитной сетке. Относитесь к ним как к багам: изолируйте нарушителя, чтобы он перестал блокировать мержи, а затем устраните первопричину (добавьте явные ожидания, изолируйте состояние, замокайте сеть) вместо слепых повторов, которые лишь маскируют проблему.

Похожие термины

Ещё термины: Инструменты разработки