Чему вы научитесь
- * применять GraphQL-запросы, мутации и подписки для взаимодействия с API
- * писать автоматические тесты для GraphQL с использованием pytest и pytest-asyncio
- * разрабатывать клиент для работы с WebSocket-подписками по протоколу graphql-transport-ws
- * строить тесты для cursor-based пагинации, фильтрации и сортировки данных
- * сравнивать GraphQL с REST API и выбирать подходящий подход для разных задач
- * изолировать тесты с помощью моков (monkeypatch, responses)
- * проводить нагрузочное тестирование и измерять метрики производительности (p95, latency)
- * проверять контракты API через интроспекцию схемы
- * использовать фикстуры pytest для подготовки и очистки тестовых данных
- * обрабатывать бизнес-ошибки и ошибки валидации GraphQL
О курсе
GraphQL — это язык запросов для API, который становится стандартом в современной разработке. В отличие от REST, GraphQL позволяет клиенту самому определять, какие данные ему нужны, и получать их одним запросом. Это удобно для фронтенда, но создаёт новые вызовы для тестировщиков: нужно уметь тестировать не только обычные запросы, но и мутации, подписки в реальном времени, пагинацию и фильтрацию.
Этот мини-курс даёт системное понимание того, как тестировать GraphQL API на Python. Мы начнём с основ — что такое GraphQL и чем он отличается от REST — и постепенно перейдём к продвинутым темам: подпискам через WebSocket, мокированию, нагрузочному тестированию.
Весь курс построен на учебном стенде QA-Kit GraphQL — реальном сервере на FastAPI и Strawberry GraphQL с базой данных SQLite. Вы не просто читаете теорию, а сразу пишете работающие тесты, которые можно запустить локально. Каждое занятие заканчивается практическим заданием.
Для кого этот курс
Начальные требования
- Базовые знания Python: синтаксис, функции, классы, работа с файлами
- Понимание основ HTTP: методы GET/POST, коды ответов, заголовки (библиотека requests)
- Опыт работы с pytest на уровне написания простых тестов
- Установленные Python 3.10+, Docker и Docker Compose для запуска учебного стенда
- Базовое понимание, что такое API и зачем нужно тестирование
Знания GraphQL не требуются — мы начнём с самых основ.
Наши преподаватели
Как проходит обучение
Курс состоит из шести тематических глав. Каждая глава содержит теоретический материал с аналогиями и примерами, а также практические задания.
В начале курса вы разворачиваете учебный стенд QA-Kit локально через Docker Compose. Этот стенд — содержит GraphQL-сервер с базой данных, на котором вы будете отрабатывать все навыки.
По мере прохождения вы напишете собственный GraphQL-клиент, научитесь тестировать мутации и подписки, освоите пагинацию и фильтрацию, а в финале — мокирование и нагрузочное тестирование.
Программа курса
Что вы получаете
- * навыки тестирования GraphQL API, востребованные в современных IT-компаниях
- * готовый учебный стенд с GraphQL-сервером, который можно использовать для практики и в портфолио
- * набор автотестов на pytest, покрывающих все основные сценарии работы с GraphQL
- * понимание разницы между GraphQL и REST и умение выбирать подход под задачу
- * опыт работы с WebSocket-подписками и асинхронным тестированием