0%
Fazer o trabalho ser verificado por testes

Verificar por testes

Um teste vermelho primeiro; do contrário, você não sabe o que foi corrigido.

10-15 min

Fazer o trabalho ser verificado por testes

O agente anuncia que o bug foi corrigido e adiciona um teste. O teste passa. Você fecha o ticket. Duas semanas depois, o mesmo incidente volta à produção, idêntico. Ao revisar o diff, você percebe que o teste adicionado não passava pelo caminho de código em questão: ele verificava que uma função vizinha retornava um dicionário. Ele teria passado antes da correção exatamente como depois. Você nunca teve a prova de que algo tivesse sido consertado, apenas uma luz verde produzida ao mesmo tempo que uma modificação.

Esse é o ponto menos compreendido no uso de um agente. Um teste escrito depois de uma correção, por quem acabou de fazer a correção, não testa o bug: testa o código tal como acabou de ser escrito. O raciocínio do agente é circular, e é sem intenção de enganar — ele observa o comportamento atual do próprio código e o registra como esperado. Um teste cuja falha nunca foi vista não demonstra absolutamente nada. A disciplina que resolve esse problema é antiga e cabe em uma frase: vermelho antes do verde. Com um agente, ela muda de status: de boa prática opcional, passa a ser o único meio de saber se a correção tem alguma relação com o problema.

Comentários

Os comentários são alimentados pelo GitHub Discussions

Conecte-se com o GitHub para participar da discussão

Link copiado!