Pergunta de entrevista para Engenheiro de QA

Como você testa que dois serviços ainda funcionam juntos sem subir o sistema inteiro?

O que o entrevistador está avaliando, como estruturar sua resposta e um exemplo falado que você pode adaptar.

Resposta rápida

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

Exemplo falado, em primeira pessoa

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 funciona

Perguntas 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

Ensaie as perguntas difíceis antes que elas apareçam

Pratique com um copiloto ao vivo e depois entre pronto. Um Session Pass de $29 te leva até o fim da entrevista, sem assinatura e sem amarras.

Instalar o GhostPilot