Se não tivéssemos saído do SOAP com XML, XSD e WSDL, não estaríamos fazendo testes de contrato hoje em dia.

Teste da comunicação entre aplicações e serviços.

São uma alternativa mais simples, leve e barata para os testes de ponta-a-ponta (E2E).

Não precisa de um ambiente específico.

Validações

Consumidor (Consumer)

Consome os dados: consulta os dados em algum serviço provedor.

Provedor (Provider)

Provê os dados: disponibiliza dados para um ou mais serviços consumidores.

Consumer-Driven Contracts

Os contratos são escritos na perspectiva do consumidor. A definições são com base nas necessidades de consulta. Atende as expectativas de quem esta consumindo.

Cria uma simulação (mock/stub/fake) do provedor, faz o teste do contrato na simulação, de uma forma fácil, rápida e barata, como testes unitários; faz o teste do contrato no provedor real em momentos específicos e controlados, como testes de integração.

Ferramentas

Pact

Microservices and API testing framework

De longe a mais conhecida, líder do mercado e referência no assunto. Você escreve os contratos como testes na sua linguagem de programação, como um TestCase no PHPUnit, por exemplo, quando o teste roda o contrato é validado em um broker que depois revalida esses contratos com o provider.

Specmatic

Specmatic - Contract Driven Development