Чему вы научитесь
- * применять GraphQL-запросы, мутации и подписки для взаимодействия с API
- * писать автоматические тесты для GraphQL с использованием pytest и pytest-asyncio
- * разрабатывать клиент для работы с WebSocket-подписками по протоколу graphql-transport-ws
- * строить тесты для cursor-based пагинации, фильтрации и сортировки данных
- * сравнивать GraphQL с REST API и выбирать подходящий подход для разных задач
- * изолировать тесты с помощью моков (monkeypatch, responses)
- * проводить нагрузочное тестирование и измерять метрики производительности (p95, latency)
- * проверять контракты API через интроспекцию схемы
- * использовать фикстуры pytest для подготовки и очистки тестовых данных
- * обрабатывать бизнес-ошибки и ошибки валидации GraphQL
О курсе
Для кого этот курс
Начальные требования
- Базовые знания 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-подписками и асинхронным тестированием