Чему вы научитесь
- Понимать архитектуру gRPC и уверенно читать контракты в .proto файлах (сообщения, сервисы, типы данных).
- Настраивать тестовое окружение: генерировать клиентские заглушки (stubs) из .proto и подключаться к микросервисам.
- Писать позитивные и негативные автотесты с использованием pytest и библиотеки grpcio.
- Различать и обрабатывать ошибки: понимать разницу между транспортными сбоями (коды grpc.StatusCode) и бизнес-ошибками (Application-Level).
- Тестировать устойчивость соединения: настраивать таймауты, дедлайны и проверять живучесть gRPC-канала после сетевых сбоев.
- Автоматизировать Server Streaming RPC: итерировать по потоку сообщений, валидировать их порядок и корректно управлять жизненным циклом подписки.
- Проектировать тесты по принципу «Чёрного ящика»: опираться только на контракт API, не импортируя внутренний код сервиса (модели БД или бизнес-логику).
О курсе
Освойте автоматизацию тестирования gRPC API на Python: от чтения контрактов .proto и валидации данных до тестирования серверных стримов и таймаутов. Все навыки отрабатываются на реальном микросервисе стенда QA-Kit с написанием готовых автотестов на pytest.
Для кого этот курс
* Начинающим и Middle QA-инженерам, которые столкнулись с микросервисной архитектурой и gRPC в проекте и не знают, с какой стороны к нему подступиться.
* Автоматизаторам тестирования на Python, которые хотят расширить свой стек технологий и научиться работать с бинарными протоколами и стримами.
* Разработчикам, которым нужно писать надёжные интеграционные тесты для собственных gRPC-сервисов.
* Всем, кто переходит с REST или GraphQL на gRPC и хочет понять разницу в подходах к тестированию.
Курс будет особенно полезен тем, кто уже знаком с основами Python и Pytest, но ещё не работал с Protocol Buffers и gRPC.
Начальные требования
- Базовые знания Python: синтаксис, функции, классы, работа с модулями.
- Понимание основ API: чем RPC отличается от REST, что такое контракт и сериализация данных.
- Опыт работы с
pytestна уровне написания простых тестов и использования фикстур. - Установленные Python 3.10+, Docker и Docker Compose для запуска учебного стенда QA-Kit.
- Базовое понимание, что такое микросервисы и зачем нужна межсервисная коммуникация.
- Знания gRPC не требуются — мы начнём с самых основ и разберём всё «на пальцах».
Преподаватели курса
Как проходит обучение
- Структурированность: Курс разбит на 4 логические главы — от настройки окружения и базовых операций до таймаутов и стриминга.
- Теория через аналогии: Сложные концепции (бинарная сериализация, HTTP/2, стримы) объясняются «на пальцах» с примерами из реальной жизни, без лишнего академизма.
- Разбор паттернов: Каждая глава содержит готовые примеры кода с подробными комментариями SDET, объясняющими почему тест написан именно так.
- Практика в конце каждой главы: Закрепление материала через самостоятельные задания с четкими критериями приёмки и подсказками.
- Фокус на индустриальных стандартах: Мы пишем тесты так, как это принято в реальных продуктовых командах — изолированно, с использованием фикстур и с проверкой контракта.
Что вы получите
- Готовый boilerplate (шаблон) проекта с настроенным pytest, фикстурами и структурой папок, который можно сразу брать в работу над коммерческими проектами.
- Набор рабочих автотестов для gRPC-сервиса, покрывающих основные сценарии: валидацию контракта, бизнес-правила, таймауты и стримы.
- Навык отладки gRPC-трафика и понимание того, как работать с бинарными протоколами, которые не прочитать в обычном браузере.
- Уверенность при работе с микросервисами: вы перестанете бояться стримов и асинхронных вызовов, которые часто вызывают сложности у автоматизаторов.
- Расширенный стенд QA-Kit с реализованным Server Streaming, готовый для дальнейших экспериментов, например, для нагрузочного тестирования.