Мастер-класс: как написать первый тест на любом проекте

Мастер-класс расскажет, как внедрить практику Test-Driven Development на любом проекте от 0 до 200 000 строк кода. В прямом эфире мы сначала напишем первый тест, а затем решим задачу на большом коммерческом проекте. В конце рассмотрим проблемы внедрения TDD — как объяснить важность тестирования коллегам и сделать, чтобы тесты не падали.

ИТ и интернет 12+

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

Так происходит потому, что написание и внедрение тестов — это отдельная область знаний, которая требует изучения — как работа c PostgreSQL, настройка CI или асинхронное программирование. Однако, в отличие от привычных скиллов, навык тестирования нельзя применить к задачам напрямую — без знаний об устройстве БД новую ручку в API не запилить, а вот без тестов — легко. Поэтому тесты и откладывают на потом — за одной ручкой приходит другая, а времени изучить новый подход всё никак не находится.

На мастер-классе я расскажу о тестировании быстро — за два часа вы пройдёте путь от написания своего первого теста до применения TDD на большом проекте. Для этих целей я выбрал Python и Django — такой код легко прочитать, а паттерны — перенести на любой другой язык. Так что если вы хотите писать тесты на JS, Ruby или Go — тоже приходите, хватит базовых знаний любого языка программирования.

 

Что вы получите

  1. Познакомитесь с основными примитивами тестирования — тестовыми модулями, моками, фикстурами и ассертами;
  2. Начнёте писать модульные тесты до первой строки кода;
  3. Научитесь решать задачи с использованием TDD в больших проектах на примере личного кабинета на Django (доступ к проекту останется после мастер-класса);
  4. Узнаете об антипаттернах — интеграционных тестах вместо модульных, тестировании внутренней реализации, не-изоляции зависимостей, избыточных тестах;
  5. Узнаете, как применить всё это к своему текущему проекту на работе.

В конце мастер-класса будет сессия вопросов\ответов — можно будет задать автору любой вопрос на тему разработки ПО и тестирования.

 

Программа

  • Что такое хороший тест, который не падает?
  • Сетап теста: бойлерплейт, контекст и доменная область (фикстуры)
  • Как генерить фикстуры, чтобы тесты не упали через полгода
  • Как и что мокать, если нужны внешние зависимости?
  • Когда мокать интерфейс, а когда — реализацию?
  • Что тестировать у модуля, а что — нет?
  • Надо ли тестировать библиотечный код?
  • Что должно быть в хорошем тестовом модуле?
  • Куда складывать код тестов?
  • На каких проектах тесты не нужны
  • Что сделать, чтобы коллеги начали писать тесты?
  • Как продать тесты руководству?

Автор мастер-класса — Фёдор Борщёв: CTO в маркетплейсе ГдеМатериал, сооснователь rumetr.com, ведущий телеграм-канала @pmdaily, популяризатор чистоты кода.

Свой первый тест написал в 2006 году. Выступил как первый инженер на трёх крупных проектах, суммарно 500 000 SLOC.

 

 

Если передумаете — билет можно вернуть в 3 клика. 

Поделиться:

1615 дней назад
26 октября 2019 14:00–17:00

Событие пройдет онлайн

Поделиться:

Связь с организатором

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

На этот адрес придёт ответ от организатора.

Подпишитесь на рассылку организатора

Возврат билета

Если вы хотите вернуть билеты, вы можете сделать это по ссылке из письма с билетами или оформить запрос организатору в вашем  личном кабинете.

Подробнее о возврате билетов