🎓

Нагрузочное тестирование на Python. Базовый

Информационные технологии
Обложка курса Купить за 3490 ₽
  • Уроков: 76
  • Сложность: easy
  • Аудитория: — Для QA-инженеров (ручных и автоматизаторов), которые хотят выйти за пределы функционального тестирования и научиться проверять производительность систем, строить нагрузочные сценарии и анализировать реальные метрики. — Для QA Automation-инженеров, которые уже уверенно пишут автотесты, но хотят прокачать навыки работы с нагрузкой, HTTP/gRPC, сидингом и CI/CD. — Для разработчиков, которые хотят лучше понимать, как их сервисы ведут себя под нагрузкой, как анализировать узкие места и проектировать системы с учётом масштабирования. — Для DevOps и SRE-инженеров, которым важно понимать, как проводить нагрузочное тестирование до релиза, отслеживать системные метрики и автоматизировать проверку SLA. — Для начинающих специалистов, которые планируют войти в IT через тестирование и хотят с самого старта формировать инженерное мышление и разбираться в архитектуре сложных систем. — Для тех, кто ищет работу или готовится к собеседованиям на позиции QA/performance-инженера, и хочет иметь в портфолио не просто курс, а фундаментальный, практически ориентированный опыт. — Для тех, кто уже проходил курсы по Locust, JMeter или k6, но чувствует, что не понимает, зачем и как всё это работает. Этот курс поможет выстроить системную картину и избавиться от подхода «просто запускаю нагрузку». — Для инженеров, которым важно разбираться в микросервисной архитектуре, взаимодействии сервисов, очередях, базе данных, кешах, и понимать, что именно нагружается и как это влияет на систему в целом.
Информационные технологии Платный
Практический курс по нагрузочному тестированию. Вы освоите Locust, Kafka, gRPC, HTTP, HTTPX, Pydantic, FastAPI, Docker, Grafana, Postgres, Redis, S3 и Postman. Научитесь строить фреймворк для нагрузочного тестирования, работать с сидингом, моками, CI/CD, анализировать метрики, применять лучшие практики и работать с реальными сценариями. Курс погружает в профессию QA Performance Engineer.

💻 Этот курс — погружение в профессию 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».

🔥 Настоящий 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, выдача результатов, автоматизация. Это уровень зрелых процессов, который редко встречается в учебных курсах.

Инфраструктура как часть навыков
Вы научитесь работать с инструментами, которые окружают нагрузочные тесты в реальной жизни: Git, 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, микросервисами и нюансами, которые встречаются в реальной архитектуре.

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

🎓 Что включает в себя базовая версия курса?

  • 🧩 Полноценные уроки и практические задания — весь учебный материал остаётся доступным: видеоуроки, код, задания, объяснения.
  • 🔍 Формат "Всё сам" — вы выполняете задания самостоятельно, без обратной связи от преподавателя. Это отличный вариант для тех, кто готов разбираться в материале самостоятельно.
  • 📂 Пример решения под спойлером — каждое практическое задание сопровождается готовым примером решения от преподавателя. Вы можете сверить свой подход и разобрать логику решения.
  • 🚫 Без проверки заданий — в базовой версии преподаватель не проверяет решения, не даёт фидбэк и не отвечает на вопросы. Поддержка возможна только в рамках расширенного курса.
  • 📌 Кому подойдёт этот формат? Этот формат отлично подойдёт тем, кто:
    • предпочитает учиться в самостоятельном темпе;
    • уже имеет базовый опыт и хочет восполнить пробелы;
    • не нуждается в консультациях и проверке кода.

🔥 Как устроено обучение?

В процессе курса вы будете:

  • ✅ Изучать теоретическую часть в удобном формате.
  • ✅ Смотреть подробные разборы на видео.
  • ✅ Решать тесты с автоматической проверкой.
  • ✅ Выполнять практические задания. Будет очень много практики!

Каждый урок максимально насыщен:

  • 🎯 Глубокая проработка темы с разбором нюансов и тонкостей.
  • 🔎 Практика в видео + тестовые задания + советы и рекомендации.

⚠️ Важно! Модули в курсе будут открываться постепенно. Чтобы перейти к следующему модулю, необходимо набрать определенное количество баллов в текущем. Это вынужденная мера. Выполнять все задания не требуется, достаточно выполнить основную часть.

📚 Дополнительные бесплатные материалы

Перед прохождением курса, вы можете ознакомиться с моими статьями:

🔗 Мои ресурсы:

📌 Об авторских правах и официальной покупке курса

Курс распространяется только на платформе Stepik. Приобретая его здесь, вы получаете:

  • Полный доступ ко всем материалам: видео, тексты, задания, тесты, инфраструктура;
  • Обновления и новые модули, которые появляются по мере развития курса;
  • Я регулярно отвечаю на вопросы в комментариях, помогаю с кодом и разборами;
  • Актуальные версии стенда, конфигов и приложений, которые синхронизированы с уроками.

🎓 Курс построен как живой инженерный продукт — с инфраструктурой, CI/CD, задачами и поддержкой. Всё это работает только в официальной версии.

💬 Если вы находите курс на сторонних сайтах — знайте, что в таких копиях:

  • отсутствуют задания с проверкой;
  • нет комментариев, обновлений и обратной связи;
  • часто используются устаревшие материалы или неполные версии уроков.

Это уже не тот курс, который я задумывал.

Если вы хотите пройти курс «как он есть», с поддержкой, проверкой и развитием — проходите его здесь, на Stepik.

Требования:
  • Базовые знания Python. Понимание синтаксиса языка, умение работать с переменными, функциями, базовыми классами и библиотеками. Вам не нужно быть экспертом, но знание основ — обязательно.

  • Базовое понимание принципов программирования. Знание ООП, понимание структур данных (списки, словари и т.п.), базовых алгоритмов и принципов разработки — поможет увереннее осваивать архитектуру фреймворка и API-клиентов.

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

  • Уверенное владение компьютером и рабочим окружением. Умение устанавливать и настраивать программы, работать с терминалом, пользоваться IDE (например, PyCharm или VS Code), использовать браузер для ручного тестирования и работы с Postman.

  • Рабочее окружение. Для прохождения некоторых уроков может понадобиться VPN (в зависимости от региона). Также вам потребуется современный компьютер с нормальной производительностью — достаточно ноутбука с 8 ГБ оперативной памяти и свежей системой. Ничего «сверхмощного» не требуется, но на старом железе запуск тестового стенда может быть затруднён.