Cuando se trabaja con una API entre equipos o socios externos, es especialmente importante que el formato de consulta y respuesta siga siendo predecible. Las pruebas contractuales permiten comprobar que ambas partes - el cliente y el servidor - están de acuerdo con la estructura de intercambio y no la rompen en las actualizaciones.
Implementamos pruebas contractuales que verifican automáticamente el cumplimiento de la API de la documentación o las expectativas del consumidor - antes de la producción.
Qué es el contrato en la API
Un contrato es un acuerdo que determina:- qué campos contienen la consulta y la respuesta
- qué formatos de datos son válidos
- qué códigos de estado se devuelven
- qué parámetros obligatorios se requieren
Incumplimiento de contrato = posible fallo en el lado del cliente o servicio.
Cómo funciona
| Parte | Qué se está probando |
|---|---|
| Proveedor (API) | La API debe cumplir las expectativas del cliente sobre la estructura de respuesta |
| Cliente (consumer) | El cliente espera un esquema específico: la prueba comprueba que se ha cumplido |
| Bidirectional | Pruebas bidireccionales: tanto el cliente como el servidor están de acuerdo con el contrato |
Las herramientas utilizadas son: Aprox, Spring Cloud Contract, Dredd, Postman Contracts Tests.
Ventajas de las pruebas por contrato
Identificación de inconsistencias anteriores a la duplicación- Protección contra cambios «silenciosos» que rompen clientes
- Actualización segura de las versiones de la API
- Aumentar la confianza entre los equipos de desarrollo
- Lógica del historial de cambios en los contratos
Cómo implementamos
Definición de contratos en formato OpenAPI/Nat- Integración de CI con pruebas automáticas en cada commit
- Visualización e historial de cambios en los contratos
- División por entornos (staging/production)
- Publicación de contratos para integradores externos
Donde es especialmente importante
Microservicios con responsabilidad dividida- Plataformas con integraciones B2B externas
- Trabajar en la API de varios equipos independientes
- Sistemas críticos donde el error es inadmisible (finanzas, servicios públicos)
Las pruebas contractuales son un puente fiable entre el servidor y el cliente. Ayudaremos a construir un proceso en el que ninguna actualización rompa la integración y traiga errores inesperados.
Contactar con nosotros
Rellena el siguiente formulario y te responderemos lo antes posible.