devterview_$ iniciar simulação

O que faz um teste unitário ser bom

MédioPlenoQualidade de teste

Pergunta

Quais características fazem um teste de unidade ser útil de manter — e o que torna um teste frágil?

Resposta esperada

Um bom teste unitário é rápido, isolado (não depende de ordem de execução nem de estado compartilhado), determinístico e testa comportamento observável, não detalhe de implementação. Costuma ter uma única razão pra falhar e um nome que descreve o cenário e o resultado esperado. Testes frágeis: fazem asserção sobre chamadas internas (mock pesado), dependem de tempo real ou de relógio, compartilham fixtures mutáveis entre casos, ou reimplementam a lógica que deveriam verificar. O sinal de alerta é uma refatoração que não muda comportamento mas quebra dezenas de testes — quase sempre significa que os testes estão acoplados ao 'como'.

Por que perguntam isso

Pergunta que separa quem só 'tem cobertura' de quem já sofreu com suíte frágil. A frase-chave a se ouvir: 'refatorei sem mudar comportamento e a suíte quebrou' como sintoma de teste ruim.

#teste-unitario#fragilidade#qualidade
publicidade

Relacionadas