Ingeniero de Automatización QA: pregunta de entrevista
¿Qué son las pruebas de contrato de API?
Las pruebas de contrato verifican que requests y responses del proveedor cumplen esquemas y expectativas del consumidor sin un end-to-end completo. Detectan cambios incompatibles de campos, tipos, estados y semántica.
Respuesta directa
Qué debe cubrir una buena respuesta
Cómo funciona
Una prueba de contrato comprueba que la API de un proveedor y las expectativas de un consumidor coinciden, sin desplegar ambos ni ejecutar un recorrido completo. Los contratos dirigidos por el consumidor registran lo que cada consumidor envía y necesita de vuelta, como fichero pact; el proveedor ejecuta esas interacciones contra sí mismo en CI y falla si cambió un campo, tipo, código de estado o significado del que depende. Las pruebas de contrato por esquema validan solicitudes y respuestas contra una definición OpenAPI en ambos lados. En cualquier caso, los cambios incompatibles se atrapan en la build de la parte que los hizo, y la suite end-to-end puede reducirse a los recorridos que necesitan integración real.
Ejemplo
La app móvil publica un pact que indica que GET /orders/{id} devuelve status, total como número e items con un sku. Cuando el equipo de pedidos cambió total a una cadena con formato de moneda, su build de verificación de proveedor falló nombrando la expectativa de la app móvil, antes de que el cambio llegara a ningún entorno. El mismo mecanismo permitió al equipo web confirmar que un campo opcional nuevo no rompería a los tres consumidores existentes.
Errores frecuentes
- Escribir pruebas de contrato que solo comprueban el esquema y pierden un cambio de significado de un campo.
- Mantener un servidor simulado a mano y dejar que se desvíe del proveedor real.
- Sustituir todas las pruebas de integración por pruebas de contrato y no ejercitar nunca la ruta de red real.
Una estructura útil para responder
Responde desde tu propia experiencia.
No memorices un guion: usa solo ejemplos que puedas explicar con honestidad en preguntas posteriores.
Abre el espacio de trabajo de escritorio y ensaya una respuesta clara con tus propias palabras.