# Тестер мутаций API-контракта

Применяет семантические мутации к полям OpenAPI и при необходимости отправляет их на реальный backend для проверки защитной валидации

> Каноническая страница: https://elysiatools.com/ru/tools/api-contract-mutation-tester

- **Категория:** Development

- **Ключевые слова:** openapi, мутация, api, валидация, контракт

## Обзор

Вставьте документ OpenAPI 3.x, и инструмент сначала соберет валидные базовые запросы для каждой операции. Затем поля будут изменены в рискованные варианты: удаление обязательных значений, отрицательные числа, нарушения enum, строки из пробелов и спецсимволы.

Как использовать:
- Спецификация OpenAPI: вставьте YAML или JSON
- Базовый URL: оставьте пустым для офлайн-плана или укажите реальный backend для запуска
- Выполнять мутации: отправляет мутированные запросы
- Заголовок авторизации: можно передать Bearer token и т.п.
- Мутаций на поле: ограничивает число вариантов на поле
- Таймаут запроса: ограничивает время каждого запроса

Как читать результат:
- defended: backend отклонил мутацию
- accepted: backend все равно вернул успешный статус
- documented: наблюдаемый статус присутствует в responses OpenAPI

## Входные данные

- **Спецификация OpenAPI** (textarea): Paste an OpenAPI 3.x YAML or JSON document here...
- **Базовый URL** (text): https://api.example.com
- **Выполнять мутации** (checkbox)
- **Заголовок авторизации** (text): Bearer
- **Мутаций на поле** (number)
- **Таймаут запроса (мс)** (number)

## Когда использовать

- Перед релизом нового API для проверки обработки некорректных данных и граничных значений.
- При аудите безопасности существующих эндпоинтов на уязвимости к нестандартным payload.
- Для проверки соответствия реального поведения бэкенда заявленной спецификации OpenAPI.

## Как это работает

- Вставьте спецификацию OpenAPI 3.x в формате YAML или JSON.
- Укажите базовый URL и заголовок авторизации, если хотите выполнить реальные запросы к серверу.
- Настройте количество мутаций на поле и включите опцию выполнения запросов.
- Получите JSON-отчет со статусами мутаций: отклонено сервером (defended) или ошибочно принято (accepted).

## Сценарии использования

- Автоматизированное тестирование граничных значений числовых и строковых параметров API.
- Поиск скрытых багов валидации, когда сервер принимает данные, нарушающие схему OpenAPI.
- Генерация отчетов о покрытии защитной валидации для QA-инженеров и разработчиков.

## Частые вопросы

### Какие типы мутаций поддерживает инструмент?

Инструмент генерирует пропуски обязательных полей, отрицательные числа, нарушения перечислений (enum), пустые строки и спецсимволы.

### Обязательно ли отправлять запросы на реальный сервер?

Нет, если оставить базовый URL пустым и не включать выполнение, инструмент просто сгенерирует JSON-план мутаций для ознакомления.

### Поддерживается ли OpenAPI версии 2.0 (Swagger)?

Нет, инструмент работает только со спецификациями формата OpenAPI 3.x.

### Как инструмент понимает, что мутация успешно заблокирована?

Если сервер возвращает статус ошибки (например, 400 Bad Request), мутация помечается как защищенная (defended). Если возвращается успешный статус (2xx) — как принятая (accepted).

### Как передать токен авторизации для защищенных эндпоинтов?

Используйте поле «Заголовок авторизации», указав полное значение, например «Bearer ваш_токен».

## Связанные инструменты

- [Синхронизатор палитры Tailwind](https://elysiatools.com/ru/tools/tailwind-color-palette-sync): Введите HEX, выберите схему именования (шкала 50–950 / одно имя / вложенность) — генерирует фрагмент theme.extend.colors для tailwind.config.ts с уровнями WCAG AA/AAA. Тёмная тема опциональна.
- [Стресс-тестер API-контрактов](https://elysiatools.com/ru/tools/api-contract-stress-tester): Создает граничные тесты по OpenAPI 3.x и при необходимости отправляет их в реальный backend для поиска расхождений с контрактом.
- [Конвертер cURL в Go (net/http)](https://elysiatools.com/ru/tools/curl-to-go): Преобразует команду cURL в фрагмент кода Go net/http с http.NewRequest, заголовками и телом
- [Конвертер cURL в HAR](https://elysiatools.com/ru/tools/curl-to-har-converter): Преобразует команду cURL в переносимую запись запроса HAR 1.2.
- [Конвертер cURL в JavaScript (axios)](https://elysiatools.com/ru/tools/curl-to-js-axios): Преобразует команду cURL в фрагмент кода JavaScript axios с объектом конфигурации, заголовками и данными
- [Конвертер cURL в JavaScript (fetch)](https://elysiatools.com/ru/tools/curl-to-js-fetch): Преобразует команду cURL в фрагмент кода JavaScript fetch() с заголовками, телом и методом
- [Конвертер cURL в PHP (cURL)](https://elysiatools.com/ru/tools/curl-to-php): Преобразует команду cURL в фрагмент кода PHP cURL с curl_setopt, заголовками и POST-полями
- [Конвертер cURL в Python (requests)](https://elysiatools.com/ru/tools/curl-to-python): Преобразует команду cURL в фрагмент кода Python requests с заголовками, данными и методом

## Примеры

- [Postman Collections - API Тестирование](https://elysiatools.com/ru/samples/postman-collections): Всесторонние примеры Postman collections включая API тестирование, скрипты автоматизации, переменные окружения, mock серверы и продвинутые паттерны тестирования для REST API
- [Примеры Обработки Изображений Web Python](https://elysiatools.com/ru/samples/web-image-processing-python): Примеры обработки изображений Web Python используя PIL/Pillow включая чтение, сохранение, изменение размера и преобразование формата
- [Примеры OpenAI API](https://elysiatools.com/ru/samples/openai): Комплексные примеры OpenAI API включая модели GPT, генерацию изображений DALL-E, обработку аудио Whisper и вызовы функций
- [Графический API WebGPU](https://elysiatools.com/ru/samples/webgpu): Современный графический API для высокопроизводительной 3D графики и GPU вычислений в браузере

## Связанные материалы

- [Определение API-контрактов, проверка схем и тестирование изменений](https://elysiatools.com/ru/hubs/api-contract-testing): Определите API-контракт, проверьте схемы и сохранённые payload, найдите риски совместимости и зафиксируйте приёмку.
- [Версионирование API и проверка breaking changes](https://elysiatools.com/ru/hubs/api-versioning-breaking-change-review): Сравните версии API, спланируйте миграцию и примите совместимость до релиза. Инструменты не заменяют реальный выпуск и мониторинг.
- [Инструменты проверки JSON Schema и API-контрактов](https://elysiatools.com/ru/hubs/json-validate): Сравните в одном хабе проверку JSON Schema, проверку OpenAPI-ответов, mutation testing, стресс-тестирование контрактов и обнаружение ломающих изменений API.
- [Рабочий процесс OpenAPI-утилит](https://elysiatools.com/ru/hubs/openapi-utility): Генерируйте типы и документацию OpenAPI, проверяйте ломающие изменения, валидируйте ответы и укрепляйте контракт стресс- и мутационными тестами.
