Ответ
API (Application Programming Interface) веб-сервиса — это набор строго определенных правил (эндпоинтов, методов, форматов данных), позволяющий программам взаимодействовать с сервисом, минуя графический интерфейс.
Основные аспекты тестирования API:
| Аспект тестирования | Что проверять | Пример инструмента/кода |
|---|---|---|
| Функциональность | Корректность ответов на валидные и невалидные запросы. | Postman, curl |
| Надёжность | Стабильность работы под нагрузкой, обработка ошибок. | JMeter, k6 |
| Безопасность | Аутентификация, авторизация, валидация входных данных. | OWASP ZAP, Burp Suite |
| Производительность | Время отклика, пропускная способность. | JMeter, Gatling |
Базовые проверки (на примере curl и Postman):
- Проверка кода состояния (Status Code):
curl -s -o /dev/null -w "%{http_code}" https://api.example.com/health # Ожидается: 200 - Проверка структуры ответа (JSON Schema):
// Тест в Postman pm.test("Response has valid schema", function() { const schema = { "type": "object", "properties": { "id": {"type": "number"}, "name": {"type": "string"} }, "required": ["id", "name"] }; pm.response.to.have.jsonSchema(schema); }); - Проверка заголовков (Headers):
curl -I https://api.example.com/users # Проверяем Content-Type: application/json
Ключевые артефакты: Для эффективного тестирования необходимы документация API (OpenAPI/Swagger) и тестовые данные.