Чему вы научитесь
- Проектировать и реализовывать стабильные, быстрые и детерминированные автотесты для backend-систем, работающих в микросервисной архитектуре.
- Строить изолированную тестовую инфраструктуру для backend-приложений с использованием Docker и Docker Compose, включая сервисы, базы данных, очереди и мок-зависимости.
- Разрабатывать изоляционные автотесты, которые запускаются поверх локального тестового стенда и воспроизводимо работают как локально, так и в CI/CD.
- Тестировать backend-приложения, использующие HTTP и gRPC протоколы, с акцентом на проверку бизнес-сценариев, а не отдельных запросов.
- Тестировать асинхронные event-driven сценарии с использованием Kafka без флейков и недетерминированного поведения.
- Проектировать и реализовывать собственные mock-сервисы для HTTP и gRPC, управляя поведением внешних интеграций на уровне сценариев.
- Работать с контрактами взаимодействия микросервисов и использовать их как основу для тестирования и мокирования.
- Разрабатывать сценарные API-клиенты для HTTP, gRPC и Kafka, применимые в автотестах, моках и инфраструктурных сценариях.
- Использовать сценарный подход для управления поведением системы и зависимостей в автотестах.
- Тестировать backend-системы через API, события Kafka и прямую работу с базой данных (PostgreSQL), осознанно выбирая подход в зависимости от сценария и архитектуры системы.
- Проектировать тесты так, чтобы они не зависели от порядка выполнения, состояния среды и внешних факторов.
- Организовывать детерминированную подготовку тестовых данных и управлять состоянием системы перед выполнением тестов.
- Интегрировать запуск тестового стенда и изоляционных автотестов в CI/CD пайплайн с автоматическим поднятием инфраструктуры, выполнением тестов и публикацией Allure-отчётов.
- Анализировать причины нестабильности автотестов и устранять флейки на архитектурном уровне, а не через ретраи и костыли.
- Проектировать тестовую систему так, чтобы автотесты выполнялись за миллисекунды, а асинхронные сценарии — за предсказуемое и контролируемое время.
О курсе
Инженерный курс по автоматизации тестирования backend-систем. Вы научитесь проектировать быстрые, стабильные и детерминированные автотесты для микросервисных архитектур с Kafka, gRPC, HTTP, PostgreSQL и асинхронными бизнес-процессами. Работа с тестовым стендом, моками, Docker, инфраструктурой и CI/CD. Курс для специалистов уровня middle и выше, где автотесты перестают быть проблемой и становятся надёжным инструментом качества.
Для кого этот курс
— Для QA Automation-инженеров (middle и выше), которые уже пишут автотесты и фреймворки, но сталкиваются с нестабильными прогонами, флейками, долгими ночными запусками и потерей доверия к тестам в команде.
— Для backend-QA и automation-инженеров, работающих с микросервисной архитектурой, Kafka, gRPC, базами данных и асинхронными процессами, и которым важно тестировать систему не как «чёрный ящик», а как целостную архитектуру.
— Для специалистов, у которых автотесты стали узким местом: тесты долго выполняются, часто падают, требуют ретраев и постоянной стабилизации вместо того, чтобы давать быстрый и надёжный фидбек.
— Для инженеров, которые хотят перейти от проверки отдельных эндпоинтов к тестированию бизнес-сценариев, event-driven потоков и состояния системы с учётом реальной архитектуры backend.
— Для QA Automation-инженеров, которые уже освоили API-тестирование, но хотят выйти на следующий уровень: работать с тестовой инфраструктурой, моками, конфигурацией стенда, базами данных и CI/CD как с единой системой.
— Для инженеров, которым важно shift-left мышление: получать быстрый и предсказуемый фидбек от автотестов ещё до интеграционных и end-to-end стадий.
— Для тех, кто работает в командах с высоким темпом разработки, где любые флейки и долгие прогоны критичны, блокируют релизы и подрывают доверие к автоматизации.
Начальные требования
- Уверенное знание Python. Курс рассчитан на слушателей, которые уже используют Python в работе или учебных проектах. Необходимо уверенно читать и писать код, работать с функциями, классами, типами данных и сторонними библиотеками.
- Опыт автоматизации тестирования backend. Ожидается базовый практический опыт написания автотестов и тестовых фреймворков. В курсе активно используются pytest, Pydantic, HTTP-клиенты, gRPC — мы применяем эти инструменты, но не разбираем их с нуля.
- Понимание ключевых backend-технологий. Будет полезно базовое понимание того, как работают: HTTP и REST API, gRPC, базы данных (желательно PostgreSQL), ORM (например, SQLAlchemy), асинхронные процессы и очереди сообщений (Kafka). Глубоких теоретических знаний не требуется, но общий контекст backend-разработки и тестирования должен быть знаком.
- Базовые навыки работы с Docker и Docker Compose. В курсе используется локальный тестовый стенд, поднимаемый через Docker Compose. Важно, чтобы Docker был установлен, а базовые операции (запуск контейнеров, просмотр логов, перезапуск сервисов) были понятны.
- Понимание принципов CI/CD. Желательно иметь общее представление о CI/CD-пайплайнах (GitHub Actions, GitLab CI, Jenkins или аналоги): как запускаются тесты, что такое пайплайн и зачем он нужен. Подробное обучение CI/CD с нуля в курс не входит.
- Готовность работать с инфраструктурой и конфигурацией. Курс предполагает работу не только с кодом тестов, но и с конфигурацией тестового стенда, сервисов и окружения. Потребуется читать логи, разбираться в настройках и понимать, как компоненты системы связаны между собой.
- Рабочее окружение. Подойдёт любой современный компьютер или ноутбук с актуальной операционной системой. Используемый в курсе тестовый стенд не требует высокой производительности и без проблем запускается на обычной машине для разработки.
Преподаватели курса
Как проходит обучение
Каждый урок состоит из нескольких ключевых элементов:
- Теория: Подробные текстовые материалы с ясным объяснением, ссылками на дополнительные ресурсы и скриншотами, чтобы помочь вам понять сложные моменты.
- Видео: Практические видеоуроки, где подробно объясняется выполнение заданий и работа с инструментами, показываются шаги решения реальных задач.
- Тесты и задания: Каждый урок включает тесты и задания с автоматической проверкой для закрепления теоретических знаний. Это помогает убедиться, что вы усвоили материал.
- Практическое задание: После теории и тестов вы самостоятельно реализуете изоляционные автотесты: проектируете сценарии, работаете с моками, event-driven потоками, API, базой данных и инфраструктурой тестового стенда.
Курс построен так, чтобы вы могли погружаться в материал и усваивать его поэтапно. Вы читаете теорию, изучаете скриншоты, смотрите видеоуроки с практическими примерами, выполняете тесты и задачи, а затем закрепляете знания на практике, получая персональный фидбэк.
Сертификат
Успешно завершив курс, вы получите сертификат от платформы Stepik. Уже 4 учеников получили сертификат.
Что вы получите
- Инженерный подход к автоматизации backend-тестирования. Вы переходите от «набора тестов» к проектированию тестовой системы: с изоляцией, управляемым состоянием, контрактами и предсказуемым поведением. Это уровень, на котором автотестам действительно доверяют.
- Навыки построения быстрых и стабильных автотестов. Вы научитесь создавать детерминированные тесты без флейков, ретраев и случайных падений. Тесты выполняются быстро, дают предсказуемый фидбек и не блокируют CI/CD.
- Практику с production-like backend-архитектурой. Вы работаете с полноценным микросервисным стендом: HTTP и gRPC, Kafka, база данных, внешние интеграции и асинхронные бизнес-процессы — максимально близко к реальным проектам.
- Умение тестировать backend через разные источники данных. Вы осваиваете тестирование через API, события Kafka и базу данных и учитесь осознанно выбирать подход в зависимости от сценария и архитектуры системы.
- Навык проектирования mock-сервисов и изоляции зависимостей. Вы научитесь писать собственные HTTP и gRPC mock-сервисы и управлять поведением внешних интеграций на уровне сценариев.
- Архитектуру изоляционных тестов для реальных проектов. Вы построите тестовую инфраструктуру, одинаково воспроизводимую локально и в CI/CD: с Docker Compose, конфигурацией окружения и автоматическим запуском.
- Проверенные инженерные паттерны и решения. Вы получите набор практик: сценарный подход, управление контекстом теста, детерминированная подготовка данных, контрактное тестирование и изоляция асинхронных процессов.
- Готовый инженерный проект. Итогом курса станет целостная тестовая система, которую можно использовать в работе и показывать на собеседованиях.
- Личную проверку заданий и подробный фидбэк. Все практические задания проверяются вручную с разбором архитектурных решений и рекомендациями по повышению стабильности тестов.
- Знания, которые не устаревают. Курс построен на инженерных принципах, а не на версиях библиотек. Эти навыки применимы в любых технологиях и командах.
Нагрузка
11-13 часов в неделю