Testes: quantos, quais e quais não valem
Três camadas
Unitários. Rápidos, focados, rodando a cada salvamento. É lá que está a maior parte do retorno.
Integração. Contra um banco de dados real e filas reais. Captura o que os unitários perdem — esquema, transações, consultas.
Ponta a ponta. Caros e frágeis. Reserve para cinco a quinze caminhos críticos.
O que vale testar
Lógica de negócio com casos limites, cálculos, permissões e o que já quebrou uma vez. Todo bug corrigido recebe um teste — assim a cobertura cresce nos lugares certos e não por porcentagens.
O que não vale: código que só move dados, e testes que simulam tanto que testam a simulação e não o sistema.
Qualidade do teste
Um bom teste falha por um motivo claro e nomeia o que quebrou. Um teste instável é pior do que nenhum teste — ele ensina o time a ignorar o vermelho.
Indo mais fundo
Separe os testes rápidos que rodam a cada push de uma suite pesada que roda à noite. E quando um teste falha de forma intermitente, trate-o como um bug de alta prioridade — tolerar instabilidade apaga em meses todo o valor da suite.