Flaky тесты и шумные дашборды
Автоматические тесты — это наше с вами всё, чтобы случайно не уронить продакшен. Необходимость тестов, думаю, никому объяснять не надо.
Есть такой термин как "flaky tasks" (тесты-снежинки), то есть тесты, исполнение которых в разное время приводит к разным результатам. Тест не выполнился, ты ищешь причину почему, а ответ оказывается "покачену, попробуйте снова запустить, авось и выполнится."
Сегодня заметил у нас такую проблему с тестами, где выставлен слишком чувствительный time-out. Код ещё не выполнился, а тест уже решил, что он не работает (скриншот в комменте).
Разработчики не доверяют таким тестам и перестают тестировать код перед деплоями (если конечно деплой не заблокирован пайплайном CI/CD). В итоге когда-нибудь уронят продакшн и заметят это только по дашбордам, если конечно дашборды тоже не "снежинки."
Noisy (шумные) операционные дашборды показывают проблемы, где их нет. Разработчики ищут причину в коде только, чтобы увидеть, что проблемы на самом деле не было. Такое бывает, когда критические и некритические метрики смешаны вместе. К агрегированным метрикам применим закон органической химии — "если добавить в бочку меда ложку говна, получаем бочку говна."
Мораль здесь такая.
Чётко осознавайте какие метрики и косяки критичны для ваших систем и трекайте только их. Less is more, когда дело касается критических модулей и пожаротушений в случае поломки.