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

Теперь мы можем отобразить все в виде матрицы и использовать ее для написания подробного плана тестирования (для автоматизации тестирования или ручных тестов). Слой API любого приложения – один из важнейших программных компонентов системы. Это канал, который соединяет клиента с сервером (или один микросервис с другим), управляет бизнес-процессами и представляет сервисы, которые приносят пользу пользователям. Онлайн-обучение — в систему дистанционного обучения один раз в неделю выкладывается видео-лекция и домашние задания.
Знаете, как с новым девайсом — сначала попробовал сам, если не получилось, пошел читать инструкцию. Чтобы настраивать интеграцию, разработчику той стороны нужен работающий сценарий. Самый основной, все ответвления можно отладить позже. Я не вижу особой проблемы в текущем описании, это не повод ставить баг на документацию. А если принесет головную боль поддержке, тогда и замените. Но лично я всё же считаю, что как минимум основной сценарий позитивный проверить надо.
Как Тестировать Api?
Платформа Postman поможет оперативно проверить endpoint в вашем тестируемом API, а REST Assured — перенести автотесты в отдельный модуль в вашем проекте. Мы разобрали, https://deveducation.com/ как работает конструктор запросов. С его помощью можно проверять как собственное API, так и сторонних сервисов. Мы будем использовать тот же публичный тестовый API.
API (Application Programming Interface) – это набор инструкций и протоколов, которые позволяют программам взаимодействовать между собой. API используются для обмена данными между разными приложениями, веб-сервисами и серверами. Изучите основы API, принципы тестирования и популярные инструменты для проверки взаимодействия компонентов ПО в нашей статье.
Если трудно «выловить» нужный запрос в общей массе (а запросов к API тоже может быть немало) – очистите историю запросов перед совершением интересующего вас действия. Довольно быстро вы научитесь видеть нужные запросы и сопоставлять их с действиями в пользовательском интерфейсе. Выберите XHR (XMLHttpRequest) – это интерфейс языка JavaScript, используемый для конструирования запросов, имеющих тело. Обычно именно этот интерфейс используется для обращения к API. Вы можете столкнуться с большим количеством однотипных запросов, порождаемых различными системами мониторинга (например, yandex.webvisor). Их можно скрыть, применив негативный фильтр (например, «-yandex» для Chrome), даже если вы не знаете точно, что именно эти запросы делают.
В общем, если есть отдельно про ошибки — класс, проверяем по ТЗ. А потом ещё думаем сами, что там могло быть пропущено. С бизнесовой точки зрения очень удобно, когда все ошибки прописывают прямо в ТЗ. Это можно быть разделение на «Особенности использования» и «Исключительные ситуации», как в Folks (логин для входа тут). Тогда тестируем блок «Исключительные ситуации».
То есть основа — это как раз пощупать инструменты и все такое. В системе дистанционного обучения выкладывается видеозапись с лекцией, а потом у вас есть неделя на выполнение заданий. Далее можно посмотреть на результаты тестов по каждому запросу, экспортировать результаты по кнопке Export Results либо пролистать их в кратком виде ручное тестирование api по кнопке Run Summary. Укажем значение Iterations равным 10 и пройдём наши тесты. После того как мы использовали параметры из переменных окружения, повторим запрос, чтобы проверить, что нигде не ошиблись. В ранее созданном запросе выделим в переменные два параметра — URL стенда, к которому мы обращаемся, и токен для авторизации.
Тем не менее у разработчика есть основной позитивный сценарий его системы, его он и будет проверять. И тестировщик должен проверить его в первую очередь. Они вполне могут скопипастить пример, отправить его, получить ошибку и прибежать в поддержку ругаться, не читая сообщение об ошибке — у вас плохой пример, он не работает. Самое простое, что можно сделать — дернуть пример из документации, чтобы посмотреть, как метод вообще работает.
Ищем «хранителя информации», расспрашиваем, проверяем, как работает на самом деле. Думаем, есть ли проблемы в текущем поведении. Она может или отработать “словно так и надо”, или выдать ошибку. И тут следим за тем, чтобы ошибка была внятной и понятной. Ведь потом изменится входной запрос и у нас вся интеграция сломается!

Postman — главный инструмент QA-инженера. С его помощью можно отправлять запросы к API, чтобы тестировать и документировать работу бэкенда сайта. Рассказываем, как правильно пользоваться Postman и из чего он состоит. Между PUT и PATCH запросами скорость зависит от того, как реализована логика сервера.
Наконец, еще раз хочу напомнить, что тестирование API становится особенно востребованным в свете растущей популярности микросервисной архитектуры. Следовательно, даже в том случае, если на вашем проекте пока не используется тестирование на уровне API, вам имеет смысл присмотреться к возможностям, которые оно предоставляет. Для начала постараемся понять, зачем вообще тестировщику осваивать что-либо на таком уровне.
Если вы хотите отработать второй вариант и поучиться отправлять запросики — используйте бесплатную систему Users! И мои обучающие видосики, например, «Как отправить REST-запрос за 5 минут». Проверить работу описанных тестов можно в терминале IDE с помощью команды mvn clean test или с помощью junit. При подготовке к API тестированию начните с определения тестовой стратегии, которая поможет вам описать проверки в ваших тест-кейсах при интеграционном и функциональном тестировании. Заголовки (опционально), предоставляющие дополнительную информацию для сервера (Headers) или тело(body), для некоторых методов, таких как POST, которое содержит отправленный ресурс. У приложения есть бесплатная версия, которая незначительно отличается от платной.
Тестирование Relaxation Api
Это первый, хотя и не единственный результат проверки. Статус — это трехзначный код, первая цифра показывает, к какой группе он принадлежит. А теперь разберем функционал Postman подробнее. Сейчас у Postman есть расширение для Chrome и версия для декстопа под все популярные операционные системы. Этот отзыв никогда не будет общедоступным.
После того как мы проверили соглашение API, мы можем поразмышлять о том, что тестировать. Независимо от того, думаете ли вы об автоматизации тестирования или ручном тестировании, наши функциональные тест-кейсы имеют одинаковый набор тестовых действий. Они являются частью более широких категорий тестовых сценариев и их можно разделить на три потока тестирования.
Вот если пойду в автоматизацию, тогда да… Ну, еще это в enterprise тестируют, я слышал… А вот и нет! Про API полезно знать любому тестировщику. Потому что по нему системы взаимодействуют между собой.
Если вам доступна документация, в которой описываются endpoint-ы сервисов вашего проекта (т. е. адреса, к которым обращаются запросы, относящиеся к API), – изучите ее. Ниже я буду рассматривать вариант, когда подробной документации или соответствующих доступов у вас нет. А вот это типичный кейс, которые тестируют тестировщики в интеграторах. Или тестировщики, которые проверяют интеграцию своей системы с чужой. Одна система дергает через api какой-то метод другой системы.
Пример Автоматизированного Тестирования С Помощью Библиотеки Rest Assured
Обратите внимание, что вызываемый метод postRequest определен в моем фреймворке, а не в библиотеке rest-assured. Для работы с языком Python используется популярная библиотека requests. Надеюсь, что предлагаемый материал будет представлять интерес для всех, кто ранее проводил тестирование через графический интерфейс и еще не имеет опыта работы с http-запросами. В Postman мы можем создать HTTP-запросы для каждого из этих действий и проверить, что они работают корректно. Например, после создания пользователя методом POST, мы можем проверить код состояния HTTP (должен быть 201 Created) и данные пользователя в ответе сервера. Постигнув принципы работы API, вы можете использовать эти навыки в автоматизированных тестах.

Остается выбрать инструменты, которые будут воспроизводить нужные вам запросы и отслеживать содержимое ответов. Тесты часто содержат подготовительные/вспомогательные действия, многие из которых удобнее выполнить с использованием API. Для расширения ваших возможностей используйте Fiddler или подобные ему инструменты (например, такие). Эти программы перехватывают весь сетевой трафик, позволяя просматривать, редактировать и воспроизводить отдельные запросы.
- Я дам вам чек-лист, к которому вы сможете обращаться потом — «так, это проверил, и это, и это.
- Если в ответе сообщение об ошибке, то внимательно его изучаем.
- И тестировщик должен проверить его в первую очередь.
- Postman — главный инструмент QA-инженера.
- API используются для обмена данными между разными приложениями, веб-сервисами и серверами.
- После того как мы использовали параметры из переменных окружения, повторим запрос, чтобы проверить, что нигде не ошиблись.
Создаём две переменные url и token и укажем их значения. На скриншоте ниже их значения скрыты из соображений безопасности. Переходим на вкладку Authorization, указываем данные для идентификации пользователя. Postman поддерживает множество типов авторизации, параметры для каждого из них отличаются.
И это взаимодействие вы видите каждый день даже на самых простых и захудалых сайтах. Библиотека REST Assured помогает выполнять тестирование REST-сервисов. Тесты, написанные с помощью данной библиотеки, пишутся на Java. Данная библиотека стала популярной благодаря простоте и удобной функциональности. Заголовки HTTP позволяют клиенту и серверу отправлять дополнительную информацию с HTTP запросом или ответом. Таблица с детальным описанием headers представлена в статьях тут и тут.
