TL;DR
- Mejoras de rendimiento notables para esquemas complejos y recursivos.
- Nuevas opciones de configuración para variables de servidor y payloads de autenticación dinámica.
- Generación de casos de prueba negativos más precisa para diversas restricciones de esquema.
Cambios Clave
Schemathesis v4.20.0, lanzado el 24 de mayo de 2026, introduce mejoras significativas para las pruebas de API. Esta actualización menor se centra en optimizar el rendimiento, ampliar la flexibilidad de configuración y perfeccionar la generación de datos de prueba.
Nuevas Funcionalidades:
Los ingenieros de QA obtienen más control sobre los entornos de prueba con la capacidad de anular los valores predeterminados de las variables de servidor a través de [servers.variables] en la configuración. Esto simplifica las pruebas contra diferentes entornos de API. Además, la autenticación dinámica ahora admite payloads codificados en formularios mediante payload_content_type, lo que mejora la flexibilidad para varios esquemas de autenticación.
Mejoras de Rendimiento:
Esta versión ofrece aceleraciones significativas, especialmente para esquemas OpenAPI/Swagger complejos. Se espera una reducción de aproximadamente el 50% en el tiempo de fase de cobertura para esquemas con muchas definiciones. Esto se logra mediante el almacenamiento en caché de cálculos repetidos y una agrupación de esquemas más rápida para especificaciones con referencias recursivas. Estas optimizaciones se traducen directamente en ciclos de ejecución de pruebas más rápidos.
Correcciones Críticas:
La actualización aborda varios problemas relacionados con la generación de datos de prueba y la interpretación de esquemas. Las correcciones clave incluyen:
- Población correcta de plantillas de objetos anidados referenciadas a través de
$ref, evitando la generación denullu objetos vacíos. - Respeto de las declaraciones
servers[]en los ámbitos de path-item y operación, asegurando una resolución de endpoints correcta. - Mejora en la generación de casos de prueba negativos para diversas restricciones de esquema, como
minLength/maxLengthpara strings conpatternoformat(ej.email,uuid), y violaciones deenum/const. Esto conduce a escenarios de prueba negativos más precisos y diversos. - Asegurar
Content-Type: application/jsonpara partes anidadas demultipart/form-dataserializadas en JSON. - Emisión de un string alfabético no vacío (ej.
AAA) como tipo negativo para parámetros no-string, evitando colapsos inesperados. - Correcciones para falsos positivos en
negative_data_rejectionpara entradasenumde tipo entero.
Para una lista detallada de cambios, consulte el changelog oficial de Schemathesis.
Impacto para Equipos de QA
Schemathesis v4.20.0 beneficia directamente a los equipos de QA al acelerar la ejecución de pruebas de API, especialmente para esquemas grandes e intrincados. La mayor precisión en la generación de casos de prueba negativos significa una validación más exhaustiva de la robustez de la API, reduciendo la probabilidad de errores en casos límite. Las nuevas opciones de configuración también proporcionan una mayor adaptabilidad para diversos entornos de prueba y métodos de autenticación.
