Чем flaky tests отличается от stable tests и когда что выбрать?
Что хотят услышать интервьюеры:
Сравнение: flaky tests нужно оценивать относительно stable tests по критериям lifecycle, читаемости, тестируемости, производительности и поддержки.
Ответ:
Когда выбирать flaky tests: когда его свойства прямо соответствуют задаче: нестабильные тесты подрывают доверие к CI; причины часто в sleep, реальной сети и race conditions.
На собеседовании: не говорите «это современнее»; объясните trade-off, ограничения и возможные ошибки. Типичный анти-паттерн: писать flaky UI tests, тестировать implementation details или зависеть от реальной сети/базы без контроля.
replace Thread.sleep with idling/synchronization