Скачать Профилирование и оптимизация тестов Rails-приложений [Тариф: Слушатель] [Thinknetica] [Владимир Дементьев]

Kors

Администратор
Регистрация
12 Дек 2014
Сообщения
188.032
Реакции
246.029
Воркшоп "Профилирование и оптимизация тестов Rails-приложений" проводимый Thinknetica Владимиром Дементьевым

Для кого?

Воркшоп рассчитан на Ruby и Rails разработчиков, желающих ускорить процесс разработки за счет оптимизации времени выполнения тестов как на CI, так и локально. Участники также научатся сокращать временной промежуток между внесением изменений и их публикацией, а также уменьшать расходы на CI-инфраструктуру.

Что вас ждет?

Подходы: рассмотрим различные подходы к профилированию и оптимизации тестов, основанные на принципе "максимальной выгоды при минимальных изменениях".

Инструменты: освоим широко используемые инструменты для профилирования Ruby-приложений, такие как Stackprof и Vernier, и подробно изучим специализированный пакет TestProf.

Навыки: полученные знания сможете применить на практике немедленно. Не удивляйтесь, если ваши тесты ускорятся в несколько раз всего за несколько часов!

Программа воркшопа:

**День 1.** Решение проблемы медленных тестов. Профилирование тестов как обычного Ruby-кода:
- Обсуждение влияния медленных тестов на процесс разработки.
- Поиск узких мест в коде Ruby для оптимизации тестов.
- Знакомство с инструментами профилирования, такими как StackProf, RubyProf, Vernier.
- Научитесь анализировать флеймграфы.
- Выявление типичных проблем конфигурации тестов, влияющих на скорость выполнения.

**День 2.** Погружение в TestProf. Профилирование фабрик:
- Изучение инструментов профилирования в TestProf, позволяющих оптимизировать тесты с минимальными усилиями.
- Практическое использование TagProf для выявления медленных типов.
- Оценка влияния методов или событий в коде на скорость выполнения с помощью EventProf.
- Профилирование использования фабрик через FactoryProf.

**День 3.** Оптимизация тестов через повторное использование данных. Автоматизация профилирования и рефакторинга:
- Оптимизация конкретных файлов и знакомство с инструментами TestProf для повторного использования данных в тестах.
- Применение before_all / let_it_be для повторного использования данных в рамках RSpec (локальные фикстуры).
- Использование AnyFixture для глобальных программно генерируемых фикстур.

Автор: **Владимир Дементьев** — разработчик в EvilMartians, автор TestProf, контрибьютор в Rails, лауреат Ruby Hero Russia 2017. Активный участник международных Ruby-конференций.
 
Сверху