Тестирование GraphQL API

Описание курса

GraphQL приходит на смену REST API, исправляя его недостатки. Эта технология набирает обороты и уже активно используется в крупных системах, о ней говорят на конференциях, её активно внедряют в свои продукты.

Поэтому тестировщику становится важно понимать, что это такое, как вызывать GraphQL API, и как его тестировать. Именно этому мы и будем учиться на курсе. Я подробно расскажу и покажу на примерах, как писать запросы, как составляется схема, как можно автоматизировать рутину (в Postman-е), а вы закрепите пройденный материал домашними заданиями. Готовьтесь к тому, что практики будет много!

Работать будем с инструментами:

  • Apollo
  • Postman

Входной порог! Я предполагаю, что вы уже умеете тестировать: знаете про классы эквивалентности и граничные значения. То есть базовыми знаниями тестирования владеете. Подробнее см в блоке «Вопросы и ответы»

 

Темы курса

1. Введение в GraphQL API

  1. Что такое GraphQL API и как его вызывать (учимся «накликивать» запрос)
  2. Структура запроса в GraphQL
  3. Что такое JSON (формат ответа от сервера)
  4. Чтение данных — запросы с типом query
  5. Изменение данных — запросы с типом mutation
  6. Подписки — запросы с типом subscription
  7. Использование variables (переменных) в запросе

2. Schema и как по ней составлять запрос

Все запросы составляются по схеме, поэтому её нужно уметь читать. Этому и будем учиться:

  1. Схема GraphQL
  2. Какие данные мы можем получить в ответе GraphQL API
  3. Типы данных в схеме:
    1. Scalar
    2. Object
    3. Input
    4. Enum
    5. Union
    6. Interface
  4. Массивы и обязательные поля
  5. Комментарии
  6. Типы запросов:
    1. Query
    2. Mutation
  7. Как написать схему
  8. Изменения, вносимые в схему — на что влияют
  9. Инструменты вызова GraphQL:
    1. Apollo
    2. Postman
    3. GraphQL-playground
    4. Другие инструменты

3. Тестирование GraphQL API

  1. GraphQL API vs REST API — чем отличаются
  2. Тестируем запрос в GrahpQL API
  3. Тестирование ролевой модели и доступов
  4. Тестируем параметры
  5. Тестируем заголовки
  6. Тестируем ответ
  7. Разные виды тестирования — как влияют на тесты

4. Автоматизация на уровне Postman

  1. Выбор инструмента для автоматизации (проблемы Apollo)
  2. Сохранение тестов
  3. Создание и запуск тестовых коллекций
  4. Переменные и окружения — для чего нужны и как используются
  5. Как передать рандомные значения
  6. Как запустить один запрос несколько раз
  7. Как загрузить тестовые данные из файла
  8. Как написать первый автотест в Postman
  9. JSON — как достать данные из:
    1. простого массива
    2. простого объекта
    3. дерева объектов
  10. Переиспользование переменных

Внимание: у нас не курс по программированию, мы не будем писать грамотный и качественный код. Я рассказываю только основы, которые помогают взять пример из Постмана и доработать под свои нужды.

Если вам хочется больше теории и практики по тестам в постмане, то это на курс Автоматизация тестов для REST API при помощи Postman. А если интересует «чистая» автоматизация, не в Postman, то лучше сходить на курс Программирование на Java для тестировщиков.

 

Формат курса

Онлайн-обучение — в систему дистанционного обучения один раз в неделю выкладывается видео-лекция и домашние задания. Лекцию можно посмотреть в удобное для вас время.

В общем чате можно задавать вопросы тренеру.

 

Об авторе курса

Ольга Назина — тренер с лицензией на образовательную деятельность. Более 10 лет разрабатывает программы для обучения, умеет объяснять простым и понятным языком. Автор 3 книг по тестированию на русском языке.

 

Вопросы и ответы

Какое время занятий?

Время вы выбираете сами. В системе дистанционного обучения выкладывается видеозапись с лекцией, а потом у вас есть неделя на выполнение заданий. Когда именно его делать — решать вам.

Как я получу фидбэк при online-формате?

Через телеграм, комментарии к домашним заданиям в системе дистанционного обучения.

Пойму ли я материал? 

Курс совмещает все виды обучения: видео-лекции + статьи в доп материалах + практическая работа (услышал, увидел, пощупал). Так что уверена, сможете! А если что-то не получается, можно задать вопрос в чате

Нужно ли что-то знать заранее?

Есть обязательный базовый порог: умение тестировать (у нас не школа для начинающих).

Желательно иметь базовое представление о языке программирования (любом), так будет проще понять тему автоматизации — что такое переменные, массивы, какие бывают типы данных и операторы сравнения. Тренер расскажет про эти понятия в привязке к примерам, но вам будет проще, если что-то почитаете заранее.

Можно ли работать на Mac или Linux?

Ограничений по OS нет

Я вижу пересечения с вашим курсом по тестированию REST API, их много? Будет ли мне интересно после курса по ресту?

Пересечения действительно есть, но в основном в теории. Смотрите: первые две темы уникальны для этого курса, так как рассказывают про особенности GraphQL API.

Тема 3 (тестирование REST API) — теория вам уже знакома по большей части, так как тестирование API похоже для разных технологий. Но в теории есть особенности тестирования именно GraphQL, практика показана на другой системе с упором на тестирование особенностей GraphQL. Домашнее задание идет по другой системе, не той, что была в REST, тут пересечений нет.

Тема 4 (автоматизация в Postman) — теория та же самая, что дана в REST, но показана на других запросах к другой системе, а это 80% занятия. Плюс видео перезаписано (инструмент немного поменялся, но отличия некритичны). Домашние задания этой темы похожи на задания в ресте, но не 1 в 1: нужно достать значение из дерева JSON и переиспользовать переменные. Но делаем на других запросах в другой системе, то есть взять своё старое ДЗ не получится.

Итого

  • 2 дз из 16 — похожи на те, что вы уже делали, но не 1 в 1.
  • В теории тоже есть пересечения, но главное в любом курсе — это практика.

Поэтому интересно точно будет! И если вы уже прошли курс по тестированию REST API, то можете получить скидку в 15% на курс по тестированию GraphQL API (не суммируется с другими скидками). Для этого напишите на почту trainings@software-testing.ru после записи на курс и пришлите ссылку на свой сертификат.

 

Как записаться

Регистрация и дата ближайшего запуска

Способы оплаты