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

Kevin

VIP складчик
Platinum
Администратор
Регистрация
8 Сен 2016
Сообщения
483.764
Реакции
268.165
[Складчина: Профилирование и оптимизация тестов 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 для глобальных фикстур.

В конце вы:

- разработаете методы рефакторинга тестов, подходящие для вашего проекта, и примените их для ускорения выполнения тестов.

Завершим обсуждением возможностей автоматизации, предоставляемых TestProf, включая TestProf Autopilot.

### О ведущем:

**Владимир Дементьев** - разработчик в Злых марсианах, автор TestProf, контрибьютор в Rails, лауреат премии Ruby Hero Russia 2017. С 15-летним стажем в разработке, Владимир не только работает в EvilMartians, но и владеет Erlang, Python, ActionScript, С++, Java. Коммитер в Rails, автор гемов AnyCable и LiteCable, регулярно выступает на Ruby-конференциях вместе с DHH и Матцем.
 
Сверху