Тестирование GraphQL (python) (мини-курс)

Практический мини-курс по автоматизации тестирования GraphQL API на Python. Вы научитесь писать автотесты для запросов, мутаций и подписок, работать с пагинацией, фильтрацией и сортировкой, а также освоите мокирование и нагрузочное тестирование. Курс построен на учебном стенде с реальным сервером на FastAPI и…
Продвинутый уровень

Чему вы научитесь

  • * применять 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. Вы не просто читаете теорию, а сразу пишете работающие тесты, которые можно запустить локально. Каждое занятие заканчивается практическим заданием.

Для кого этот курс

* Начинающим QA-инженерам, которые столкнулись с GraphQL API в проекте и не знают, с какой стороны к нему подступиться * Автоматизаторам тестирования на Python, которые хотят расширить свой стек технологий и научиться тестировать современные API * Разработчикам, которым нужно писать интеграционные тесты для собственного GraphQL-сервера * Студентам технических специальностей, изучающим тестирование ПО и современные подходы к построению API * Всем, кто переходит с REST API на GraphQL и хочет понять разницу в подходах к тестированию Курс будет особенно полезен тем, кто уже знаком с основами Python, Pytest и requests, но ещё не работал с 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-подписками и асинхронным тестированием
Price: Бесплатно

Расскажите о курсе друзьям

Price: Бесплатно