Escrito originalmente em francês. Traduzido por IA — o sentido foi preservado, não a prosa.
Ideia principal
Um assistente a quem se pede testes depois que a funcionalidade já foi escrita produz testes que passam. Isso é esperado: ele os deriva do que acabou de escrever. Eles verificam que a função chamada com tal argumento devolve o que ela já devolve, que o componente exibe o que ele já exibe. Se a implementação entendeu mal a necessidade, os testes carimbam esse mal-entendido e o protegem contra qualquer correção futura.
O efeito visível é o inverso do efeito real. O repositório mostra centenas de testes verdes, a suíte roda a cada alteração e o produto parece seguro — quando nada nesse dispositivo jamais confrontou o código com o comportamento esperado pelo negócio.
É isso que distingue uma cobertura de uma estratégia de testes: a primeira mede quanto código é atravessado, a segunda decide quais comportamentos precisam continuar verdadeiros, em que nível verificá-los e quais riscos precisam ser cobertos.
Por que isso importa
Isso impede que a presença de testes seja lida como prova. Num código gerado, o número de testes é o dado mais fácil de obter e o menos informativo: é preciso saber de onde eles vieram — de uma intenção formulada antes, ou de uma implementação revisada depois.
Também explica por que o assunto é difícil para um perfil de produto. Ele não necessariamente pratica desenvolvimento guiado por testes, nem sempre distingue teste unitário, teste de integração e teste de ponta a ponta, e nunca precisou formular uma regra de negócio em forma de verificação — logo, não tem como perceber que o que lhe entregaram é um espelho.
Nuances e limites
Um teste escrito depois do código não é sem valor: ele protege contra regressões, e isso já é muito num código que ninguém relê. O que ele não faz é estabelecer que o comportamento era o certo.
E inverter a ordem também não basta: um teste escrito antes, mas por quem entendeu mal a necessidade, falha exatamente da mesma forma.
Questões em aberto
- Como alguém que nunca praticou teste pode expressar uma intenção de negócio de forma verificável, sem antes reaprender o vocabulário de testes?