Jesse Vincent (obra) / test-driven-development
Por que TDD funciona melhor com um agente do que sem um?
Porque o teste que falha é a única prova de que o agente entendeu o pedido.
O que vale lembrar
- Um teste que falha é uma especificação da qual o agente não escapa conversando.
- Veja o teste falhar. Agente que pula para o verde costuma ter escrito um teste que não falha.
- Ciclos pequenos são o ponto. Grandes dão a mesma falsa confiança de não ter teste.
- É uma skill dentro de uma metodologia maior, e funciona melhor junto de writing-plans.
01O que muda na prática
O problema difícil do código assistido por agente não é capacidade, é verificação. O agente acredita que conseguiu, o diff parece razoável e ninguém conferiu nada. Um teste que falha converte essa crença em fato mecânico.
Também antecipa mal-entendidos. Se o agente escreve um teste que afirma o comportamento errado, você descobre no primeiro minuto e não depois de construir em cima.
02Onde decepciona
Testes que afirmam o que a implementação faz são piores que nenhum teste, porque prendem o defeito no lugar. Leia o teste, não só o resultado.
Também combina mal com exploração. Quando você ainda não sabe como é o correto, escrever a asserção primeiro é adivinhar com passos extras.
Instalação e primeira execução
- Instale o superpowers a partir de obra/superpowers, sob licença MIT.
- Exija ver o teste falhar antes de qualquer implementação.
- Mantenha cada ciclo em um comportamento pequeno, porque ciclo grande esconde o que realmente falhou.
Perguntas que as pessoas realmente fazem
- Por que insistir em ver o teste falhar?
- Um teste que passa antes de existir a implementação não testa nada. Vê-lo falhar é a checagem mais barata que existe.
- Isso desacelera o agente?
- Por mudança, sim. Ao longo de uma semana costuma ser mais rápido, porque elimina o retrabalho de mudanças não verificadas.
- É separado do resto do superpowers?
- É uma skill de uma metodologia maior. Funciona sozinha e melhor ao lado de writing-plans e verification-before-completion.
Fontes
Versões legíveis por máquina desta página