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
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 funcionaPerguntas 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