Última actualización:
Stanislav Anisimov
Pruebas contractuales
Click to expand / collapse

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 violan 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

ParteQué 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
BidirectionalPruebas 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 perturbará la integración y traerá errores inesperados.

Temas populares


Temas principales