🔥 Важное для QA-специалистов! 🔥
В QaRocks ты найдешь туториалы, задачи и полезные книги, которых нет в открытом доступе. Уже более 14.000 подписчиков – будь среди нас! Заходи к нам в телеграм канал QaRocks
Подготовка к собеседованию может оказаться непростой задачей, но знание возможных вопросов и ответов на них может сыграть решающую роль. В этой статье мы собрали 25 основных вопросов и ответов по Postman , которые помогут вам уверенно пройти следующее собеседование.
Почему интервьюеры задают вопросы о Postman?
Основная цель вопросов о Postman – оценить опыт кандидата в использовании платформы Postman API для создания, тестирования и управления API. Интервьюеры хотят убедиться, что кандидат обладает необходимыми техническими навыками и умением решать проблемы для эффективной работы с API в реальной среде. Вопросы часто затрагивают такие темы, как запросы к API, обработка ответов, создание сценариев и автоматизация в среде Postman.
25 вопросов по Postman
- Что такое Postman и как он используется при разработке API?
- Объясните разницу между методами HTTP GET, POST, PUT и DELETE.
- Как создать новый запрос в Postman?
- Что такое переменные окружения в Postman и как их использовать?
- Опишите, как использовать Postman для тестирования API эндпойта (endpoint).
- Как можно сгруппировать свои запросы в Postman?
- Что такое коллекция Postman и как ее создать?
- Объясните, как использовать Postman для отправки JSON payload (полезных данных) в запросе POST.
- Как осуществляется аутентификация в Postman?
- Какова цель Pre-request скрипта в Postman?
- Напишите тестовый скрипт в Postman, чтобы проверить, равен ли код статуса ответа 200.
- Как можно использовать Postman для проверки конкретных данных ответов?
- Объясните, как использовать Postman для объединения запросов с использованием переменных.
- Что такое мониторинг коллекций (Postman monitors) и как его настроить?
- Как можно экспортировать и импортировать коллекции в Postman?
- Напишите тестовый сценарий в Postman для проверки времени отклика API.
- Как использовать Postman для тестирования API с различными форматами контента (например, XML, JSON)?
- Объясните, как использовать консоль Postman для отладки запросов.
- Напишите тестовый скрипт в Postman, чтобы проверить наличие определенного заголовка в ответе.
- Как можно использовать Postman для моделирования различных ролей пользователей при тестировании API?
- Опишите, как использовать Newman с коллекциями Postman для автоматизированного тестирования.
- Напишите тестовый скрипт в Postman, чтобы проверить, что тело ответа содержит определенный ключ.
- Как настроить mock-сервер (фиктивный сервер) в Postman?
- Объясните, как использовать Postman для тестирования ограничения частоты запросов (rate limiting) на API.
- Напишите тестовый скрипт Postman, чтобы проверить, соответствует ли ответ ожидаемому формату (например, проверка схемы JSON).
1. Что такое Postman и как он используется при разработке API?
Как ответить:
- Дайте определение Postman как популярного инструмента разработки API.
- Объясните, зачем он используется.
- Упомяните его основные функции, такие как создание запросов, автоматизированное тестирование и совместная работа.
Пример ответа:
«Postman — это широко используемый инструмент разработки API, который упрощает процесс создания, тестирования и управления API. Он предлагает такие функции, как создание запросов, автоматизированное тестирование и совместная работа в команде, что делает его незаменимым инструментом для разработчиков и инженеров по контролю качества».
2. Объясните разницу между методами HTTP GET, POST, PUT и DELETE.
Как ответить:
- Перечислите основные HTTP методы и варианты их использования.
- Подчеркните идемпотентность методов GET и PUT.
Пример ответа:
«GET используется для извлечения данных с сервера, а POST — для отправки данных на сервер с целью создания ресурса. PUT обновляет существующий ресурс, а DELETE удаляет его с сервера.
Методы GET и PUT — идемпотентные. Идемпотентность — это свойство HTTP-метода, при котором повторное выполнение одного и того же запроса не приводит к изменению состояния ресурса или к побочным эффектам, отличным от первоначального.
GET — повторный вызов одного и того же GET-запроса всегда возвращает одинаковый результат и не изменяет состояние сервера. PUT — повторное выполнение одного и того же PUT-запроса с одинаковыми данными приведет к тому же состоянию ресурса, что и первый раз, без дополнительных изменений».
3. Как создать новый запрос в Postman?
Как ответить:
- Расскажите, как через Postman создать новый запрос.
Пример ответа:
«Чтобы создать новый запрос в Postman, необходимо нажать кнопку «New» и выбрать «HTTP». Задать нужный метод HTTP, ввести URL-адрес запроса и нажать «Send», чтобы выполнить запрос».
4. Что такое переменные окружения в Postman и как их использовать?
Как ответить:
- Дайте определение переменным окружения.
- Объясните, что они помогают управлять различными средами.
- Расскажите, как создавать и использовать их в Postman.
Пример ответа:
«Переменные окружения в Postman — это именованные пары ключ-значение, используемые для хранения динамических данных, которые могут быть вставлены в запросы и скрипты. Они позволяют централизованно управлять параметрами, такими как базовые URL, токены авторизации или другие конфигурационные значения, и автоматически подставлять их в запросы через синтаксис {{имя_переменной}}.
Создание и настройка переменных осуществляется в разделе «Manage Environments», где можно определить набор переменных для каждой среды (например, разработка, тестирование, продакшн)».
5. Опишите, как использовать Postman для тестирования API эндпойта (endpoint).
Как ответить:
- Расскажите, как через Postman тестировать API эндпойнт.
Пример ответа:
«Чтобы протестировать эндпойнт API в Postman, необходимо открыть приложение и создать новый запрос, выбрав метод HTTP и введя эндпойнт URL-адреса. Настроить все необходимые заголовки, параметры или данные аутентификации, затем нажать «Send», чтобы выполнить запрос и оценить ответ».
6. Как можно сгруппировать свои запросы в Postman?
Как ответить:
- Объясните, что можно использовать коллекции для группировки связанных запросов.
- Упомяните возможность использования папок внутри коллекций для лучшей организации.
- Подчеркните важность использования понятных наименовании и описаний.
Пример ответа:
«Чтобы организовать свои запросы в Postman, можно использовать коллекции для группировки связанных запросов и папки внутри этих коллекций для лучшей структуры. Кроме того, выбирая понятные наименования и четкие описания для каждого запроса, можно обеспечить ясность и простоту использования».
7. Что такое коллекция Postman и как ее создать?
Как ответить:
- Дайте определение коллекции в Postman.
- Объясните, что коллекции помогают эффективно организовывать и управлять запросами.
- Расскажите, как создать коллекцию.
Пример ответа:
«Коллекция Postman — это группа сохраненных запросов API, которые можно организовать в папки для лучшего управления.
Чтобы создать ее, нужно нажать кнопку «New» и выбрать «Collection». Так можно начать группировать свои запросы».
8. Объясните, как использовать Postman для отправки JSON payload (полезных данных) в запросе POST.
Как ответить:
- Дайте определение JSON payload.
- Расскажите как его сформировать в Postman.
Пример ответа:
«JSON payload — это тело (данные), отправляемое в HTTP-запросе или получаемое в ответе, закодированное в формате JSON. Он содержит структурированные данные, такие как объекты, массивы, ключи и значения, которые передаются между клиентом и сервером для выполнения операций, например, создания или обновления ресурсов.
Чтобы отправить JSON данные в запросе POST с помощью Postman, нужно открыть приложение и создать новый запрос, выбрав метод POST и введя URL-адрес запроса. Затем перейти на вкладку «Body», выбрать «raw», выбрать «JSON» в раскрывающемся меню, ввести данные JSON в текстовом поле и нажать «Send», чтобы выполнить запрос».
9. Как осуществляется аутентификация в Postman?
Как ответить:
- Дайте определение различным типам методов аутентификации, поддерживаемым Postman (Basic Auth, OAuth и API Key).
- Укажите, как настроить выбранный метод аутентификации, на вкладке «Authorization» запроса.
- Подчеркните важность безопасного хранения и управления учетными данными аутентификации с использованием переменных окружения.
Пример ответа:
«Для аутентификации в Postman можно использовать различные методы:
- Basic Auth: Передает логин и пароль в виде закодированной строки в заголовке Authorization.
- OAuth: Стандартизированный протокол для авторизации через сторонние сервисы (например, OAuth 2.0), использующий токены доступа.
- API Key: Передает ключ API через заголовки, параметры URL или в теле запроса для идентификации клиента.
Для настройки методов аутентификации нужно:
- Перейти на вкладку Authorization в запросе.
- Выбрать нужный тип аутентификации из списка.
- Ввести необходимые данные (логин, пароль, токен, ключ API).
- Для удобства лучше использовать переменные окружения для хранения учетных данных.
Важно не забывать о безопасности хранения учетных данных:
- Нужно использовать переменные окружения для хранения чувствительных данных (например, {{apiKey}}, {{accessToken}}).
- Не вставлять учетные данные напрямую в запросы или коллекции.
- Ограничить доступ к переменным и следить за их безопасностью, особенно при совместной работе».
10. Какова цель Pre-request скрипта в Postman?
Как ответить:
- Дайте определение Pre-request скрипта в Postman.
- Объясните, зачем он нужен.
Пример ответа:
«Pre-request скрипт в Postman — это JavaScript-код, который выполняется перед отправкой HTTP-запроса. Он используется для автоматической подготовки данных, установки переменных, вычислений или выполнения других действий, необходимых перед выполнением основного запроса.
Он нужен:
- Для динамического генерации значений (например, токенов, временных меток).
- Для установки или обновления переменных окружения или коллекции.
- Для выполнения предварительных вычислений или условий, влияющих на запрос.
- Для автоматизации повторяющихся задач и повышения гибкости тестирования API».
11. Напишите тестовый скрипт в Postman, чтобы проверить, равен ли код статуса ответа 200.
Как ответить:
- Напишите скрип в Postman, используя
pm.response.code
функцию для получения кода статуса. - Подтвердите, что код состояния равен 200, используя
pm.expect
.
Пример ответа:
«Чтобы написать тестовый сценарий в Postman для проверки того, равен ли код статуса ответа 200, нужно открыть вкладку «Tests» в своем запросе и вставить скрипт:
pm.test("Статус-код равен 200", function () {
pm.expect(pm.response.code).to.equal(200); });
После этого отправить запрос. В разделе Test Results можно будет увидеть результат проверки — успешна или нет».
12. Как можно использовать Postman для проверки конкретных данных ответов?
Как ответить:
- Напишите скрип в Postman, используя
pm.response.json()
функцию для анализа данных ответа иpm.expect
для проверки определенных значений или ключей в ответе.
Пример ответа:
«Чтобы проверить наличие определенных данных ответа в Postman, нужно открыть вкладку «Tests» в своем запросе и вставить скрипт для получения JSON-ответа:
const responseData = pm.response.json();
Для проверки, что ключ ‘status’ равен ‘success’
pm.test("Проверка значения ключа 'status'", function () {
pm.expect(responseData.status).to.eql('success');
});
Для проверки, что в ответе есть ключ ‘data’ и он не пустой
pm.test("Проверка наличия и непустоты ключа 'data'", function () {
pm.expect(responseData).to.have.property('data');
pm.expect(responseData.data).to.not.be.empty;
});
».
13. Объясните, как использовать Postman для объединения запросов с использованием переменных.
Как ответить:
- Дайте определение цепочки запросов в Postman.
- Объясните, как устанавливать и получать переменные с помощью функций
pm.environment.set
иpm.environment.get
.
Пример ответа:
«Цепочка запросов — это последовательность запросов, в которых данные, полученные в одном запросе (например, токен или ID), передаются в следующий с помощью переменных. Это позволяет автоматизировать и динамически управлять тестированием API.
Для установки переменной нужно использовать функцию:
pm.environment.set("имя_переменной", значение);
Для получения значения переменной нужно использовать:
const value = pm.environment.get("имя_переменной");
Вкладка «Pre-request Script» в Postman используется для установки или обновления переменных перед выполнением запроса.
Вкладка «Tests» — для извлечения данных из ответа и сохранения их в переменные для использования в следующих запросах.
Это обеспечивает автоматическую передачу данных между запросами и гибкое управление тестированием API».
14. Что такое мониторинг коллекций (Postman monitors) и как его настроить?
Как ответить:
- Дайте определение мониторинга коллекций Postman как инструмента для планирования и автоматизации тестов API.
- Объясните, что он помогает обеспечить производительность и надежность API с течением времени.
- Упомяните, что вы можете настроить его, выбрав коллекцию, настроив расписание и указав окружение.
Пример ответа:
«Мониторинг коллекций Postman — это инструмент для планирования и автоматического выполнения тестов API по расписанию. Он позволяет регулярно запускать коллекции, проверяя их работоспособность и соответствие ожидаемым результатам.
Как он помогает:
- Обеспечивает постоянный контроль за производительностью и надежностью API.
- Позволяет выявлять проблемы и сбои на ранних этапах, поддерживая качество сервиса с течением времени.
Настройка:
- Нужно выбрать нужную коллекцию для мониторинга.
- Настроить расписание запусков (например, ежедневно или каждые несколько часов).
- Указать окружение (environment), чтобы тесты выполнялись с нужными переменными и настройками».
15. Как можно экспортировать и импортировать коллекции в Postman?
Как ответить:
- Объясните, как экспортировать и импортировать коллекции в Postman.
- Подчеркните важность использования экспортированного файла для обмена коллекциями с членами команды или в целях резервного копирования.
Пример ответа:
«Чтобы экспортировать коллекцию в Postman, нужно выбрать коллекцию, нажать кнопку «Export» и сохранить файл.
Чтобы импортировать коллекцию, необходимо нажать кнопку «Import» и выбрать сохраненный файл.
Использование экспортированного файла коллекции в Postman является важным инструментом для обмена коллекциями с членами команды и для резервного копирования. Можно также сохранять разные версии коллекций и отслеживать изменения, что повышает управляемость проектом».
16. Напишите тестовый сценарий Postman для проверки времени отклика API.
Как ответить:
- Напишите скрип в Postman, используя
pm.response.responseTime
функцию для получения времени отклика. - Напишите утверждение, которое будет использоваться
pm.expect
для проверки времени отклика относительно контрольного показателя.
Пример ответа:
«Чтобы проверить время отклика API в Postman в миллисекундах, нужно открыть вкладку «Tests» в своем запросе и вставить скрипт:
const responseTime = pm.response.responseTime;
Проверка, что время отклика менее 200 миллисекунд
pm.test("Время отклика соответствует эталонному показателю", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});
».
17. Как использовать Postman для тестирования API с различными форматами контента (например, XML, JSON)?
Как ответить:
- Объясните, что Postman поддерживает различные форматы контента, такие как XML и JSON.
- Укажите, как задать заголовок «Content-Type» в желаемом формате.
- Опишите, как использовать вкладку «Body» для ввода данных в указанном формате.
Пример ответа:
«Postman поддерживает работу с различными форматами контента, такими как JSON, XML, текст и другие. Это позволяет удобно отправлять данные в нужном формате для тестирования API.
Чтобы задать заголовок «Content-Type» нужно:
- В разделе Headers добавить или выбрать заголовок Content-Type.
- Установить его значение в нужный формат, например: application/json для JSON или application/xml для XML
или использовать вкладку Body, чтобы автоматически установить правильный заголовок при выборе формата.
Как использовать вкладку «Body»:
- Перейти во вкладку Body.
- Выбрать опцию raw (сырые данные).
- В выпадающем списке справа выбрать нужный формат: JSON, XML, Text, и т.д.
- Ввести данные в выбранном формате».
18. Объясните, как использовать консоль Postman для отладки запросов.
Как ответить:
- Объясните как открыть консоль Postman и для чего ее нужно использовать.
Пример ответа:
«Чтобы открыть консоль Postman, нужно щелкнуть значок консоли в нижней части приложения (обычно это иконка в виде терминала или командной строки).
Консоль предназначена для просмотра подробных журналов всех отправленных запросов и полученных ответов. В ней отображаются:
- Заголовки запросов и ответов
- Тела запросов и ответов
- Скрипты, выполняемые до и после запроса
- Вся техническая информация, необходимая для диагностики
Консоль помогает выявлять причины проблем с API, устранять ошибки и оптимизировать работу запросов».
19. Напишите тестовый скрипт в Postman, чтобы проверить наличие определенного заголовка в ответе.
Как ответить:
- Напишите скрип в Postman, используя
pm.response.headers.has
функцию для проверки конкретного заголовка. - Напишите утверждение, использующее
pm.expect
для проверки наличия заголовка.
Пример ответа:
«Чтобы написать тестовый сценарий в Postman для проверки наличия определенного заголовка в ответе, нужно открыть вкладку «Tests» в своем запросе и вставить скрипт:
pm.test("Ответ содержит заголовок Content-Type", function () {
pm.expect(pm.response.headers.has('Content-Type')).to.be.true;
});
».
20. Как можно использовать Postman для моделирования различных ролей пользователей при тестировании API?
Как ответить:
- Расскажите, что можно использовать переменные окружения для хранения различных учетных данных пользователей.
- Упомяните, как переключаться между окружениями для имитации разных ролей.
- Подчеркните важность использования вкладки «Авторизация» для настройки доступа на основе ролей.
Пример ответа:
«Переменные окружения в Postman позволяют хранить различные учетные данные пользователей, такие как токены, логины, пароли или другие параметры, необходимые для тестирования API.
Можно создавать отдельные окружения для разных ролей или сценариев (например, администратор, пользователь, гость) и сохранять в них соответствующие переменные. При выполнении тестов достаточно выбрать нужное окружение — и все переменные автоматически подставятся в запросы.
Вкладка «Авторизация» играет ключевую роль в настройке доступа. Здесь можно задать тип авторизации (например, Bearer Token, Basic Auth или OAuth 2.0) и использовать переменные окружения для автоматической подстановки учетных данных. Это обеспечивает централизованное управление доступом и упрощает тестирование сценариев с разными уровнями прав».
21. Опишите, как использовать Newman с коллекциями Postman для автоматизированного тестирования.
Как ответить:
- Объясните, что такое Newman.
- Расскажите, как установить Newman с помощью npm и запустить коллекцию с помощью простой команды.
- Подчеркните возможность интеграции Newman с конвейерами CI/CD для автоматизированного тестирования.
Пример ответа:
«Newman — это командная строка для выполнения коллекций Postman. Он позволяет запускать API-тесты, созданные в Postman, прямо из терминала или скриптов, что делает его мощным инструментом для автоматизации тестирования и интеграции в процессы CI/CD. Например, можно автоматически запускать проверки API при каждом коммите или релизе.
Для установки Newman глобально нужно в терминале выполнить команду:
npm install -g newman
.
Чтобы запустить коллекцию нужно указать путь к файлу коллекции (например, collection.json) с помощью:
newman run collection.json
».
22. Напишите тестовый сценарий Postman, чтобы проверить, что тело ответа содержит определенный ключ.
Как ответить:
- Напишите скрип в Postman, используя
pm.response.json()
функцию для анализа тела ответа. - Напишите утверждение, использующее
pm.expect
для проверки наличия определенного ключа.
Пример ответа:
«Чтобы проверить, что тело ответа содержит определенный ключ в Postman, нужно открыть вкладку «Tests» в своем запросе и вставить скрипт:
Анализируем тело ответа как JSON
const responseBody = pm.response.json();
Проверяем, что в ответе есть ключ ‘yourKey’
pm.test("Ответ содержит ключ 'yourKey'", function () {
pm.expect(responseBody).to.have.property('yourKey');
});
».
23. Как настроить mock-сервер (фиктивный сервер) в Postman?
Как ответить:
- Объясните, зачем использовать фиктивный сервер и как его настроить в Postman.
- Подчеркните важность настройки mock-сервера.
Пример ответа:
«Mock-сервер в Postman позволяет имитировать ответы API без необходимости обращения к реальному серверу. Это особенно полезно для разработки и тестирования, когда реальный API еще недоступен или его использование нежелательно по причинам безопасности или стоимости.
Чтобы создать mock-сервер, в Postman нужно выбрать «New» → «Mock Server». После этого можно настроить его, добавляя коллекции запросов и определяя для них примерные ответы (ответы-заглушки). Эти примеры можно использовать для тестирования различных сценариев, например, успешных ответов, ошибок или особых условий. Это ускоряет разработку, повышает надежность тестирования и помогает выявлять проблемы на ранних этапах».
24. Объясните, как использовать Postman для тестирования ограничения частоты запросов (rate limiting) на API.
Как ответить:
- Дайте определение для ограничения частоты запросов (rate limiting).
- Объясните, как использовать Postman для быстрой последовательной отправки нескольких запросов с целью проверки ограничения скорости.
- Упомяните о важности проверки заголовков ответов на предмет статуса ограничения скорости и информации о повторных попытках.
Пример ответа:
«Ограничение частоты запросов — это механизм, используемый API для ограничения количества запросов, которые клиент может отправить за определённый промежуток времени. Это помогает предотвратить перегрузку сервера, обеспечить равномерное распределение ресурсов и защитить систему от злоупотреблений.
Чтобы проверить, как API реагирует при превышении лимита, можно использовать Postman для последовательной отправки нескольких запросов подряд. Например, создать коллекцию или использовать Runner, чтобы быстро отправлять серию запросов. Если лимит достигнут, сервер обычно возвращает статус-код 429 (Too Many Requests).
Важно также анализировать заголовки ответа, такие как X-RateLimit-Limit, X-RateLimit-Remaining и Retry-After. Они предоставляют информацию о текущем лимите, оставшихся запросах и времени до сброса лимита. Это помогает понять, когда можно снова отправлять запросы и избегать ошибок из-за превышения лимита».
25. Напишите тестовый скрипт Postman, чтобы проверить, соответствует ли ответ ожидаемому формату (например, проверка схемы JSON).
Как ответить:
- Напишите скрип в Postman, используя
pm.response.json()
функцию для анализа тела ответа. - Напишите утверждение, использующееся
tv4.validate
для проверки ответа на соответствие ожидаемой JSON схеме.
Пример ответа:
«Чтобы проверить, соответствует ли ответ ожидаемому формату с помощью проверки схемы JSON, нужно открыть вкладку «Tests» в своем запросе и вставить скрипт:
Анализируем тело ответа как JSON
const responseBody = pm.response.json();
Определяем ожидаемую JSON-схему
const schema = {
"type": "object",
"properties": {
"id": { "type": "integer" },
"name": { "type": "string" },
// добавьте другие свойства по необходимости
},
"required": ["id", "name"]
};
Проверяем соответствие тела схемы
pm.test("Ответ соответствует ожидаемой схеме", function () {
pm.expect(tv4.validate(responseBody, schema)).to.be.true;
});
».
Советы по подготовке
- Ознакомьтесь с функциями Postman: убедитесь, что вы понимаете ключевые функции, такие как коллекции, окружения и консоль Postman. Знание того, как эффективно их использовать, может выделить вас.
- Практика написания тестовых скриптов: освойтесь с написанием тестовых скриптов JavaScript в Postman. Сосредоточьтесь на общих задачах, таких как проверка кодов статуса ответа, проверка времени ответа и проверка данных ответа.
- Понимание методов аутентификации: разберитесь в различных методах аутентификации, поддерживаемых Postman, таких как Basic Auth, OAuth и API Key. Научитесь их настраивать во вкладке «Авторизация».
- Научитесь использовать переменные окружения: освойте использование переменных окружения для управления различными средами и передачи данных между запросами.
- Исследуйте автоматизацию с Newman: ознакомьтесь с Newman, инструментом командной строки для запуска коллекций Postman. Узнайте, как интегрировать его с конвейерами CI/CD (CI/CD pipelines) для автоматизированного тестирования.
Перевод статьи «Postman Interview Questions».