- Регистрация
- 10 Апр 2017
- Сообщения
- 21,383
- Баллы
- 113
Тестирование REST API (2018)
Многие современные веб-приложения используют REST API для взаимодействия с сервером и для интеграции друг с другом, поэтому тестировщикам веб-приложений необходимо владеть инструментами и техниками тестирования REST API.
Преимущества умения тестировать API:
Входной порог: я предполагаю, что вы:
1. Знаете английский на уровне «чтение со словарем / гуглтранслейтом». Мы будем тестировать в том числе JIRA API по стандартной документации, которая на английском. Вы должны прочитать описание метода и понять его.
2. Умеете тестировать: знаете про классы эквивалентности и граничные значения. То есть базовыми знаниями обладаете. Подробнее см в блоке «Вопросы и ответы»
Программа курса
0. Введение в SOAP и REST (бесплатная лекция!)
Первым заданием курса будет повторить за тренером вызов запроса doRegister в Users через SOAP и REST, в SOAP Ui и Postman-е соответственно. Попробуйте это сделать! Во время обучения мы уже будем считать, что базовый запрос вы отправить в инструменте можете. Лекция не входит в 5 недель обучения, она сразу доступна в системе дистанционного обучения после оплаты курса. Таким образом, в день старта обучения вам будут доступны лекции 0 и 1.
1. HTTP Headers
5. Code VS Contract First. Что еще надо знать про REST API
Какое время занятий?
Время вы выбираете сами. В системе дистанционного обучения выкладывается видеозапись с лекцией, а потом у вас есть неделя на выполнение заданий. Когда именно его делать — решать вам.
Как я получу фидбэк при online-формате?
Через скайп, комментарии к домашним заданиям в системе дистанционного обучения.
Пойму ли я материал?
Курс совмещает все виды обучения: видео-лекции + статьи в доп материалах + практическая работа (услышал, увидел, пощупал). Так что уверена, сможете! А если что-то не получается, можно задать вопрос в скайп-чате
Нужно ли что-то знать заранее?
Есть обязательный базовый порог: знание английского (со словарем) и умение тестировать (у нас не школа для начинающих и рассказывать про классы эквивалентности я не буду).
Желательно иметь базовое представление о языке программирования (любом), так будет проще понять тему автоматизации — что такое переменные, массивы, какие бывают типы данных и операторы сравнения. Тренер расскажет про эти понятия в привязке к примерам, но вам будет проще, если что-то почитаете заранее.
Также посмотрите нулевую лекцию и попробуйте повторить запросы за тренером.
А зачем мне уметь тестировать? Дайте мне только задания про API!
Я специально делаю на «полное тестирование метода» одно задание из пяти. То есть основа — это как раз пощупать инструменты и все такое.
Но тестирование базовое — неотделимо от любых его отклонений. Точно также, чтобы написать автотест, вам надо сначала подумать, «а что именно я хочу заавтоматизировать». И чтобы проверить метод, вам надо помнить, что проверять надо не только АПИ часть, но и бизнесовую. И я совершенно не хочу, чтобы, пройдя курс по тестированию АПИ, вы считали, что при тестировании методов надо просто извращаться с well-formed json \ xml, забив вообще на бизнес-логику и обычное тестирование. И еще и говорить, что тренер вас так учил
Поэтому домашние задания построены так: сначала несколько заданий именно на API-часть, «проверьте заголовки как в лекции», «передайте тело так, чтобы получить то и се»… А потом идет 1-2 полноценных задания, как оно будет на реальной работе: «Протестировать метод». И тут вы применяете чек-лист тренера по API-части и добавляете проверки согласно принципам тест-дизайна «а как бы я тестировал параметр через интерфейс».
Можно ли работать на Mac или Linux?
Ограничений по OS нет
Продажник:
Многие современные веб-приложения используют REST API для взаимодействия с сервером и для интеграции друг с другом, поэтому тестировщикам веб-приложений необходимо владеть инструментами и техниками тестирования REST API.
Преимущества умения тестировать API:
- Раннее тестирование — разработчики сначала делают API, а потом уже графический интерфейс. У вас есть шанс проверить логику раньше, чем ей дорисуют кнопочки в GUI
- Тестирование API — графического интерфейса может в принципе не быть. Будет только API-метод. Такое часто бывает в enterprise-системах.
- Скорость — вызвать один запрос занимает доли секунды. А вот через интерфейс повторить процедуру бывает сложно. Например, создать пользователя на 50 заполненных полей…
- Точная локализация — где конкретно произошла проблема? На сервере или клиенте? Проверьте работу сервера через API и узнаете точно
- Автоматизация — даже если у вас нет автотестов на уровне API приложения, вы можете создать свои простенькие через Postman. Это поможет не гонять одно и то же вручную + быстро создавать большие объемы данных
Входной порог: я предполагаю, что вы:
1. Знаете английский на уровне «чтение со словарем / гуглтранслейтом». Мы будем тестировать в том числе JIRA API по стандартной документации, которая на английском. Вы должны прочитать описание метода и понять его.
2. Умеете тестировать: знаете про классы эквивалентности и граничные значения. То есть базовыми знаниями обладаете. Подробнее см в блоке «Вопросы и ответы»
Программа курса
0. Введение в SOAP и REST (бесплатная лекция!)
- Что такое API
- Способы интеграции систем
- HTTP-протокол: SOAP и REST
- 7 уровней OSI
- Зачем уметь тестировать API
Первым заданием курса будет повторить за тренером вызов запроса doRegister в Users через SOAP и REST, в SOAP Ui и Postman-е соответственно. Попробуйте это сделать! Во время обучения мы уже будем считать, что базовый запрос вы отправить в инструменте можете. Лекция не входит в 5 недель обучения, она сразу доступна в системе дистанционного обучения после оплаты курса. Таким образом, в день старта обучения вам будут доступны лекции 0 и 1.
1. HTTP Headers
- Что такое заголовки сообщений. Где их можно посмотреть
- Что мы тестируем в REST API
- Status Code: коды ответов
- Тестируем подсказки (показываем применение теории на практике)
- Тестируем JIRA
- Разные форматы тела запроса (простые: binary, form-data, x-www-form-urlencoded)
- XML-формат: что это такое, правила Well Formed XML, на что обратить внимание при тестировании
- JSON-формат: что это такое, правила Well Formed JSON, на что обратить внимание при тестировании
- Откуда взять данные для тела запроса, если нет ТЗ, но есть WSDL для SOAP-а на те же методы
- Что мы тестируем в REST API
- Тестируем Users по мотивам теоретической части
- Тестируем подсказки
- Какие типы методов бывают
- Операции CRUD через GET, POST, PUT, DELETE
- Идемпотентность в контексте REST API
- Как тип метода сказывается на тестировании? На что проверять методы, у которых нет тела
- Примеры:
— GET
— POST
— PUT
— DELETE
— другие - Локализация багов при помощи REST API
- Сохранение тестов
- Создание тестовых коллекций
- Стандартные тесты Postman
- Как модифицировать тесты под себя в старой и новой версии
- JSON, XML — как достать данные из дерева объектов
- Переменные и окружения — для чего нужны и как используются
- Как запустить один тест несколько раз
- Как загрузить тестовые данные из файла
- Как создать много данных с уникальными значениями (email, ФИО — чтобы сразу зарегистрировать много пользователей, например)
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 нет
Продажник:
Скрытое содержимое. Вам нужно войти или зарегистрироваться.
Скачать: Оформить VIP Подписку и открыть доступ к этой и другим темам.Скрытое содержимое. Вам нужно войти или зарегистрироваться.