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

Мастер-класс расскажет, как внедрить практику 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 клика. 

Поделиться:

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

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

Поделиться:

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

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

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

По номеру с вами свяжется организатор

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

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

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

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