Улучшаемые навыки
SDET
Pytest
API Testing
Contract Testing
Load Testing
Locust
Mocking/Stubbing
Test Data Management
Flaky tests
Testcontainers
CI/CD интеграция
Property-based testing
Инструменты
Чему вы научитесь
01
Проектировать архитектуру тестового фреймворка на Pytest (фикстуры как инфраструктура).
02
Изолировать системы через Mock/Stub/Spy.
03
Генерировать пограничные сценарии через Hypothesis (property-based testing).
04
Управлять состоянием БД в E2E-тестах через Testcontainers.
05
Внедрять контрактное тестирование API (Schemathesis).
06
Диагностировать и устранять flaky-тесты.
07
Проводить нагрузочные испытания API через Locust.
Как проходит обучение
Вы проектируете полноценную тестовую инфраструктуру для backend‑сервиса. Выявляете скрытые дефекты и расхождения API, используя Hypothesis, Testcontainers и контрактное тестирование.
В финальном проекте вам выдается нестабильный набор тестов. Ваша задача — перепроектировать фикстуры, замокировать внешние зависимости и добиться полностью стабильного прогона в CI/CD пайплайне.
Программа курса
01
Архитектура тестов и продвинутый Pytest
Архитектура тестового фреймворка: слои, конфиги, раннеры.
Фикстуры как инфраструктура: scope, yield, teardown-логика.
Параметризация тестов.
Написание собственных плагинов для Pytest.
02
Изоляция систем (Mock / Stub)
Разница между Mock, Stub, Spy и Fake.
Изоляция внешних зависимостей: подмена API сторонних сервисов (responses).
Паттерны внедрения зависимостей (Dependency Injection) в тестах.
03
Управление тестовыми данными и БД (TDM)
Проблема грязных данных и конфликтов при параллельном запуске.
Property-based testing: поиск краевых случаев через Hypothesis.
Синтетические данные: Faker, Factory Boy.
Testcontainers: управление реальной БД в Docker из тестов.
04
Контрактное тестирование API
Почему падают микросервисы: нарушение Consumer-Driven контрактов.
Продвинутое тестирование REST/gRPC интерфейсов (httpx).
Валидация тестов по спецификации OpenAPI (Schemathesis).
05
Инженерное нагрузочное тестирование
Нагрузка как эксперимент: профиль нагрузки, RPS, Latency, перцентили.
Locust: сценарии поведения пользователей на чистом Python.
Поиск точек деградации API под трафиком.
06
Диагностика нестабильности (Flaky tests)
Анатомия мигающих тестов: сеть, тайминги, кэши, данные.
Инструменты отладки и изоляции нестабильных сценариев.
Настройка надежного параллельного выполнения (pytest-xdist).
07
CI/CD и метрики качества
Встраивание прогона тестов в пайплайн (GitLab CI / GitHub Actions).
Сбор метрик тестового покрытия (Coverage).
Генерация отчетов Allure и настройка нотификаций об ошибках в Slack/TG.
08
ИИ-ассистент для работы с Python: делегирование рутины и безопасность
ИИ в работе: поиск багов, шаблоны кода, регулярные выражения, тестовые данные.
Корпоративная безопасность: что нельзя передавать в публичные нейросети.
Галлюцинации ИИ и обязательный аудит сгенерированного кода.
09
Итоговый практикум: Аудит и стабилизация
Рефакторинг хрупкого legacy-фреймворка.
Настройка пайплайна для проверки контрактов.
Защита спроектированной тестовой архитектуры перед преподавателем.
10
Итого на курс 36 ак. ч.: теория — 12,5 ак. ч. (35%), практика — 23,5 ак. ч. (65%)
Для кого
Разработчик
Тестировщик
Предварительная подготовка
Опыт работы в тестировании (Manual/Auto) или разработке от 1 года. Базовое знание синтаксиса Python: функции, словари, списки. Понимание устройства HTTP, REST API и JSON. Знание основ работы с Git.