Datos clave
- Categoría
- Desarrollo y Web
- Tipos de entrada
- textarea, text, checkbox, number
- Tipo de salida
- json
- Cobertura de muestras
- 4
- API disponible
- Yes
Resumen
El Probador de mutación de contrato API es una herramienta avanzada diseñada para evaluar la robustez de tu backend. Al analizar tu especificación OpenAPI 3.x, genera solicitudes base válidas y aplica mutaciones semánticas de riesgo (como omitir campos obligatorios, enviar números negativos o caracteres especiales) para comprobar si tu API rechaza correctamente las entradas inválidas. Puedes generar un plan de pruebas sin conexión o ejecutar las mutaciones directamente contra tu servidor para medir la cobertura de validación defensiva.
Cuándo usarlo
- •Cuando necesites auditar la seguridad y la validación de datos de una API REST antes de pasar a producción.
- •Para descubrir vulnerabilidades o comportamientos inesperados al recibir datos malformados, valores nulos o tipos incorrectos.
- •Al verificar que las respuestas de error de tu backend coinciden con los códigos de estado documentados en tu especificación OpenAPI.
Cómo funciona
- •Pega tu documento OpenAPI 3.x en formato YAML o JSON en el campo de especificación.
- •Configura la URL base y la cabecera de autorización si deseas ejecutar las pruebas contra un entorno real, o déjalos en blanco para solo generar el plan de mutación.
- •Ajusta el número de mutaciones por campo y el tiempo límite, luego activa 'Ejecutar mutaciones' para enviar las solicitudes alteradas.
- •Revisa el informe JSON resultante para ver qué mutaciones fueron defendidas (rechazadas) y cuáles fueron aceptadas erróneamente por el servidor.
Casos de uso
Ejemplos
1. Prueba de validación en endpoint de registro de usuarios
Ingeniero de QA- Contexto
- El equipo acaba de implementar un nuevo endpoint para registrar usuarios y necesita asegurar que no se puedan crear cuentas con edades negativas o correos inválidos.
- Problema
- Verificar si el backend rechaza correctamente las solicitudes que violan las reglas del esquema OpenAPI.
- Cómo usarlo
- Pega el YAML del contrato OpenAPI, introduce la URL del entorno de pruebas, marca 'Ejecutar mutaciones' y establece 3 mutaciones por campo.
- Configuración de ejemplo
-
{"baseUrl": "https://api.sandbox.example.com", "executeMutations": true, "mutationsPerField": 3} - Resultado
- El informe muestra que la mutación de 'edad negativa' fue defendida (rechazada con 400), pero la inyección de caracteres especiales en el email fue aceptada, revelando un bug de validación.
2. Generación de plan de pruebas offline
Desarrollador Backend- Contexto
- Un desarrollador está escribiendo pruebas unitarias para un nuevo servicio y necesita ideas sobre qué casos límite probar.
- Problema
- Obtener una lista exhaustiva de posibles mutaciones de entrada sin enviar tráfico real al servidor.
- Cómo usarlo
- Pega el JSON de la especificación OpenAPI, deja la URL base vacía y desactiva la ejecución de mutaciones.
- Resultado
- Se genera un documento JSON con decenas de casos de prueba estructurados (omisión de campos, violaciones de enum) listos para ser implementados en el código de pruebas del proyecto.
Probar con muestras
developmentHubs relacionados
Preguntas frecuentes
¿Qué tipos de mutaciones aplica la herramienta?
Aplica mutaciones semánticas como la omisión de campos obligatorios, inyección de caracteres especiales, números negativos o fuera de rango, violaciones de enumeraciones (enums) y cadenas vacías.
¿Es obligatorio ejecutar las mutaciones contra un servidor real?
No, puedes dejar la URL base vacía y desactivar la ejecución para generar únicamente un plan de mutaciones en formato JSON y analizar los casos de prueba.
¿Qué significa que una mutación sea 'defended' o 'accepted'?
'Defended' significa que tu backend rechazó correctamente la solicitud malformada (por ejemplo, con un error 400). 'Accepted' indica que el servidor procesó la solicitud con éxito, lo que revela una falta de validación.
¿Soporta autenticación para probar endpoints protegidos?
Sí, puedes proporcionar un token en el campo 'Cabecera de autorización' (por ejemplo, 'Bearer tu_token') para autenticar las solicitudes mutadas.
¿Qué versiones de OpenAPI son compatibles?
La herramienta soporta especificaciones OpenAPI en su versión 3.x, tanto en formato YAML como JSON.