Что такое REST API и как вы его тестируете?

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

Ответ

REST (Representational State Transfer) — архитектурный стиль для построения веб-сервисов, использующий стандарты HTTP.

Ключевые принципы:

  1. Ресурсы: Доступ к данным через уникальные URL (например, /api/users).
  2. HTTP-методы: Определяют действие (CRUD):
    • GET — получить ресурс.
    • POST — создать ресурс.
    • PUT/PATCH — обновить ресурс.
    • DELETE — удалить ресурс.
  3. Stateless (Без состояния): Каждый запрос содержит всю необходимую информацию.
  4. Коды состояния HTTP: Указывают результат (200 OK, 201 Created, 400 Bad Request, 404 Not Found, 500 Internal Server Error).

Пример запроса и ответа:

GET /api/users/1 HTTP/1.1
Host: api.example.com
Accept: application/json
{
  "id": 1,
  "name": "John Doe",
  "email": "john@example.com"
}

Инструменты для тестирования: Postman, Swagger UI для ручных проверок и автоматизация на Python с библиотекой requests или pytest.