Use teste de contrato. O consumidor define as requisições que faz e o formato de resposta de que depende, essa expectativa é publicada como um contrato, e o provedor a verifica dentro do próprio pipeline. Os dois lados então testam de forma independente e rápida, e uma mudança quebradora falha o build do provedor em vez de aparecer num ambiente compartilhado dias depois.
Por que os entrevistadores perguntam isso
Num parque de microsserviços, ambientes end to end são lentos, caros e estão permanentemente meio quebrados, então entrevistadores querem saber se você tem uma resposta melhor do que subir tudo. O detalhe valioso é que a verificação roda no pipeline do provedor, que é o que de fato evita a quebra. Saber que um contrato cobre o uso real do consumidor e não a API inteira do provedor mostra entendimento genuíno.
Como estruturar sua resposta
- Nomeie o problema dos testes end to end com ambiente completo.
- Explique contratos guiados pelo consumidor como uma sequência clara.
- Enfatize que o provedor verifica o contrato no próprio build.
- Esclareça o que um contrato cobre e o que não cobre.
- Diga para que você ainda mantém testes end to end.
Exemplo de resposta
Ambientes end to end completos não escalam além de um punhado de serviços. São lentos, precisam que o build mais recente de todo time esteja saudável ao mesmo tempo, e quando algo fica vermelho a primeira pergunta é sempre se é um defeito real ou o ambiente. Teste de contrato contorna isso. O consumidor escreve testes contra um stub local do provedor, e essas interações são gravadas como um contrato: para esta requisição, eu dependo destes campos com estes tipos. Esse contrato é publicado, e o pipeline do próprio provedor o reproduz contra a implementação real do provedor. Se alguém renomeia um campo ou muda um tipo, o build deles falha, no repositório deles, minutos depois da mudança, com uma mensagem nomeando qual consumidor quebra. Esse é o valor inteiro: o feedback aterrissa onde a mudança foi feita. A nuance que vale enunciar é que um contrato só cobre o que o consumidor de fato usa, não a superfície completa do provedor, então ele não substitui os testes funcionais do provedor, e verifica compatibilidade e não correção de negócio. Eu ainda mantenho uma suíte end to end pequena para as poucas jornadas que realmente precisam ser provadas entre serviços.
Vai encarar essa entrevista em breve? O GhostPilot escuta a sua chamada ao vivo, identifica a pergunta no instante em que ela é feita e coloca uma resposta estruturada na sua tela em tempo real. Teste na sua próxima entrevista simulada ou pegue um Session Pass de $29, sem assinatura, para a hora da verdade.
Veja como funcionaPerguntas de acompanhamento que você pode esperar
- O que acontece quando um provedor precisa fazer uma mudança quebradora de propósito?
- Como você evita que os contratos fiquem desatualizados conforme os consumidores mudam?
- Como isso funciona quando o provedor é um terceiro que você não controla?
Mais perguntas para Engenheiro de QA
Seu entrevistador vai fazer a própria versão desta. Cole a descrição real da vaga no Question Predictor gratuito e receba as 20 perguntas que essa vaga tem mais chance de fazer, com o que cada uma está de fato sondando.
Prever minhas perguntas