stamatios
← Voltar ao feed
Castelo de areia construído sobre tijolo de fundação apagado por pequena onda, metáfora de ephemeral testing em componentes de software
Dev & Engenharia

Ephemeral testing testa componentes via apps descartáveis

resumo de ~3 min

A proposta: testar avaliando o que se constrói em cima

Daniel Lemire propõe uma abordagem de garantia de qualidade de software que ele chama de teste efêmero ("ephemeral testing"), algo impensável antes dos agentes de IA. A ideia: após escrever o código e construir um componente - manualmente ou por um agente de IA -, pede-se a um agente de IA que construa algo sobre ele, como uma aplicação, uma camada adicional ou várias. O agente testa o que construiu, e a avaliação do trabalho original é indireta: mede-se a qualidade do software construído em cima, não o componente em si.

É uma forma de teste de integração, com a diferença de que o software construído por cima é totalmente temporário: descarta-se quando o teste termina.

O que as falhas revelam

Segundo Lemire, o resultado funciona como diagnóstico do código original. Uma biblioteca com API limpa, invariantes estáveis e mensagens de erro úteis permite que o agente produza algo funcional rapidamente. Já uma biblioteca com estado oculto, padrões surpreendentes ou documentação incompleta gera uma pilha de correções e falhas - e essas falhas são evidência sobre o código, não sobre o agente.

O processo pode ser repetido: diferentes agentes, diferentes tarefas, mesma base. Na prática, em vez de construir o núcleo tentando antecipar o que será necessário nas camadas superiores, simula-se essas camadas construindo-as de verdade.

Limites e experiência prática

Lemire responde a um possível contra-argumento: com IA, seria possível simplesmente reconstruir tudo sempre que necessário, mas isso não é prático - é preciso alguma forma de estabilidade.

Ele relata aplicar a técnica em vários projetos: ao considerar um novo recurso, pede à IA que prototipe rapidamente o que poderia ser construído depois sobre o que está fazendo agora. Para ele, o teste efêmero tem funcionado até agora.

Nos comentários, Sebastian Good avalia que essa é atualmente uma das melhores formas de obter velocidade na programação com IA: a IA escreve muito código, mas precisa de orientação sobre objetivo e modularidade - não sabe ainda dizer sozinha que vai usar um padrão de compilador, um grafo distribuído ou computação vetorial estilo FORTRAN, embora faça bom trabalho quando orientada. Empilhar software sobre a biblioteca, na visão dele, força essas abstrações a aparecerem.