- 30, Dec 2018
- #1
Тестирование REST API (2018)
Многие современные веб-приложения используют REST API для взаимодействия с сервером и для интеграции друг с другом, поэтому тестировщикам веб-приложений необходимо владеть инструментами и техниками тестирования REST API.
Преимущества умения тестировать API:
На курсе я расскажу о том, что должен знать тестировщик REST API. Что именно ему нужно проверять в заголовках или теле ответа. Готовьтесь к тому, что практики будет много!
Входной порог: я предполагаю, что вы: 1. Знаете английский на уровне «чтение со словарем / гуглтранслейтом». Мы будем тестировать в том числе JIRA API по стандартной документации
, которая на английском. Вы должны прочитать описание метода и понять его. 2. Умеете тестировать: знаете про классы эквивалентности и граничные значения. То есть базовыми знаниями обладаете. Подробнее см в блоке «Вопросы и ответы»
Программа курса
0. Введение в SOAP и REST (бесплатная лекция!)
Лекция выложена в открытый доступ, посмотреть ее можно вот тут
. Первым заданием курса будет повторить за тренером вызов запроса doRegister в Users
через SOAP и REST, в SOAP Ui и Postman-е соответственно.
Попробуйте это сделать! Во время обучения мы уже будем считать, что базовый запрос вы отправить в инструменте можете.
Лекция не входит в 5 недель обучения, она сразу доступна в системе дистанционного обучения после оплаты курса.
Таким образом, в день старта обучения вам будут доступны лекции 0 и 1.
Внимание: у нас не курс по программированию, мы не будем писать грамотный и качественный код.
Я рассказываю только основы, которые помогают взять пример из Постмана и доработать под свои нужды.
Если вас интересует именно автоматизация тестов, то лучше сходить на курс Программирование на Java для тестировщиков
ВОПРОСЫ И ОТВЕТЫ
Какое время занятий? Время вы выбираете сами. В системе дистанционного обучения выкладывается видеозапись с лекцией, а потом у вас есть неделя на выполнение заданий. Когда именно его делать — решать вам.
Как я получу фидбэк при 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. Это поможет не гонять одно и то же вручную + быстро создавать большие объемы данных
На курсе я расскажу о том, что должен знать тестировщик REST API. Что именно ему нужно проверять в заголовках или теле ответа. Готовьтесь к тому, что практики будет много!
Входной порог: я предполагаю, что вы: 1. Знаете английский на уровне «чтение со словарем / гуглтранслейтом». Мы будем тестировать в том числе JIRA API по стандартной документации
, которая на английском. Вы должны прочитать описание метода и понять его. 2. Умеете тестировать: знаете про классы эквивалентности и граничные значения. То есть базовыми знаниями обладаете. Подробнее см в блоке «Вопросы и ответы»
Программа курса
0. Введение в SOAP и REST (бесплатная лекция!)
- Что такое API
- Способы интеграции систем
- HTTP-протокол: SOAP и REST
- 7 уровней OSI
- Зачем уметь тестировать API
Лекция выложена в открытый доступ, посмотреть ее можно вот тут
. Первым заданием курса будет повторить за тренером вызов запроса doRegister в Users
через SOAP и REST, в SOAP Ui и Postman-е соответственно.
Попробуйте это сделать! Во время обучения мы уже будем считать, что базовый запрос вы отправить в инструменте можете.
Лекция не входит в 5 недель обучения, она сразу доступна в системе дистанционного обучения после оплаты курса.
Таким образом, в день старта обучения вам будут доступны лекции 0 и 1.
- Что такое заголовки сообщений. Где их можно посмотреть
- Что мы тестируем в 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, ФИО — чтобы сразу зарегистрировать много пользователей, например)
Внимание: у нас не курс по программированию, мы не будем писать грамотный и качественный код.
Я рассказываю только основы, которые помогают взять пример из Постмана и доработать под свои нужды.
Если вас интересует именно автоматизация тестов, то лучше сходить на курс Программирование на Java для тестировщиков
- 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 нет
Скачать: Скрытая информация :: Авторизуйтесь для просмотра »