Crash Budget



Тесты — лишь инструмент. Не стоит думать, что любой тест сразу улучшает метрики качества. Плохой тест даже хуже отсутствующего. Он выполняется медленнее ручных или еще хуже дает неправильную инфу о причинах.



В авито есть множество метрик, которые отвечают за качество. Все они работают исключительно в рамках своего юнита. Подробнее можно почитать тут. Но есть проблема, что отсутствует сквозная объективная метрика стабильности приложения на основе данных пользователей, позволяющая отслеживать состояние и принимать решения. Поэтому придумана к уже существующим метрикам добавить сквозную автоматизированную метрику Crash Budget.



Метрика будет учитывать влияние каждого отдельного юнита на Crash-free users и подсвечивать проблемы.



Начальный порог на 1 юнит - 0.0179%

формула = целевой crash-free/число юнитов



Мониторинг работает автоматически + уведомляет юниты в случае привышения бюджета по крешам. В случае игнорирования юниту выдаются санкции.



Crash-free users — процент пользователей, у которых не было крэшей в приложении за выбранный период.



Crash Budget — допустимый процент крэшей у пользователей в расчете на 1 юнит за выбранный период.



Таким образом команда задумывается не просто о написании тестов, как об отчетности. Она сплочена общей проблемой и использует инструменты тестов, как повышение стабильности этих показателей.