Что такое Postman и его основные возможности для тестирования?

«Что такое Postman и его основные возможности для тестирования?» — вопрос из категории Инструменты тестирования, который задают на 25% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Postman — это платформа для разработки и тестирования API (Application Programming Interface). Он предоставляет графический интерфейс и мощные возможности для отправки HTTP-запросов, инспекции ответов, написания автоматизированных тестов и документирования API.

Основные возможности и применение:

1. Ручное тестирование API

  • Создание запросов (GET, POST, PUT, DELETE, PATCH и др.) с настраиваемыми заголовками, параметрами и телом.
  • Удобный просмотр структурированных ответов (JSON, XML) с подсветкой синтаксиса.

2. Автоматизация тестов

  • Коллекции (Collections): группировка запросов для определённого API.
  • Скрипты на JavaScript: написание пред- и пост-скриптов для автоматической валидации.
    
    // Пример теста в Postman для проверки ответа API
    pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
    });

pm.test("Response has correct JSON schema", function () { const schema = { "type": "object", "properties": { "id": {"type": "number"}, "name": {"type": "string"} }, "required": ["id", "name"] }; pm.response.to.have.jsonSchema(schema); });


- **Запуск коллекций**: ручной запуск или через **Collection Runner**.
- **Новые возможности**: **Postman Flows** для визуального моделирования сценариев.

**3. Работа с переменными и окружениями**
- Создание разных окружений (dev, staging, prod) с переменными (baseURL, tokens).
- Динамическое извлечение данных из ответов (например, токена авторизации) и их использование в последующих запросах.

**4. Другие ключевые функции**
- **Мониторинг API**: планирование периодического запуска коллекций для проверки доступности.
- **Мокирование (Mock Servers)**: создание заглушек API для тестирования клиентов до готовности бэкенда.
- **Документирование**: автоматическая генерация публичной документации по коллекциям.
- **Интеграция с CI/CD**: запуск коллекций через CLI-утилиту **Newman**.

**Для чего используется тестировщиком:**
- Тестирование REST, SOAP, GraphQL API.
- Автоматизация регрессионных проверок API.
- Отладка интеграций между сервисами.
- Создание моков для изолированного тестирования фронтенда.