Чему вы научитесь
- Писать нагрузочные тесты на Python с использованием Locust.
- Создавать сложные сценарии нагрузки с использованием TaskSet, SequentialTaskSet, event hooks.
- Разрабатывать масштабируемые нагрузочные фреймворки с учётом архитектурных паттернов и лучших практик.
- Запускать нагрузочные тесты в CI/CD пайплайне.
- Поднимать микросервисные системы с помощью Docker Compose и использовать их в автотестах и нагрузке.
- Реализовывать mock-сервисы для HTTP с использованием FastAPI.
- Реализовывать mock-сервисы для gRPC с использованием grpcio.
- Проектировать гибкие, переиспользуемые HTTP/gRPC API-клиенты, применимые в нагрузке, сидинге и автотестах.
- Интерпретировать клиентские метрики: RPS, latency, response time, percentiles.
- Анализировать системные метрики: CPU, RAM, disk I/O, network.
- Работать с современными инструментами: Kafka UI, pgAdmin, Postman, MinIO (S3), Redis, Grafana, Docker, Docker Compose, GitLab CI, Postman, curl, grpcurl.
- Применять библиотеку HTTPX для написания HTTP-клиентов.
- Использовать Pydantic и Pydantic Settings для валидации данных и настройки проекта
- Применять Faker для генерации тестовых данных.
- Оценивать и формировать нагрузочные профили на основе реальных сценариев использования.
- Разрабатывать сценарии сидинга и собственный сидинг-билдер для подготовки базы перед нагрузочным тестом тестовых данных перед нагрузочнывм тестированием.
- Понимать и применять принципы микросервисной и монолитной архитектуры, различать их особенности и ограничения.
- Анализировать архитектурные особенности нагружаемой системы: понимать, что, зачем и как мы тестируем.
- Использовать Prometheus + cAdvisor для сбора и анализа метрик на уровне контейнеров и сервисов.
- Эффективно проходить собеседования: получить практические советы, применимые в реальной жизни.
- Работать с Git, публиковать и доводить до финала проект на GitHub, GitLab, что станет отличным дополнением к резюме.
- Закрепиться на позиции после устройства на работу и продолжать профессиональный рост.
О курсе
Для кого этот курс
Начальные требования
-
Базовые знания Python. Понимание синтаксиса языка, умение работать с переменными, функциями, базовыми классами и библиотеками. Вам не нужно быть экспертом, но знание основ — обязательно.
-
Базовое понимание принципов программирования. Знание ООП, понимание структур данных (списки, словари и т.п.), базовых алгоритмов и принципов разработки — поможет увереннее осваивать архитектуру фреймворка и API-клиентов.
-
Готовность к обучению и инженерному мышлению. Курс предполагает активную работу: придётся разбираться в новых концепциях, запускать стенды, читать логи, анализировать метрики и писать код. Интерес к инженерной стороне процессов — важнее, чем опыт с конкретными инструментами.
-
Уверенное владение компьютером и рабочим окружением. Умение устанавливать и настраивать программы, работать с терминалом, пользоваться IDE (например, PyCharm или VS Code), использовать браузер для ручного тестирования и работы с Postman.
-
Рабочее окружение. Для прохождения некоторых уроков может понадобиться VPN (в зависимости от региона). Также вам потребуется современный компьютер с нормальной производительностью — достаточно ноутбука с 8 ГБ оперативной памяти и свежей системой. Ничего «сверхмощного» не требуется, но на старом железе запуск тестового стенда может быть затруднён.
Преподаватели курса
Как проходит обучение
Каждый урок состоит из нескольких ключевых элементов:
-
Теория: Подробные текстовые материалы с ясным объяснением, ссылками на дополнительные ресурсы и скриншотами, чтобы помочь вам понять сложные моменты.
-
Видео: Практические видеоуроки, где подробно объясняется выполнение заданий и работа с инструментами, показываются шаги решения реальных задач.
-
Тесты и задания: Каждый урок включает тесты и задания с автоматической проверкой для закрепления теоретических знаний. Это помогает убедиться, что вы усвоили материал.
-
Практическое задание: После теоретической части и тестов вам предстоит самостоятельно писать нагрузочные тесты, скрипты, применять паттерны и изученные инструменты.
Курс построен так, чтобы вы могли погружаться в материал и усваивать его поэтапно. Вы читаете теорию, изучаете скриншоты, смотрите видеоуроки с практическими примерами, выполняете тесты и задачи, а затем закрепляете знания на практике, получая персональный фидбэк.
Сертификат
Что вы получите
- Глубокое понимание нагрузочного тестирования — не «как кликать в инструменте», а как анализировать систему под нагрузкой, проектировать тесты и находить реальные узкие места.
- Комплексную инженерную подготовку — вы пройдёте путь от понимания метрик и архитектуры до запуска тестов в CI/CD и разработки собственного фреймворка.
- Системные знания, которые не устареют — всё, что вы освоите в курсе, опирается на инженерные принципы, а не на версию инструмента. Эти навыки остаются с вами вне зависимости от технологий.
- Практику с production-like стендом — вы будете работать с настоящей микросервисной системой, а не с учебным REST-сервером. Это реальный опыт, который пригодится на работе.
- Набор инженерных паттернов и приёмов — вы научитесь писать моки, делать сидинг, проектировать API-клиенты, разбираться в архитектуре — всё это напрямую конвертируется в практическую пользу.
- Реальные проекты и сценарии в портфолио — итоговые проекты можно показать на собеседовании или использовать как основу для реальных задач.
- Рекомендации по трудоустройству: В конце курса я дам конкретные советы, как составить резюме и сопроводительные письма, как продвигать свою кандидатуру и какие ресурсы для поиска работы использовать. Также мы разберем этапы собеседования и подготовку к ним: как вести себя, какие вопросы могут задать вам и какие вопросы следует задать работодателю.
- Список 150 самых часто задаваемых вопросов на собеседованиях: Вопросы, собранные мною на протяжении многих лет практики как со стороны кандидата, так и со стороны собеседующего. Эти вопросы помогут вам максимально эффективно подготовиться к интервью.
- 21 практическая задача с несколькими решениями: Каждая задача, которая часто встречается на собеседованиях, с подробными объяснениями различных решений. Вы сможете легко справиться с реальными задачами, которые могут возникнуть на собеседовании.