Тестирование в Python
2026-02-21 17:18 Diff

Как научиться писать тесты на питоне самому и внедрить это на работе

Подойдёт лидам, CTO и обычным разработчикам

Вместо работы вы постоянно чините упавший прод

Пробуете внедрить тесты, но они не приживаются

Тесты есть, а качества не прибавляется

Тесты превратились
в говно и постоянно ломаются

Пытались продать
идею тестов бизнесу, но вас послали

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

Основной курс длится три недели. Бонусная неделя для тарифов с обратной связью.

4 вебинара в записи. Длительностью по 2 часа.

Конспекты и списки дополнительных материалов. Чтобы легко возвращаться и углубляться в тему и чтобы было что сложить в папочку «посмотреть потом».

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

Чатик учеников. Чтобы познакомиться и получить поддержку таких же, как вы. А ещё — делиться успешными и неуспешными внедрениями материалов курса (в тарифах с обратной связью).

Q&A-сессия. В конце курса проведём сессию вопросов-ответов, чтобы закрыть все вопросы, которые остались после просмотра вебинаров (в тарифах с обратной связью).

1,5−2 часа на просмотр вебинара

20−30 мин. на разбор домашки

≈5 часов на выполнение своей домашки и проверку другим ученикам курса. На третьей неделе домашки не будет.

О чём: Никита разберёт базу тестирования на pytest: как работает сбор и выполнение тестов, что такое фикстуры и параметризация, упомянет о хуках, плагинах, моках и стабах.

«Базовая практика и теория тестирования с pytest»

Какую проблему решаем: Выравниваем контекст.

На выходе: Поймём, как написать и куда положить первый тест на проекте.

О чём: Про понятные тесты! Тесты — тоже код. Они, возможно, должны быть даже понятнее, чем код самого приложения. На занятии Никита покажет, как значительно упростить понимание любого теста: разделить данные и поведение. Рассмотрим основные инструменты и стратегии.

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

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

О чём: Если тесты выполняются долго или работают ненадёжно, то никто не будет их запускать. Никита покажет, как сделать тесты быстрыми и какими способами улучшить их надёжность (спойлер: будет про сферического коня в вакууме).

«Делаем тесты быстрыми и надёжными»

Какую проблему решаем: Медленные тесты увеличивают feedback-loop,замедляют публикацию, а самое главное — программисты привыкают их ненавидеть, а значит — не писать новые.

На выходе: Научимся делать полезный и негромоздкий тестовый набор, который в будущем будет помогать, а не выращивать время билда до 30 минут.

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

Какую проблему решаем: Даже с самыми кайфовыми тестовыми инструментами вашу инициативу легко завалить пассивным сопротивлением. А если без подготовки поговорить о тестах с бизнесом — отказ вообще гарантирован.

На выходе: Получим понятный и исчерпывающий набор нужных действий, чтобы начать писать тесты. Поймём, как продавать тесты разным типам людей.

ПРИМЕР ОДНОЙ НЕДЕЛИ ОБУЧЕНИЯ

Конспект вебинара и презентация

Неделя обучения и содержание

Домашнее задание для вашего большого кейса

Список дополнительной литературы

Каждый вебинар — 1,5–2 часа, на нём Никита объясняет теорию

Мы подключили сервис «Тинькофф.Долями». От рассрочки отличается тем, что нужно заплатить первый взнос в размере 25% от суммы. Остальная сумма делится на четыре равные части и выплачивается раз в две недели. Без договора и одобрений, проценты за услугу платим мы. Для вас бесплатно.
Сервис будет работать только для российских карт.

За курс можно получить налоговый вычет 13%

За курс можно получить налоговый вычет 13%

За курс можно получить налоговый вычет 13%

За курс можно получить налоговый вычет 13%

Согласовываете с руководителем обучение или знакомите нас с руководителем, чтобы мы вам в этом помогли.

Для юрлиц стоимость немного выше: «Я сам» — 17 000 руб./$221. Это связано с необходимостью дополнительного документооборота.

Присылаете нам на почту реквизиты компании. Обычно их взять можно у HR, на сайте компании в разделе «Контакты» или написав в бухгалтерию. Если ваша бухгалтерия просит какой-то набор документов — приложите список, чтобы мы сразу прикрепили.

Мы выставляем счёт и отправляем приглашение для обмена документами в Диадок.

Ваша компания оплачивает, а мы выдаём вам доступ к курсу.

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

Хочу учиться
за счет компании

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

*Для тарифов с обратной связью

Независимый CTO, 13 лет руководит программистами. Первый тест написал в 2006 году, застал Python без юникода и Django без миграций.

CTO wemake.services, участник программного комитета на MoscowPythonConf и RussianPythonWeek. Член команды pytest, core-контрибьютор hypothesis, делал коммиты в unittest, топ-80 по коммитам в CPython. Автор курса «Типизация в Python», который прошли более 1,5К человек.

Все выпускники собираются в чате, где помогают друг другу — от бытовых советов по релокации до советов по выбору стека. Сейчас в чате 9 топиков и 700 активных участников.

По окончании курса добавим вас в наше

Классный курс! Никита отлично объясняет. И здорово, что подбирается комьюнити, которое помогает в решении затыков.

Набор знаний с практикой, особенно полезных в применении к Питону. Базовые вещи просты для начального внедрения, а мастерство приходит уже с опытом. Было здорово сидеть, кодить и тренироваться отполировать код тестов с помощью тестов и цепкого линтера.

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

Перед курсом чаще ошибался в правильном методе тестирования и инструментах. При этом понимал, что нужно обучать этому разработчиков вокруг. После курса я продвинулся в понимании темы тестирования: на каких уровнях, в каком контексте, как делать правильнее. И продолжаю внедрять у себя на работе и учить коллег.

Курс даёт навык организовывать тесты так, что их приятно писать, из-за чего они реально работают. Работают в том плане, что разработчики не забивают на них. Вместо того чтобы думать, как же там правильно написать тест, начинаешь думать: "А какой кусок кода ещё можно покрыть?" — потому что всё уже аккуратно структурировано. Приятным бонусом было знакомство с тем, как создавать в команде окружение, подталкивающее к чистому коду, соответствующему бизнес-задачам. После курса начали вводить эту систему у себя в команде и не можем нарадоваться. Теперь прод работает, а мы спокойно спим, даже если вчера выкатили тыщу фич.

Курс очень полезный. Я применял сразу на работе и хочу сказать, что стало намного удобнее, легче и интереснее тестировать проекты. Мне понравились идеи того, что на больших проектах тесты должны быть разнообразными, надёжными и, скажем так, всеобъемлющими. Из курса взял очень много. Начиная с основ и, наверное, до использования мок-сервисов для тестирования основных. Было классно) Рекомендую всем, с кем общаюсь.

Где работают
наши ученики