Pergunta de entrevista para Engenheiro de QA

O que é a pirâmide de testes e ela ainda se sustenta para a forma como o software é construído hoje?

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

Resposta rápida

A pirâmide diz para ter muitos testes unitários rápidos, menos testes de integração e um número pequeno de testes end to end, porque custo e instabilidade sobem conforme você sobe enquanto a velocidade do feedback cai. Ela ainda se sustenta como modelo de custo. O que mudou é que, com serviços distribuídos, a camada do meio pesa mais, então testes de contrato e de integração muitas vezes merecem uma fatia maior do que o formato clássico sugere.

Por que os entrevistadores perguntam isso

Essa é uma pergunta de estratégia, e o entrevistador quer saber se você consegue raciocinar sobre distribuição de testes em vez de recitar um diagrama. Uma boa resposta explica por que o formato existe (custo, velocidade e confiabilidade, não dogma) e mostra que você tem opinião sobre onde ele se dobra. Quem defende porcentagens rígidas normalmente nunca manteve uma suíte grande ao longo de uma reformulação.

Como estruturar sua resposta

  • Descreva cada camada e a quantidade relativa de testes nela.
  • Explique o raciocínio de custo e velocidade por trás do formato.
  • Diga onde o formato se dobra em arquiteturas modernas.
  • Dê a sua própria regra para decidir a que camada um teste pertence.

Exemplo de resposta

Exemplo falado, em primeira pessoa

O formato vem da economia. Um teste unitário roda em milissegundos, falha por exatamente um motivo e quase nunca mente para você. Um teste end to end roda em minutos, depende de um navegador, de uma rede e de seis serviços, e quando ele fica vermelho você gasta vinte minutos descobrindo se o produto quebrou ou se o ambiente estava ruim. Então você quer muitos dos baratos e só o suficiente dos caros para provar que as peças estão ligadas entre si. Onde eu vi o formato clássico se dobrar foi em sistemas distribuídos. Se um serviço é basicamente orquestração, testá-lo pesadamente no nível unitário só testa os seus próprios mocks, então eu jogo peso para testes de integração e de contrato, o que dá um formato mais parecido com um diamante. Minha regra para posicionar um teste é perguntar qual é a menor coisa que poderia quebrar aquele comportamento, e testar nesse nível. Se o risco é um cálculo, unitário. Se o risco é dois serviços discordando sobre um payload, contrato. Eu guardo o end to end para um punhado de jornadas que nunca podem quebrar em silêncio.

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

  • Quantos testes end to end você consideraria demais?
  • O que é o anti padrão da casquinha de sorvete e como um time acaba nele?
  • Onde ficam os testes de contrato nesse modelo?

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