Schemathesis v4.17.0, минорное обновление, выпущенное 29 апреля 2026 года, значительно расширяет возможности фаззинг-тестирования API и общую надежность тестов. Эта версия сосредоточена на более интеллектуальном управлении ресурсами и улучшенном выводе зависимостей, что критически важно для Mobile и API Testing.

Key Changes

Улучшенный Фаззинг и Управление Ресурсами: Обновление представляет интеллектуальный runtime resource pool. Schemathesis теперь захватывает значения path-параметров и полей тела запроса из успешных 2xx ответов, повторно используя их в последующих шагах фаззинга. Это включает запись request identifiers на этапе coverage и их использование для параметров и полей, связанных с ресурсами. Пул ресурсов также активирован для producers, возвращающих пустые тела ответов, и может быть инициализирован значениями identifiers из Bearer JWT или имен пользователей HTTP Basic, делая тесты более контекстно-зависимыми.

Более Интеллектуальный Вывод Зависимостей и Связывание Сценариев: Сценарии st fuzz теперь могут быть связаны через выведенные и схемные Links, с 80% приоритетом для шагов, управляемых ссылками. Вывод зависимостей расширен для распознавания полей тела в стиле <resource>Name, большего количества path-параметров в стиле identifier (например, username) и path-параметров множественного числа {ids}. Он также интеллектуально рассматривает операции POST как producers, даже если они не возвращают тело ответа, и распознает GET /collection, возвращающий массивы identifier strings, что приводит к более реалистичному тестированию последовательностей API.

Исправления Надежности и Интерпретации Схем: Многочисленные исправления устраняют проблемы, которые ранее приводили к ложным срабатываниям или сбоям. К ним относятся исправление negative_data_rejection для multipart/form-data и полей format: binary/byte, устранение сбоев на некорректных схемах (например, не-схемные значения в properties, проблемы с $ref), а также улучшенная обработка сложных конструкций схем, таких как allOf с contains, discriminator pins и рекурсивные ссылки. Unicode property escapes и POSIX character classes теперь правильно парсятся, предотвращая ложные срабатывания.

Impact for QA Teams

Команды QA получают более интеллектуальное и реалистичное фаззинг-тестирование API. Улучшенный пул ресурсов и вывод зависимостей сокращают ручную настройку для сложных последовательностей API, позволяя выявлять глубокие проблемы интеграции. Исправления повышают стабильность и точность тестов, уменьшая ложные срабатывания и обеспечивая надежную валидацию схем.

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