Получить доступ

Как тестировать REST API?

JuniorТестирование APIPostman
Ещё спрашивают так:
  • Что проверять при тестировании API?
  • Как вы работаете с Postman?
  • Что такое REST?
Коротко

API тестируют без интерфейса: отправляем запросы (Postman, curl) и проверяем статус, тело ответа, схему данных, побочные эффекты и обработку ошибок.

  • Позитивные: корректные данные → верный ответ и изменения в системе
  • Негативные: неверные типы, пустые и лишние поля, без авторизации, чужой ресурс

А ещё Тестирование API находит ошибки раньше UI и не зависит от вёрстки

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

REST — стиль построения API: ресурсы с адресами (/users/15), действия — HTTP-методами, данные — обычно в JSON, сервер не хранит состояние между запросами.

Что проверять:

  • статус ответа — 200/201 при успехе, нужный 4xx при ошибке, никогда 500 на неверных данных;
  • тело ответа — значения полей, типы данных, формат дат, соответствие документации (часто Swagger/OpenAPI);
  • схему — обязательные поля на месте, лишних чувствительных полей нет (например, хеша пароля);
  • побочные эффекты — данные действительно создались или изменились: повторный GET, проверка в базе;
  • негативные сценарии — пустое тело, неверные типы (строка вместо числа), слишком длинные значения, лишние поля, отсутствующие обязательные;
  • авторизацию — запрос без токена (401), с чужим токеном к чужому ресурсу (403 или 404), с истёкшим токеном;
  • граничные значения и пагинацию, идемпотентность повторных запросов, время ответа.

Postman — инструмент для ручного тестирования API: коллекции запросов, переменные окружения (стенд, токен), проверки в Tests, запуск коллекции целиком.

Пример

POST /api/users с телом {"email": "a@b.ru", "age": 25} → 201 и id в ответе; затем GET /api/users/{id} возвращает те же данные. Негативные: age: "двадцать" → 400/422 с понятной ошибкой; тот же email второй раз → 409; без токена → 401.

Что хотят услышать

  • Что такое REST и как устроен запрос.
  • Список проверок: статус, тело, схема, побочные эффекты, негативные, авторизация.
  • Опыт с Postman или другим инструментом.

Частые ошибки

  • Проверять только статус 200.
  • Не проверять доступ к чужим данным.

Что спросят дальше

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем