Ответ
REST API (Representational State Transfer Application Programming Interface) — это архитектурный стиль для построения веб-сервисов, основанный на стандартах HTTP. В контексте тестирования это основной объект проверки для API-тестировщика.
Ключевые принципы, которые мы проверяем:
- Единообразие интерфейса (Uniform Interface): Ресурсы идентифицируются URI (например,
/api/v1/users), а манипуляции с ними выполняются через стандартные HTTP-методы. - Отсутствие состояния (Stateless): Каждый запрос от клиента должен содержать всю информацию, необходимую для его обработки. Сервер не хранит состояние сессии между запросами. Это критически важно для тестирования на воспроизводимость и масштабируемость.
- Кэшируемость (Cacheable): Ответы должны явно или неявно определять, можно ли их кэшировать. Тестировщик проверяет корректность заголовков кэширования (например,
Cache-Control).
| Основные HTTP-методы и их семантика для тестирования: | Метод | Операция | Идемпотентность* | Безопасность* |
|---|---|---|---|---|
GET |
Получение ресурса | Да | Да | |
POST |
Создание ресурса | Нет | Нет | |
PUT |
Полное обновление ресурса | Да | Нет | |
DELETE |
Удаление ресурса | Да | Нет | |
PATCH |
Частичное обновление | Нет | Нет |
*Идемпотентность — многократный вызов дает тот же результат, что и однократный. Безопасность — метод не изменяет состояние ресурса на сервере.
Пример тестового сценария (валидация GET-запроса):
// Пример на JavaScript (часто используется в Postman/Newman)
pm.test("GET /users возвращает статус 200 и корректную структуру", function () {
pm.response.to.have.status(200);
pm.response.to.have.jsonSchema({
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {"type": "number"},
"name": {"type": "string"}
},
"required": ["id", "name"]
}
}
},
"required": ["data"]
});
});
Что проверяет QA-инженер в REST API:
- Функциональность: Корректность CRUD-операций, бизнес-логика.
- Надежность: Обработка ошибок (4xx, 5xx), идемпотентность, согласованность данных.
- Производительность: Время отклика, нагрузочное тестирование.
- Безопасность: Аутентификация (OAuth, JWT), авторизация, валидация входных данных, защита от инъекций.
- Совместимость: Форматы данных (JSON/XML), обратная совместимость версий API.
Видео-ответы
▶
Собеседование на позицию Senior Python Developer 4000$ #9
▶
Моковое собеседование на Middle системного аналитика | Solvery & На собесе как на танцполе
▶
РЕАЛЬНОЕ СОБЕСЕДОВАНИЕ С ИНТЕРЕСНЫМИ ВОПРОСАМИ И ЗАДАЧАМИ НА MIDDLE/SENIOR FRONTEND С ЗП 320К!
▶
Реальное собеседование Frontend Middle на 300к
▶
Душное СОБЕСЕДОВАНИЕ на MIDDLE frontend разработчика: react, js,ts🔥 2 часть🎄🎉
▶
НАВАЛИВАЮ КРИНЖА НА СОБЕСЕ В MTS DIGITAL GOLANG BACKEND
▶
РЕАЛЬНОЕ СОБЕСЕДОВАНИЕ НА ПОЗИЦИЮ MIDDLE DevOps
▶
СОБЕСЕДОВАНИЕ MIDDLE REACT FRONTEND || ЗП ОТ 230К
▶
#21 Подписчик прошел собес Python CTI на 400.000 в месяц
▶
Собеседование на Middle PHP разработчика
▶
Собеседование на Middle PHP разработчика
▶
Собеседование на позицию Backend Developer Python + Django Middle #1
▶
Тех.интервью Go. Кандидаты Алексей и Никита. Ведёт Олег Кожанов
▶
Фронтенд собеседование 2025 | Junior Frontend | Реальные вопросы и задачи React собеседование
▶
Собеседование JavaScript junior Рита
▶
Собеседование JavaScript junior Рита
▶
Джун пишет tg-ботов и разбирается в ООП как никто другой? / Лайвкодинг / Техсобес Junior Python Dev
▶
Собеседование frontend junior разработчика (CSS, HTML, JS, React, Typescript)
▶
Тестовое интервью с Владимиром на позицию Junior Python разработчик
▶
Собеседование frontend junior разработчика 2024 (CSS, HTML, JS, React, Typescript, Graphql)
▶
Собеседование frontend junior разработчика 2024 (CSS, HTML, JS, React, Typescript, Redux)
▶
Собеседование frontend разработчика #8 индивидуальное менторство
▶
Публичное собеседование PYTHON-разработчик. JUNIOR Python мок-интервью. Джуниор Питон СОБЕС Пайтон
▶
Студент-математик затащил собеседование? / Техсобес на позицию Junior Python Developer
▶
Тестовое собеседование Java разработчика #22 - Николай Оськин
▶
Рубрика: Собеседование с подписчиком / чего научили в школе qa light / Собеседование на JUNIOR QA
▶
Рубрика: СОБЕСЕДОВАНИЕ С ПОДПИСЧИКОМ! - Свеженький, только после курсов)))
▶
РЕАЛЬНОЕ СОБЕСЕДОВАНИЕ НА FRONTEND РАЗРАБОТЧИКА