Описание курса
GraphQL приходит на смену REST API, исправляя его недостатки. Эта технология набирает обороты и уже активно используется в крупных системах, о ней говорят на конференциях, её активно внедряют в свои продукты.
Поэтому тестировщику становится важно понимать, что это такое, как вызывать GraphQL API, и как его тестировать. Именно этому мы и будем учиться на курсе. Я подробно расскажу и покажу на примерах, как писать запросы, как составляется схема, как можно автоматизировать рутину (в Postman-е), а вы закрепите пройденный материал домашними заданиями. Готовьтесь к тому, что практики будет много!
Работать будем с инструментами:
- Apollo
- Postman
Входной порог! Я предполагаю, что вы уже умеете тестировать: знаете про классы эквивалентности и граничные значения. То есть базовыми знаниями тестирования владеете. Подробнее см в блоке «Вопросы и ответы»
Темы курса
1. Введение в GraphQL API
- Что такое GraphQL API и как его вызывать (учимся «накликивать» запрос)
- Структура запроса в GraphQL
- Что такое JSON (формат ответа от сервера)
- Чтение данных — запросы с типом query
- Изменение данных — запросы с типом mutation
- Подписки — запросы с типом subscription
- Использование variables (переменных) в запросе
2. Schema и как по ней составлять запрос
Все запросы составляются по схеме, поэтому её нужно уметь читать. Этому и будем учиться:
- Схема GraphQL
- Какие данные мы можем получить в ответе GraphQL API
- Типы данных в схеме:
- Scalar
- Object
- Input
- Enum
- Union
- Interface
- Массивы и обязательные поля
- Комментарии
- Типы запросов:
- Query
- Mutation
- Как написать схему
- Изменения, вносимые в схему — на что влияют
- Инструменты вызова GraphQL:
- Apollo
- Postman
- GraphQL-playground
- Другие инструменты
3. Тестирование GraphQL API
- GraphQL API vs REST API — чем отличаются
- Тестируем запрос в GrahpQL API
- Тестирование ролевой модели и доступов
- Тестируем параметры
- Тестируем заголовки
- Тестируем ответ
- Разные виды тестирования — как влияют на тесты
4. Автоматизация на уровне Postman
- Выбор инструмента для автоматизации (проблемы Apollo)
- Сохранение тестов
- Создание и запуск тестовых коллекций
- Переменные и окружения — для чего нужны и как используются
- Как передать рандомные значения
- Как запустить один запрос несколько раз
- Как загрузить тестовые данные из файла
- Как написать первый автотест в Postman
- JSON — как достать данные из:
- простого массива
- простого объекта
- дерева объектов
- Переиспользование переменных
Внимание: у нас не курс по программированию, мы не будем писать грамотный и качественный код. Я рассказываю только основы, которые помогают взять пример из Постмана и доработать под свои нужды.
Если вам хочется больше теории и практики по тестам в постмане, то это на курс Автоматизация тестов для 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 после записи на курс и пришлите ссылку на свой сертификат.
Как записаться
Регистрация и дата ближайшего запуска