Улучшаемые навыки
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.
08
Разрабатывать собственные плагины для Pytest и гибко управлять архитектурой тестового фреймворка через конфигурации и хуки.
Как проходит обучение
Вы проектируете полноценную тестовую инфраструктуру для backend‑сервиса. Выявляете скрытые дефекты и расхождения API, используя Hypothesis, Testcontainers и контрактное тестирование.
В финальном проекте вам выдается нестабильный набор тестов. Ваша задача — перепроектировать фикстуры, замокировать внешние зависимости и добиться полностью стабильного прогона в CI/CD пайплайне.
Программа курса
Фикстуры как инфраструктура: scope, yield, teardown-логика.
Параметризация.
Архитектура тестового фреймворка: слои, конфиги, раннеры.
03
Написание собственных плагинов для Pytest
Написание собственных плагинов для Pytest
04
Изоляция систем (Mock / Stub)
Разница между Mock, Stub, Spy и Fake.
Изоляция внешних зависимостей: подмена API сторонних сервисов (библиотека responses).
Паттерны внедрения зависимостей (Dependency Injection) в тестах.
05
Управление тестовыми данными и БД (TDM)
Проблема грязных данных и конфликтов при параллельном запуске.
Property-based testing (Тестирование на основе свойств): поиск краевых случаев с библиотекой Hypothesis. Синтетические данные: Faker, Factory Boy.
Интеграция Testcontainers: управление реальной БД в Docker прямо из тестов.
06
Контрактное тестирование API
Почему падают микросервисы: нарушение Consumer-Driven контрактов.
Продвинутое тестирование REST/gRPC интерфейсов (httpx).
Валидация тестов по спецификации OpenAPI (инструмент Schemathesis).
07
Диагностика нестабильности (Flaky tests)
Анатомия мигающих тестов: сеть, тайминги, кэши, данные.
Инструменты отладки и изоляции нестабильных сценариев. Настройка надежного параллельного выполнения тестов (pytest-xdist).
08
CI/CD и Метрики качества
Встраивание прогона тестов в пайплайн (GitLab CI / GitHub Actions).
Сбор метрик тестового покрытия (Coverage).
Генерация отчетов Allure и настройка нотификаций об ошибках в Slack/TG.
09
ИИ-ассистент для работы с Python: делегирование рутины и безопасность
Использование ИИ для ускорения работы с Python: поиск багов, написание шаблонов кода и регулярных выражений, генерация тестовых данных.
Корпоративная безопасность (InfoSec): что категорически запрещено передавать в публичные нейросети.
Проблема «галлюцинаций» ИИ и обязательный аудит сгенерированного кода.
10
Итоговый практикум: Аудит и стабилизация Рефакторинг хрупкого legacy-фреймворка.
Настройка пайплайна для проверки контрактов.
Защита спроектированной тестовой архитектуры перед преподавателем.
11
Итого на курс 36 часа: теория – 12,5 ч (35%), практика – 23,5 ч (65%)
Для кого
Разработчик
Тестировщик
Предварительная подготовка
Опыт работы в тестировании (Manual/Auto) или разработке от 1 года. Базовое знание синтаксиса Python: функции, словари, списки. Понимание устройства HTTP, REST API и JSON. Знание основ работы с Git.