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

Статус
В этой теме нельзя размещать новые ответы.
SHAREWOOD
SHAREWOOD

SHAREWOOD

Редактор
Регистрация
25/11/2019
Сообщения
130.963
Репутация
71.640

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

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


Описание:

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

Что предстоит?
  • Методы
    Обсудим различные методы профилирования и оптимизации тестов, придерживаясь стратегии "максимальная эффективность с минимальными изменениями" (ведь никто не будет переписывать тесты или менять архитектуру программы, чтобы увеличить скорость тестов).
  • Инструментарий
    Изучим общедоступные инструменты для профилирования Ruby-приложений, такие как Stackprof и Vernier, а также подробно ознакомимся с специализированным пакетом TestProf.
  • Умения
    Полученные навыки можно будет мгновенно применить на своих проектах. Не удивляйтесь, если всего за несколько часов вы сможете увеличить скорость ваших тестов в несколько раз!
Спойлер: Программа обучения
День 1. Столкновение с медленными тестами. Профилирование тестов как стандартного кода на Ruby.
Вначале обсудим, почему медленное выполнение тестов влияет на процесс разработки. Разберем способы ускорения тестов без необходимости профилирования и оптимизации тестового кода.

Затем попробуем применить стандартные методы для выявления слабых мест в коде на Ruby для оптимизации тестов. Узнаем, какие типы проблем они способны выявить и как решать эти проблемы.

Вы получите:
  • информацию о альтернативных методах ускорения тестов, которые не требуют профилирования и рефакторинга, и их ограничениях;
  • практический опыт использования таких инструментов профилирования, как StackProf, RubyProf, Vernier;
  • навыки чтения flamegraphs;
  • знания о распространенных проблемах конфигурации тестов, влияющих на скорость выполнения.
День 2. Подробно о TestProf. Профилирование фабрик.
Ознакомимся с инструментами профилирования, включенными в TestProf, которые помогают уточнить область рефакторинга тестов для минимизации соотношения затрат к получаемому ускорению:
  • научитесь выделять медленные типы при помощи TagProf;
  • сможете оценить влияние определенных методов или событий в коде на быстродействие с помощью EventProf;
  • разберетесь, как делать профилирование использования фабрик при помощи FactoryProf.

Вы сможете:
определить небольшой набор тестов, чья оптимизация, с одной стороны, приведет к значительному увеличению скорости, а с другой — позволит разработать набор техник рефакторинга, специфичный для приложения.

День 3. Ускорение тестов через повторное использование данных. Автоматизация профилирования и рефакторинга.
В заключительной части мы перейдем к оптимизации конкретных файлов и познакомимся с инструментами TestProf для повторного использования данных в тестах:
  • before_all / let_it_be для повторного использования данных в контексте RSpec (локальные фикстуры);
  • AnyFixture для генерирования глобальных фикстур программным методом.

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

В завершение обсудим возможности автоматизации, представленные TestProf, в частности TestProf Autopilot.


Автор
Владимир Дементьев
разработчик в Evil Martians, создатель TestProf, contribute в Rails, лауреат Ruby Hero Russia 2017
  • RoR-разработчик со стажем в 15 лет.
  • Разработчик в EvilMartians
  • Имеет навыки работы не только с RoR, но и c Erlang, Python, ActionScript, С++, Java
  • Коммитер в Rails, создатель гемов AnyCable и LiteCable
  • Регулярно участвует в международных Ruby-конференциях наравне с DHH и Матцем
Скрытая ссылка

Материал «Профилирование и оптимизация тестов Rails-приложений [Тариф: Слушатель] [Thinknetica] [Владимир Дементьев]», возможно, скоро появится на SHAREWOOD.
Воспользуйтесь поиском, может быть, он уже опубликован.
 
Статус
В этой теме нельзя размещать новые ответы.

Последние темы автора

Похожие темы

SHAREWOOD
Ответы
0
Просмотры
1K
SHAREWOOD
SHAREWOOD
SHAREWOOD
Ответы
0
Просмотры
2K
SHAREWOOD
SHAREWOOD
SHAREWOOD
Ответы
0
Просмотры
2K
SHAREWOOD
SHAREWOOD
SHAREWOOD
Ответы
0
Просмотры
873
SHAREWOOD
SHAREWOOD
Сверху Снизу