Чему вы научитесь
- Писать нагрузочные тесты на 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, что станет отличным дополнением к резюме.
- Закрепиться на позиции после устройства на работу и продолжать профессиональный рост.
О курсе
💻 Этот курс — погружение в профессию QA Performance Engineer
Он полностью меняет представление о том, что такое нагрузочное тестирование: не просто запуск скриптов в Locust, а полноценная инженерная практика.
Вы будете работать с учебным микросервисным стендом, приближённым к боевым системам. В курсе собраны проверенные практики из реальных high-load проектов: от анализа метрик в Grafana и настройки профилей нагрузки — до написания собственных моков для gRPC и HTTP, подготовки тестовых данных (сидинга), создания фреймворка и интеграции в CI/CD.
🎯 О чём этот курс?
Прежде всего: этот курс не про инструменты — он про инженерный подход к нагрузочному тестированию. Мы не просто запустим Locust и посмотрим на графики. Мы разберём, как проектировать тесты, анализировать поведение системы под нагрузкой и работать с реальными архитектурными условиями.
Курс охватывает все ключевые аспекты, с которыми сталкиваются инженеры в high-load проектах: от профиля нагрузки и метрик — до CI/CD и построения собственных фреймворков.
В рамках курса вы будете нагружать учебную банковскую систему, построенную на микросервисах. Это не учебный REST-сервер с /ping, а полноценный стенд, в котором работают Kafka, MinIO, PostgreSQL, Redis, Grafana, Prometheus, cAdvisor, Docker, Docker Compose и десяток HTTP/gRPC микросервисов.
Вы будете:
- ⚙️ практиковаться с двумя протоколами — HTTP и gRPC;
- 🚀 поднимать стенд и запускать тесты прямо в CI/CD;
- 🧪 писать моки для платёжного шлюза;
- 🗃️ делать сидинг данных: пользователей, счета, документы;
- 🧱 создавать нагрузочный фреймворк, готовый к применению в реальных проектах.
Мы разберём всю тему нагрузочного тестирования на атомы — системно, глубоко, без воды. Будет много практики, рабочих приёмов и инженерных решений. Всё, что используется в больших компаниях — собрано и структурировано в одном курсе.
📌 Почему этот курс?
Потому что нагрузочное тестирование — это не про кнопки в интерфейсе и не про запуск скрипта с 1000 виртуальными пользователями. Это — про понимание, как работает система под нагрузкой, и про инженерный подход.
Многие курсы заканчиваются там, где в этом курсе всё только начинается. Они показывают, как задать количество пользователей, как посмотреть RPS — и на этом всё. Но реальное нагрузочное тестирование — это не про инструмент, а про систему, архитектуру, данные и метрики.
В этом курсе:
- вы не просто используете стенд, а разбираете его архитектуру, исследуете связи между сервисами, изучаете поведение БД, кешей, файловых хранилищ и очередей;
- анализируете как клиентские метрики, так и системные: CPU, память, I/O, сеть;
- формируете профиль нагрузки обоснованно, а не ограничиваетесь тестом «1000 пользователей и посмотрим, что будет»;
- пишете переиспользуемые API-клиенты, строите инфраструктуру тестов, интегрируете в CI/CD;
- создаёте моки, пишете сидинг и выводите систему в нужное состояние перед тестом;
- работаете с двумя протоколами — HTTP и gRPC, сравниваете их поведение и последствия для архитектуры;
- строите нагрузочный фреймворк, а не просто "набираете команды".
🎯 Важно: инструмент — это 5–10% успеха. Остальное — это архитектура, системное мышление, работа с данными, метриками, CI/CD, сетями, профилем нагрузки и инженерными гипотезами. Именно этим мы и занимаемся в этом курсе.
👨💻 Опыт, стоящий за курсом
Этот курс — результат многолетней практики в high-load проектах, где количество пользователей измеряется миллионами, а объёмы данных — миллиардами записей. Это не учебные кейсы и не демонстрации для вебинара. Это выжимка из настоящей инженерной работы: с инцидентами, метриками, расследованиями, переработками и архитектурными сдвигами.
За годы работы мне довелось выявить десятки сложных проблем в системах под нагрузкой — от банальных утечек памяти и деградации RPS, до гонок данных и скрытых узких мест на уровне инфраструктуры и взаимодействия сервисов.
📌 Всё, что включено в курс, — это выверенные и реально работающие практики, которые я сам применял в проектах. Здесь нет случайных тем и искусственных примеров. Каждый модуль — это ответ на конкретную задачу, с которой вы можете столкнуться на боевом проекте.
📌 Чем этот курс отличается от других?
🔥 Инженерный подход, а не просто инструмент – большинство курсов учат запускать сценарии в JMeter или Locust, задавая количество пользователей и наблюдая за графиком RPS. Мы идём глубже: разбираемся в архитектуре систем, профилях нагрузки, метриках, инфраструктуре и инженерных гипотезах. Это не «где нажать», а как мыслить и работать как перформанс-инженер.
🔥 Максимум практики и настоящих задач – нагрузочное тестирование пронизывает весь курс: два полноценных модуля посвящены написанию сценариев, запуску, анализу и отладке. Мы тренируемся не на абстрактных API, а на учебной банковской системе с микросервисами, брокером сообщений, базами, кешами и хранилищем.
🔥 Работа с двумя протоколами: HTTP и gRPC – вы освоите оба формата, сравните их поведение под нагрузкой, научитесь писать клиенты, отправлять запросы, анализировать различия в архитектурных последствиях. Эти навыки будут полезны не только перформанс-инженерам, но и QA/automation-инженерам в целом.
🔥 Создание моков с нуля – вы научитесь писать собственные моки (и для HTTP, и для gRPC), использовать их при нагрузке, отделять влияние внешних сервисов от внутренней логики. Это критически важный навык для изоляции и стабилизации тестов.
🔥 Сидинг тестовых данных – один из немногих курсов, где вы научитесь осознанно наполнять систему данными до запуска теста. Будем создавать пользователей, счета, документы, операции — всё это сериализовать, восстанавливать, использовать повторно. Без этого реальные результаты получить невозможно.
🔥 Анализ регрессии производительности – мы не просто запускаем нагрузку и смотрим на цифры «до/после». В курсе вы научитесь выявлять деградацию по ключевым метрикам (RPS, latency, percentiles, ошибки), сопоставлять её с изменениями в коде и инфраструктуре, формулировать гипотезы и подтверждать их. Это основа инженерного подхода: тесты должны не только ломать систему, но и показывать динамику качества между релизами.
🔥 Уникальный Load Testing Hub – в курсе вы познакомитесь с сервисом, который мы используем в продакшн-проектах и который недоступен в других курсах. Это «Allure для нагрузочного тестирования»: единая точка хранения и анализа прогонов, сценариев и метрик. Hub автоматически собирает результаты, строит графики, показывает тренды, сравнивает сценарии с ожиданиями (SLA) и помогает находить регрессии. Это мощный инструмент, с которым вы будете работать как настоящий performance-инженер, а не как «пользователь Locust».
🔥 Интеграция AI Review – в курсе вы научитесь подключать искусственный интеллект прямо в процесс ревью кода. AI Review анализирует изменения в Pull Request, оставляет построчные комментарии, формирует общий обзор и помогает находить проблемы ещё до того, как их заметит человек. Это инструмент нового уровня, который уже используют инженерные команды: он снимает рутину, повышает качество кода и делает ревью частью CI/CD-пайплайна.
🔥 Настоящий CI/CD и стенд в Docker – курс учит запускать нагрузочные тесты не «вручную с локалки», а в составе настоящего пайплайна. Вы научитесь поднимать стенд в Docker Compose, выполнять прогон, собирать метрики и интегрировать всё это в процесс команды.
🔥 Фреймворк с нуля под ваш проект – итогом станет архитектурно выверенный фреймворк нагрузочного тестирования. Гибкий, масштабируемый, пригодный для HTTP/gRPC сценариев и адаптации под любой backend.
🔥 Работа с метриками как инженер – вы научитесь не просто «смотреть на графики Grafana», а читать их: находить реальные узкие места, интерпретировать CPU/память/сеть, сопоставлять клиентские и системные показатели.
🔥 Много вспомогательных инструментов – мы используем pgAdmin, Kafka UI, MinIO, Postman, curl, grpcurl, Swagger и другие утилиты. Вы не просто увидите их — вы научитесь ими пользоваться ежедневно: подключаться к брокеру, отправлять запросы, проверять БД, просматривать топики, читать .proto-контракты.
🔥 Без воды и абстракций – весь материал прошёл через практику. Всё, что даётся — проверено на реальных high-load проектах. Мы не повторяем документацию, а передаём опыт: с болью, ошибками, выводами и работающими решениями.
🔥 Подача информации – курс можно проходить как в видеоформате, так и по текстовым материалам. Вся информация из видео дублируется в тексте, а также дополняется большим количеством полезных материалов, нюансов, практических советов и рекомендаций.
📌 Что вас ждёт в курсе?
✅ Практика — в каждом модуле, от простого к сложному
От запуска стенда — до построения полного сценария нагрузки. Два больших модуля посвящены практическому нагрузочному тестированию HTTP и gRPC сервисов, с анализом результатов и улучшением архитектуры тестов.
✅ Полноценный продакшен-подобный стенд с микросервисной архитектурой
Работаем с учебной банковской системой, в которой всё как в бою: Kafka, Redis, PostgreSQL, MinIO, Grafana, Prometheus, Docker и десятки HTTP/gRPC сервисов. Это не «сервер с одной ручкой», а распределённая система с реальной логикой и инфраструктурой.
✅ Пошаговое обучение от основ до CI/CD
Курс строится последовательно: от теории нагрузки и разбора архитектур — к инструментам, практике, аналитике и автоматизации. Вы не просто изучаете команды — вы понимаете, как работает система, и умеете принимать технически обоснованные решения.
✅ Фокус на инженерные практики, а не на инструмент
Мы не учимся «жать кнопки» в GUI. Вы осваиваете всю экосистему: системные ресурсы, архитектуру приложений, метрики, профили нагрузки, CI/CD, мок-сервисы, сидинг, инфраструктуру. Locust — лишь часть процесса, а не его центр.
✅ Разработка с нуля: API-клиенты, фреймворк, моки
Вы создадите всё руками: универсальные HTTP/gRPC-клиенты, сидинг-билдер, мок-сервисы на FastAPI и grpcio, фреймворк нагрузочного тестирования. Это не набор скриптов — это архитектура, пригодная для внедрения в любой реальный проект.
✅ Разделение типов тестов: нагрузка, стресс, отказоустойчивость
Вы разберётесь в видах тестирования производительности и научитесь отличать цели: где мы проверяем поведение при типовой нагрузке, где — устойчивость к перегрузке, а где — восстановление после сбоя.
✅ Разбор метрик на всех уровнях
Будем анализировать как клиентские показатели (latency, RPS, ошибки), так и системные (CPU, память, диск, сеть, загрузка БД и брокеров). Научитесь интерпретировать данные и искать причины, а не просто симптомы.
✅ Анализ регрессий и SLA
Вы научитесь не только собирать метрики, но и выявлять деградации между релизами, отслеживать тренды, подтверждать улучшения после оптимизаций. Курс включает практику сравнения результатов нагрузочных тестов и работы с SLA.
✅ Знакомство с Load Testing Hub
Уникальный сервис аналитики, который мы используем в реальных проектах. Он автоматически агрегирует результаты, строит графики динамики, распределение по методам, сравнивает с эталоном и помогает быстро понять, где именно «просел» сервис.
✅ Интеграция с CI/CD — нагрузка как часть пайплайна
Вы запустите тесты в CI/CD: подготовка окружения, запуск в Docker Compose, выдача результатов, автоматизация. Это уровень зрелых процессов, который редко встречается в учебных курсах.
✅ Интеграция AI Review — ревью кода с помощью ИИ
Вы научитесь подключать искусственный интеллект прямо в CI/CD-процесс и автоматизировать ревью изменений в Pull Request. AI Review анализирует дифф, оставляет построчные комментарии, формирует сводку и помогает находить ошибки ещё до того, как их заметит человек. Это практическое умение, которое уже применяется в продакшн-командах и экономит часы рутинной проверки кода.
✅ Инфраструктура как часть навыков
Вы научитесь работать с инструментами, которые окружают нагрузочные тесты в реальной жизни: Git, GitHub Actions, GitLab CI, Docker, pgAdmin, Kafka UI, MinIO, Postman, grpcurl, Swagger/OpenAPI. Эти знания особенно ценны QA и automation-инженерам, работающим в продуктовых командах.
✅ Финальный проект и рекомендации по трудоустройству
В конце курса вы создадите итоговый проект, пригодный для демонстрации работодателю. А также получите советы по оформлению резюме и прохождению собеседований в роли QA Performance Engineer.
💡 Главное: не теория, а боевой опыт
Этот курс — не пересказ документации и не туториал по Locust. Это результат многолетней практики в high-load проектах: десятки запусков под реальной нагрузкой, работа с миллионами пользователей и миллиардами записей в БД, разбор инцидентов, переписывания, архитектурные тупики и реальные выводы.
Вы не просто освоите инструмент — вы научитесь думать как инженер, формулировать гипотезы, находить узкие места, читать метрики, обосновывать архитектурные решения и работать на уровне всей системы.
Locust, JMeter, k6 — это важно, но это лишь 5–10% картины. Остальное — это архитектура, данные, CI/CD, метрики, сеть, код, ошибки, сценарии, причинно-следственные связи. И именно на этом построен курс.
🛠 Как создавался этот курс
Этот курс — не набор случайных лекций. Он создавался долго и осознанно, как инструмент обучения настоящей инженерной практике.
Мне не хотелось делать ещё один «курс про инструмент» — в этом нет смысла. Настоящее нагрузочное тестирование начинается там, где туториалы заканчиваются. Поэтому я спроектировал учебный стенд, максимально приближённый к боевым системам, с Kafka, Redis, S3, микросервисами и нюансами, которые встречаются в реальной архитектуре.
Каждый модуль, каждая практика — это результат многолетнего опыта, через который прошли десятки ошибок, гипотез, переписанных сценариев и расследованных узких мест.
Этот курс задумывался не как образовательный продукт, а как передача инженерного знания — того, которое редко описано в книгах и не помещается в статью.
🎓 Что включает в себя базовая версия курса?
- 🧩 Полноценные уроки и практические задания — весь учебный материал остаётся доступным: видеоуроки, код, задания, объяснения.
- 🔍 Формат "Всё сам" — вы выполняете задания самостоятельно, без обратной связи от преподавателя. Это отличный вариант для тех, кто готов разбираться в материале самостоятельно.
- 📂 Пример решения под спойлером — каждое практическое задание сопровождается готовым примером решения от преподавателя. Вы можете сверить свой подход и разобрать логику решения.
- 🚫 Без проверки заданий — в базовой версии преподаватель не проверяет решения, не даёт фидбэк и не отвечает на вопросы. Поддержка возможна только в рамках расширенного курса.
- 📌 Кому подойдёт этот формат? Этот формат отлично подойдёт тем, кто:
- предпочитает учиться в самостоятельном темпе;
- уже имеет базовый опыт и хочет восполнить пробелы;
- не нуждается в консультациях и проверке кода.
🔥 Как устроено обучение?
В процессе курса вы будете:
- ✅ Изучать теоретическую часть в удобном формате.
- ✅ Смотреть подробные разборы на видео.
- ✅ Решать тесты с автоматической проверкой.
- ✅ Выполнять практические задания. Будет очень много практики!
Каждый урок максимально насыщен:
- 🎯 Глубокая проработка темы с разбором нюансов и тонкостей.
- 🔎 Практика в видео + тестовые задания + советы и рекомендации.
⚠️ Важно! Модули в курсе будут открываться постепенно. Чтобы перейти к следующему модулю, необходимо набрать определенное количество баллов в текущем. Это вынужденная мера. Выполнять все задания не требуется, достаточно выполнить основную часть.
📚 Дополнительные бесплатные материалы
Перед прохождением курса, вы можете ознакомиться с моими статьями:
- 📄 Нагрузочное тестирование на Python и Locust с запуском на CI/CD
- 📄 Как выбрать профиль нагрузки: 5 ключевых правил
- 📄 Сидинг тестовых данных: как готовить окружение перед нагрузочным тестированием
- 📄 Правильный инструмент для аналитики нагрузочного тестирования
- 📄 Правильный инструмент для аналитики нагрузочного тестирования. Часть 2
- 📄 AI Review кода за 30 минут: локальная LLM прямо в CI/CD
- 📄 И другие
🔗 Мои ресурсы:
- LinkedIn: https://www.linkedin.com/in/nikita-filonov-b945871a6/
- Medium: https://medium.com/@filonov.nikitkaa
- GitHub: https://github.com/Nikita-Filonov
- Habr: https://habr.com/ru/users/sound_right/articles/
📌 Об авторских правах и официальной покупке курса
Курс распространяется только на платформе Stepik. Приобретая его здесь, вы получаете:
- Полный доступ ко всем материалам: видео, тексты, задания, тесты, инфраструктура;
- Обновления и новые модули, которые появляются по мере развития курса;
- Я регулярно отвечаю на вопросы в комментариях, помогаю с кодом и разборами;
- Актуальные версии стенда, конфигов и приложений, которые синхронизированы с уроками.
🎓 Курс построен как живой инженерный продукт — с инфраструктурой, CI/CD, задачами и поддержкой. Всё это работает только в официальной версии.
💬 Если вы находите курс на сторонних сайтах — знайте, что в таких копиях:
- отсутствуют задания с проверкой;
- нет комментариев, обновлений и обратной связи;
- часто используются устаревшие материалы или неполные версии уроков.
Это уже не тот курс, который я задумывал.
Если вы хотите пройти курс «как он есть», с поддержкой, проверкой и развитием — проходите его здесь, на Stepik.
Для кого этот курс
Начальные требования
-
Базовые знания Python. Понимание синтаксиса языка, умение работать с переменными, функциями, базовыми классами и библиотеками. Вам не нужно быть экспертом, но знание основ — обязательно.
-
Базовое понимание принципов программирования. Знание ООП, понимание структур данных (списки, словари и т.п.), базовых алгоритмов и принципов разработки — поможет увереннее осваивать архитектуру фреймворка и API-клиентов.
-
Готовность к обучению и инженерному мышлению. Курс предполагает активную работу: придётся разбираться в новых концепциях, запускать стенды, читать логи, анализировать метрики и писать код. Интерес к инженерной стороне процессов — важнее, чем опыт с конкретными инструментами.
-
Уверенное владение компьютером и рабочим окружением. Умение устанавливать и настраивать программы, работать с терминалом, пользоваться IDE (например, PyCharm или VS Code), использовать браузер для ручного тестирования и работы с Postman.
-
Рабочее окружение. Для прохождения некоторых уроков может понадобиться VPN (в зависимости от региона). Также вам потребуется современный компьютер с нормальной производительностью — достаточно ноутбука с 8 ГБ оперативной памяти и свежей системой. Ничего «сверхмощного» не требуется, но на старом железе запуск тестового стенда может быть затруднён.
Наши преподаватели
Как проходит обучение
Каждый урок состоит из нескольких ключевых элементов:
-
Теория: Подробные текстовые материалы с ясным объяснением, ссылками на дополнительные ресурсы и скриншотами, чтобы помочь вам понять сложные моменты.
-
Видео: Практические видеоуроки, где подробно объясняется выполнение заданий и работа с инструментами, показываются шаги решения реальных задач.
-
Тесты и задания: Каждый урок включает тесты и задания с автоматической проверкой для закрепления теоретических знаний. Это помогает убедиться, что вы усвоили материал.
-
Практическое задание: После теоретической части и тестов вам предстоит самостоятельно писать нагрузочные тесты, скрипты, применять паттерны и изученные инструменты.
Курс построен так, чтобы вы могли погружаться в материал и усваивать его поэтапно. Вы читаете теорию, изучаете скриншоты, смотрите видеоуроки с практическими примерами, выполняете тесты и задачи, а затем закрепляете знания на практике, получая персональный фидбэк.
Программа курса
Сертификат
Входит в 1 программу
Что вы получаете
- Глубокое понимание нагрузочного тестирования — не «как кликать в инструменте», а как анализировать систему под нагрузкой, проектировать тесты и находить реальные узкие места.
- Комплексную инженерную подготовку — вы пройдёте путь от понимания метрик и архитектуры до запуска тестов в CI/CD и разработки собственного фреймворка.
- Системные знания, которые не устареют — всё, что вы освоите в курсе, опирается на инженерные принципы, а не на версию инструмента. Эти навыки остаются с вами вне зависимости от технологий.
- Практику с production-like стендом — вы будете работать с настоящей микросервисной системой, а не с учебным REST-сервером. Это реальный опыт, который пригодится на работе.
- Набор инженерных паттернов и приёмов — вы научитесь писать моки, делать сидинг, проектировать API-клиенты, разбираться в архитектуре — всё это напрямую конвертируется в практическую пользу.
- Реальные проекты и сценарии в портфолио — итоговые проекты можно показать на собеседовании или использовать как основу для реальных задач.
- Рекомендации по трудоустройству: В конце курса я дам конкретные советы, как составить резюме и сопроводительные письма, как продвигать свою кандидатуру и какие ресурсы для поиска работы использовать. Также мы разберем этапы собеседования и подготовку к ним: как вести себя, какие вопросы могут задать вам и какие вопросы следует задать работодателю.
- Список 150 самых часто задаваемых вопросов на собеседованиях: Вопросы, собранные мною на протяжении многих лет практики как со стороны кандидата, так и со стороны собеседующего. Эти вопросы помогут вам максимально эффективно подготовиться к интервью.
- 21 практическая задача с несколькими решениями: Каждая задача, которая часто встречается на собеседованиях, с подробными объяснениями различных решений. Вы сможете легко справиться с реальными задачами, которые могут возникнуть на собеседовании.