Contract Testing
Teste de contrato
O teste de contrato verifica se dois sistemas que podem ser implantados separadamente ainda trocam mensagens no formato acordado.
Outro exemplo
Um cliente espera que GET /profiles/42 retorne certos campos e um status. A integração contínua (CI) verifica se o provedor mantém essa promessa. O teste não prova toda a jornada nem a qualidade dos dados ao vivo.
Partes principais
- 01contrato do consumidor
- 02verificação do provedor
- 03resultado de compatibilidade
Use-o quando
Use este termo quando os serviços são implantados por conta própria e a compatibilidade das mensagens deve ser verificada sem o sistema completo.
Não o use quando
Não copie o código privado do provedor para o contrato ou use este teste em vez de testes de segurança da API.
Nome usado no código
consumer expectation ↔ provider verification Antes de lançar
Check the environment and prepared test data (fixture). Define a result you can observe, failure and edge cases, isolation, stable inputs, useful error details, and cleanup. Set a time budget, owner, and flaky-test rule.
Outcome: Complete the task with Teste de contrato (Contract Testing). User context: Um cliente espera que GET /profiles/42 retorne certos campos e um status. A integração contínua (CI) verifica se o provedor mantém essa promessa. O teste não prova toda a jornada nem a qualidade dos dados ao vivo. Validation approach: Teste de contrato (Contract Testing). Why it fits: Use este termo quando os serviços são implantados por conta própria e a compatibilidade das mensagens deve ser verificada sem o sistema completo. Do not use it when: Não copie o código privado do provedor para o contrato ou use este teste em vez de testes de segurança da API. Test requirements: Name the system and test environment. Define prepared test data, other inputs, and the result you can observe. Include failure and edge cases, allowed error, isolation, and cleanup. Test operations: Make failures easy to diagnose. Control random or changing inputs. Name an owner. Keep the test fast and simple enough for its release gate. Acceptance criteria: The test fails for the known bug and passes after the fix. It repeats in the target environment, gives useful evidence, and does not expose or change unrelated data. Evidence and limits (evidence boundary): É oficial para essa fonte. Outras plataformas ou equipes podem usar o termo de outra maneira. Unknowns to confirm: Release gate, environment, prepared test data, allowed error, time budget, owner, and flaky-test rule.
Conferir este pedido
Review how Teste de contrato (Contract Testing) is used now. Definition: O teste de contrato verifica se dois sistemas que podem ser implantados separadamente ainda trocam mensagens no formato acordado. Release checks: Check the environment and prepared test data (fixture). Define a result you can observe, failure and edge cases, isolation, stable inputs, useful error details, and cleanup. Set a time budget, owner, and flaky-test rule. Before changing code, list the evidence, gaps, severity, and the smallest safe fix.