![](https://squidex.jugru.team/api/assets/srm/63cf8ef5-7b1c-4e43-aca8-9f9a3557247c/img-3396.jpg?cache=3600&width=74&height=74&mode=CropUpsize)
Артем Хайдаров
Компания: SberDevices
Расскажу, как внедрял автоматическое тестирование производительности React-компонентов в дизайн-систему и сервисы SberDevices, а также про инструмент, который создал во время решения этой задачи.
На первый взгляд незаметные баги в компонентах, вызывающие проблемы производительности, просачиваются в продакшен, и проблема выявляется только после деплоя в виде изменившихся метрик. В этот момент бизнес-цели начинают конфликтовать с целями по скорости, и в итоге решение проблемы может затянуться надолго.
Есть инструменты измерения производительности компонентов. Но у большинства из них нет поддержки React 18 или они не подходят под наши требования. Или они не автоматические и вообще ими никто не пользуется, потому что это дополнительная рутинная работа. Решение: реализовать и внедрить в проверки пул-реквеста систему тестирования производительности, которая будет честно измерять компоненты в нативной среде, при этом будет достаточно стабильной и выдавать как можно меньше ложных результатов в условиях прогонов на виртуальных машинах.
Расскажу про все, что связано с задачей: про требования, исследование существующих инструментов, проблемы, реализацию.
Технологии: TS, React 18, Puppeteer, Node.js, webpack, GitHub workflows.
Будет интересно разработчикам и лидам команд, вовлеченных в поддержку своих сервисов по производительности.
Компания: SberDevices
Компания: SberDevices