Тестирование REST API
Многие современные веб-приложения используют REST API для взаимодействия с сервером и для интеграции друг с другом, поэтому тестировщикам веб-приложений необходимо владеть инструментами и техниками тестирования REST API.
Онлайн-тренинг
Описание
тренер: Ольга Назина
Многие современные веб-приложения используют REST API для взаимодействия с сервером и для интеграции друг с другом, поэтому тестировщикам веб-приложений необходимо владеть инструментами и техниками тестирования REST API.
Преимущества умения тестировать API:
- Раннее тестирование — разработчики сначала делают API, а потом уже графический интерфейс. У вас есть шанс проверить логику раньше, чем ей дорисуют кнопочки в GUI
- Тестирование API — графического интерфейса может в принципе не быть. Будет только API-метод. Такое часто бывает в enterprise-системах.
- Скорость — вызвать один запрос занимает доли секунды. А вот через интерфейс повторить процедуру бывает сложно. Например, создать пользователя на 50 заполненных полей…
- Точная локализация — где конкретно произошла проблема? На сервере или клиенте? Проверьте работу сервера через API и узнаете точно
- Автоматизация — даже если у вас нет автотестов на уровне API приложения, вы можете создать свои простенькие через Postman. Это поможет не гонять одно и то же вручную + быстро создавать большие объемы данных
На курсе я расскажу о том, что должен знать тестировщик REST API. Что именно ему нужно проверять в заголовках или теле ответа. Готовьтесь к тому, что практики будет много!
Входной порог: я предполагаю, что вы:
1. Знаете английский на уровне «чтение со словарем / гуглтранслейтом». Мы будем тестировать в том числе JIRA API по стандартной документации, которая на английском. Вы должны прочитать описание метода и понять его.
2. Умеете тестировать: знаете про классы эквивалентности и граничные значения. То есть базовыми знаниями обладаете. Подробнее см в блоке «Вопросы и ответы»
Программа курса
0. Введение в SOAP и REST (бесплатная лекция!)
- Что такое API
- Способы интеграции систем
- HTTP-протокол: SOAP и REST
- 7 уровней OSI
- Зачем уметь тестировать API
Лекция выложена в открытый доступ youtube-канале Ольги Назиной, посмотреть ее можно вот тут.
Первым заданием курса будет повторить за тренером вызов запроса doRegister в Users через SOAP и REST, в SOAP Ui и Postman-е соответственно. Попробуйте это сделать! Во время обучения мы уже будем считать, что базовый запрос вы отправить в инструменте можете. Лекция не входит в 5 недель обучения, она сразу доступна в системе дистанционного обучения после оплаты курса. Таким образом, в день старта обучения вам будут доступны лекции 0 и 1.
1. HTTP Headers
- Что такое заголовки сообщений. Где их можно посмотреть
- Что мы тестируем в REST API
- Status Code: коды ответов
- Тестируем подсказки (показываем применение теории на практике)
- Тестируем JIRA
2. HTTP Body
- Разные форматы тела запроса (простые: binary, form-data, x-www-form-urlencoded)
- XML-формат: что это такое, правила Well Formed XML, на что обратить внимание при тестировании
- JSON-формат: что это такое, правила Well Formed JSON, на что обратить внимание при тестировании
- Откуда взять данные для тела запроса, если нет ТЗ, но есть WSDL для SOAP-а на те же методы
- Что мы тестируем в REST API
- Тестируем Users по мотивам теоретической части
- Тестируем подсказки
3. Типы методов (GET, POST, PUT, DELETE). Локализация багов
- Какие типы методов бывают
- Операции CRUD через GET, POST, PUT, DELETE
- Идемпотентность в контексте REST API
- Как тип метода сказывается на тестировании? На что проверять методы, у которых нет тела
- Примеры:
— GET
— POST
— PUT
— DELETE
— другие - Локализация багов при помощи REST API
4. Автоматизация на уровне Postman
- Сохранение тестов
- Создание тестовых коллекций
- Стандартные тесты Postman
- Как модифицировать тесты под себя в старой и новой версии
- JSON, XML — как достать данные из дерева объектов
- Переменные и окружения — для чего нужны и как используются
- Как запустить один тест несколько раз
- Как загрузить тестовые данные из файла
- Как создать много данных с уникальными значениями (email, ФИО — чтобы сразу зарегистрировать много пользователей, например)
Внимание: у нас не курс по программированию, мы не будем писать грамотный и качественный код. Я рассказываю только основы, которые помогают взять пример из Постмана и доработать под свои нужды. Если вас интересует именно автоматизация тестов, то лучше сходить на курс Программирование на Java для тестировщиков
5. Code VS Contract First. Что еще надо знать про REST API
- WADL — как прочитать схему
- Code First или Contract First — в чем разница между подходами, как они сказываются на тестировании
- Backwards-compatible изменения методов
- Инструменты для отправки REST запросов — Soap Ui, CUrl, плагины в браузере
- Пример автоматизации REST на уровне API (честной автоматизации внутри кода, не на уровне Postman)
- Подводим итоги курса
ВОПРОСЫ И ОТВЕТЫ
Какое время занятий?
Время вы выбираете сами. В системе дистанционного обучения выкладывается видеозапись с лекцией, а потом у вас есть неделя на выполнение заданий. Когда именно его делать — решать вам.
Как я получу фидбэк при online-формате?
Через телеграм-чат, комментарии к домашним заданиям в системе дистанционного обучения.
Пойму ли я материал?
Курс совмещает все виды обучения: видео-лекции + статьи в доп материалах + практическая работа (услышал, увидел, пощупал). Так что уверена, сможете! А если что-то не получается, можно задать вопрос в чате
Нужно ли что-то знать заранее?
Есть обязательный базовый порог: знание английского (со словарем) и умение тестировать (у нас не школа для начинающих и рассказывать про классы эквивалентности я не буду).
Желательно иметь базовое представление о языке программирования (любом), так будет проще понять тему автоматизации — что такое переменные, массивы, какие бывают типы данных и операторы сравнения. Тренер расскажет про эти понятия в привязке к примерам, но вам будет проще, если что-то почитаете заранее.
Также посмотрите нулевую лекцию и попробуйте повторить запросы за тренером.
А зачем мне уметь тестировать? Дайте мне только задания про API!
Я специально делаю на «полное тестирование метода» одно задание из пяти. То есть основа — это как раз пощупать инструменты и все такое.
Но тестирование базовое — неотделимо от любых его отклонений. Точно также, чтобы написать автотест, вам надо сначала подумать, «а что именно я хочу заавтоматизировать». И чтобы проверить метод, вам надо помнить, что проверять надо не только АПИ часть, но и бизнесовую. И я совершенно не хочу, чтобы, пройдя курс по тестированию АПИ, вы считали, что при тестировании методов надо просто извращаться с well-formed json \ xml, забив вообще на бизнес-логику и обычное тестирование. И еще и говорить, что тренер вас так учил
Поэтому домашние задания построены так: сначала несколько заданий именно на API-часть, «проверьте заголовки как в лекции», «передайте тело так, чтобы получить то и се»… А потом идет 1-2 полноценных задания, как оно будет на реальной работе: «Протестировать метод». И тут вы применяете чек-лист тренера по API-части и добавляете проверки согласно принципам тест-дизайна «а как бы я тестировал параметр через интерфейс».
Можно ли работать на Mac или Linux?
Ограничений по OS нет
Об авторе курса
Автор информационных материалов — опытный практик.
Чтобы составить представление о моем стиле повествования, посмотрите бесплатную лекцию из описания программы курса. Также можете ознакомиться с материалами по REST, которые я сделала в помощь студентам.
Статьи:
Видео:
Формат
5 занятий (6 часов теории) + много практических заданий для самостоятельной работы + постоянные консультации тренера в чате.
Раз в неделю по понедельникам до 12.00 по Московскому времени выкладываются теоретические лекции, ссылки на дополнительные материалы, домашняя работа.
Теоретическую информацию можно посмотреть в любое удобное время.
Помимо теоретической части, вас также ждут практические задания для самостоятельной работы, которые вы можете прислать тренеру на проверку. После проверки практических заданий Вы получаете подробный комментарий по своей работе и при необходимости советы по доработке. По результатам комментариев тренера Вы можете переделать работу и отправить ее тренеру еще раз.
Общение участников курса и тренера проходит и в чате группы, где можно задавать вопросы тренеру и при желании общаться с другими участниками группы. Вы можете задавать вопросы по теоретическому материалу или практическим работам, как только они у вас возникают.
Все выпускники, успешно сдавшие домашние задания, получают сертификат.
Материалы курса доступны в течение года с даты окончания.
Условия
Стоимость участия для физических лиц: 7 000 рублей за весь курс.
Стоимость участия для юридических лиц: 9 000 рублей за весь курс за одного участника. При регистрации от 3-х участников на один курс действует 15% скидка.
Организатор мероприятия: ИП Назина Ольга Евгеньевна, ИНН 772791965180, ОГРНИП 315774600011282
Услуги оказываются на основании публичного договора оферты. Ознакомиться с договором можно ЗДЕСЬ.
Если Вы хотите оплатить тренинг прямо сейчас, то нажмите кнопку выше (если кнопка активна, значит можно оплачивать не беспокоясь о наличии мест). После оплаты мы пришлем письмо о регистрации на курс и подтверждение оплаты. Если Вы не получили письмо в течение рабочего дня, просто отправьте сообщение на trainings@software-testing.ru
Если Вы хотите совершить оплату позже, для гарантированного участия обязательно забронируйте место на тренинге, для этого необходимо нажать на кнопку ЗАПИСАТЬСЯ справа от тренинга и заполнить все необходимые поля
Если у Вас есть какие-то вопросы, их можно задать по указанному выше адресу.
Посмотреть информацию о способах оплаты: http://shop.testbase.ru/buy/sposoby-oplaty
Информация для юридических лиц:
Для регистрации на тренинг и оформления договора и выставления счета на оплату нажмите кнопку Записаться, выберите пункт Организация и заполните все поля.
Обратите внимание, что при постоплате стоимость тренинга увеличивается на 25%.
В случае возникновения вопросов обращайтесь по адресу trainings@software-testing.ru.
Ближайшие онлайн
-
Тестирование производительности: JMeter 5
Начало: 1 ноября 2024
-
Логи как инструмент тестировщика
Начало: 4 ноября 2024
-
Тестировщик ПО: интенсивный курс со стажировкой (ПОИНТ)
Начало: 5 ноября 2024
-
Тестирование юзабилити (usability)
Начало: 6 ноября 2024
-
Python для начинающих
Начало: 7 ноября 2024
-
Азбука IT
Начало: 7 ноября 2024
-
Инженер по тестированию программного обеспечения
Начало: 7 ноября 2024
-
Регулярные выражения в тестировании
Начало: 7 ноября 2024
-
Создание и управление командой тестирования
Начало: 7 ноября 2024
-
Организация автоматизированного тестирования
Начало: 8 ноября 2024
-
Тестирование веб-приложений 2.0
Начало: 8 ноября 2024
-
Английский для тестировщиков
Начало: 11 ноября 2024
-
Тестирование REST API
Начало: 11 ноября 2024
-
Тестирование без требований: выявление и восстановление информации о продукте
Начало: 11 ноября 2024
-
Автоматизатор мобильных приложений
Начало: 13 ноября 2024
-
Автоматизация тестирования REST API на Java
Начало: 13 ноября 2024
-
Автоматизация тестирования REST API на Python
Начало: 13 ноября 2024
-
Тестирование безопасности
Начало: 13 ноября 2024
-
Тестирование мобильных приложений 2.0
Начало: 13 ноября 2024
-
Тестирование GraphQL API
Начало: 14 ноября 2024