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

Запись идет через наш основной портал Software Testing

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

Многие современные веб-приложения используют REST API для взаимодействия с сервером и для интеграции друг с другом, поэтому тестировщикам веб-приложений необходимо владеть инструментами и техниками тестирования REST API.

Преимущества умения тестировать API:

  1. Раннее тестирование — разработчики сначала делают API, а потом уже графический интерфейс. У вас есть шанс проверить логику раньше, чем ей дорисуют кнопочки в GUI
  2. Тестирование API — графического интерфейса может в принципе не быть. Будет только API-метод. Такое часто бывает в enterprise-системах.
  3. Скорость — вызвать один запрос занимает доли секунды. А вот через интерфейс повторить процедуру бывает сложно. Например, создать пользователя на 50 заполненных полей…
  4. Точная локализация — где конкретно произошла проблема? На сервере или клиенте? Проверьте работу сервера через API и узнаете точно
  5. Автоматизация — даже если у вас нет автотестов на уровне API приложения, вы можете создать свои простенькие через Postman. Это поможет не гонять одно и то же вручную + быстро создавать большие объемы данных

На курсе я расскажу о том, что должен знать тестировщик REST API. Что именно ему нужно проверять в заголовках или теле ответа. Готовьтесь к тому, что практики будет много!

Программа курса

0. Введение в SOAP и REST (бесплатная лекция!)

  1. Что такое API
  2. Способы интеграции систем
  3. HTTP-протокол: SOAP и REST
  4. 7 уровней OSI
  5. Зачем уметь тестировать API

Лекция выложена в открытый доступ, посмотреть ее можно вот тут.

Первым заданием курса будет повторить за тренером вызов запроса doRegister в Users через SOAP и REST, в SOAP Ui и Postman-е соответственно. Попробуйте это сделать! Во время обучения мы уже будем считать, что базовый запрос вы отправить в инструменте можете. Лекция не входит в 5 недель обучения, она сразу доступна в системе дистанционного обучения после оплаты курса. Таким образом, в день старта обучения вам будут доступны лекции 0 и 1.

1. HTTP Headers

  1. Что такое заголовки сообщений. Где их можно посмотреть
  2. Что мы тестируем в REST API
  3. Status Code: коды ответов
  4. Тестируем подсказки (показываем применение теории на практике)
  5. Тестируем JIRA

2. HTTP Body

  1. Разные форматы тела запроса (простые: binary, form-data, x-www-form-urlencoded)
  2. XML-формат: что это такое, правила Well Formed XML, на что обратить внимание при тестировании
  3. JSON-формат: что это такое, правила Well Formed JSON, на что обратить внимание при тестировании
  4. Откуда взять данные для тела запроса, если нет ТЗ, но есть WSDL для SOAP-а на те же методы
  5. Что мы тестируем в REST API
  6. Тестируем Users по мотивам теоретической части
  7. Тестируем подсказки

3. Типы методов (GET, POST, PUT, DELETE). Локализация багов

  1. Какие типы методов бывают
  2. Операции CRUD через GET, POST, PUT, DELETE
  3. Идемпотентность в контексте REST API
  4. Как тип метода сказывается на тестировании? На что проверять методы, у которых нет тела
  5. Примеры:
    — GET
    — POST
    — PUT
    — DELETE
    — другие
  6. Локализация багов при помощи REST API

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

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

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

5. Code VS Contract First. Что еще надо знать про REST API

  1. WADL — как прочитать схему
  2. Code First или Contract First — в чем разница между подходами, как они сказываются на тестировании
  3. Backwards-compatible изменения методов
  4. Инструменты для отправки REST запросов — Soap Ui, CUrl, плагины в браузере
  5. Пример авторматизации REST на уровне API (честной автоматизации внутри кода, не на уровне Postman)
  6. Подводим итоги курса

 

Формат курса

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

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

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

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

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

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

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

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

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

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

Также посмотрите нулевую лекцию и попробуйте повторить запросы за тренером.

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

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

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

Напишите на trainings@software-testing.ru: свое ФИО и желаемый курс («курс про REST API»).

.

Способы оплаты — интернет банк, PayPal. Нам неважно, из России вы или нет

Курс на основной портале (там видны цена и дата ближайшего запуска)

WordPress Appliance - Powered by TurnKey Linux