Teste de contrato

Teste de contrato
Quando você trabalha com API entre equipes ou parceiros externos, é particularmente importante que o formato de solicitação e resposta permaneça previsível. Os testes contratuais permitem verificar que ambas as partes - cliente e servidor - concordam com a estrutura de compartilhamento e não violam as atualizações.

Introduzimos testes contratuais que verificam automaticamente a conformidade da API com a documentação ou expectativa do consumidor antes de entrar em produção.

O que é um contrato na API

O contrato é um acordo que define:
  • que campos contém o pedido e a resposta
  • que formatos de dados são válidos
  • que códigos de estado retornam
  • quais são os parâmetros exigidos

Violação de contrato = potencial falha do cliente ou do serviço.

Como funciona

LadoO que está sendo testado
O provedor (API)API deve corresponder às expectativas do cliente para a estrutura de resposta
Cliente (consumer)O cliente aguarda um padrão específico - o teste verifica que ele foi cumprido
BidirectionalTeste bilateral: tanto cliente quanto servidor concordam com o contrato

Ferramentas utilizadas: Pact, Spring Cloud Contract, Dredd, Postman Contract Tests.

Vantagens de testes contratuais

Detecção de inconsistências antes do deploy
Proteção contra mudanças «silenciosas» que quebram clientes
Atualização segura da API
Aumentar a confiança entre equipes de desenvolvimento
Logar histórico de alterações contratuais

Como implantamos

Definição de contratos no formato OpenAPI/Pact
Integração CI com testes automáticos a cada comit
Visualização e histórico de alterações contratuais
Separação de quarta-feira (staging/performance)
Publicar contratos para integradores externos

Onde é particularmente importante

Microsserviços com responsabilidade dividida
Plataformas com integração B2B externa
API de várias equipes independentes
Sistemas críticos onde o erro é inadmissível (finanças, serviços públicos)

Os testes contratuais são uma ponte segura entre o servidor e o cliente. Nós ajudaremos a construir um processo em que nenhuma atualização comprometa a integração ou traga um erro inesperado.

Contactar-nos

Preencha o formulário abaixo e responderemos o mais rapidamente possível.