← Últimos artigos
💻 computer science

Test-Oriented Programming: rethinking coding for the GenAI era

O artigo propõe o paradigma de "Programação Orientada a Testes" (TOP), no qual os desenvolvedores focam apenas na validação de testes gerados por IA a partir de especificações em linguagem natural, delegando a escrita do código de produção aos modelos de linguagem, e demonstra a viabilidade dessa abordagem através de uma prova de conceito.

Autores originais: Jorge Melegati

Publicado 2026-04-10
📖 5 min de leitura🧠 Leitura aprofundada

Autores originais: Jorge Melegati

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine que, durante séculos, programar foi como construir uma casa tijolo por tijolo. O arquiteto (o programador) tinha que desenhar cada detalhe, escolher cada material e colocar cada pedra no lugar certo. Com a chegada da Inteligência Artificial (IA), surgiram ferramentas que ajudavam a colocar os tijolos mais rápido, como um ajudante que sugere onde colocar o próximo. Mas, no final das contas, o arquiteto ainda tinha que olhar para a parede e verificar se estava reta.

O artigo "Programação Orientada a Testes" (Test-Oriented Programming), do autor Jorge Melegati, propõe uma mudança radical nessa forma de pensar. Ele sugere que, na era da IA, o programador não deve mais se preocupar em colocar os tijolos, mas sim em definir o que a casa deve fazer.

Aqui está a explicação simples, usando analogias do dia a dia:

1. A Nova Abordagem: O Chefe e o Cozinheiro

Pense no desenvolvimento de software como cozinhar um jantar para uma festa.

  • O Jeito Antigo: O chef (programador) escreve o cardápio e depois vai para a cozinha, corta os legumes, tempera a carne e frita tudo, verificando o sabor a cada passo.
  • O Jeito com IA Atual (Copilot, etc.): O chef dá uma dica e a IA sugere o próximo corte de legume. O chef ainda está na cozinha, mexendo na panela.
  • O Novo Jeito (Programação Orientada a Testes - TOP): O chef (programador) fica na sala de jantar e escreve um cardápio de expectativas (os "testes"). Ele diz: "Quero uma sopa que seja quente, salgada e que tenha batata".
    • A IA (o cozinheiro robô) vai para a cozinha e tenta cozinhar a sopa.
    • Se a sopa não estiver salgada, o robô tenta de novo.
    • Se não tiver batata, ele joga fora e recomeça.
    • O chef nunca entra na cozinha. Ele só verifica se a sopa final atende ao que ele pediu no cardápio. Se a sopa estiver ruim, o chef não conserta a receita; ele apenas ajusta o pedido no cardápio (o "código de teste") e manda o robô tentar de novo.

2. O Problema da Linguagem Natural

A IA é incrível, mas ela é como um funcionário muito criativo que às vezes não entende exatamente o que você quer se você falar de forma ambígua.

  • Se você diz: "Faça algo legal", a IA pode fazer um bolo ou um carro de brinquedo.
  • Para resolver isso, o autor propõe que o programador escreva regras de verificação (os testes). Em vez de dizer "faça um sistema de bibliografia", o programador diz: "O sistema deve conseguir ler um arquivo, adicionar um livro novo e encontrar um livro pelo autor".
  • A IA usa essas regras como um guia. Ela gera o código (a produção) e roda os testes. Se o código passar nos testes, está pronto. Se falhar, a IA sabe que precisa mudar algo.

3. A Ferramenta "Onion" (Cebola)

Para provar que isso funciona, o autor criou uma ferramenta chamada Onion.

  • Imagine que a Onion é um gerente de obra. Você entrega a ela um arquivo de configuração (um papel com o que você quer).
  • A Onion conversa com a IA, pede para ela criar o código, roda os testes e, se der errado, pede para a IA tentar de novo.
  • O humano só intervém se a Onion disser: "Ei, os testes que você escreveu estão confusos, preciso que você os reescreva para a IA entender".

4. O Que Eles Descobriram?

Eles testaram a Onion criando um pequeno programa para organizar referências bibliográficas (como um catálogo de livros). Usaram duas IAs diferentes (uma da OpenAI e uma da Google) e descobriram:

  • Funciona! Em nenhum momento tiveram que escrever o código do programa manualmente. A IA fez tudo.
  • O Desafio da Quantidade: A IA gera muito código de teste. É como se o cozinheiro escrevesse 50 páginas de instruções de como provar a sopa. O programador precisa ler tudo isso para garantir que as regras estão certas. Isso pode ser cansativo.
  • A Personalidade das IAs: As duas IAs agiram de formas diferentes. Uma foi mais direta e curta; a outra foi mais detalhista e falante. Isso significa que o código final muda dependendo de qual "robô" você contrata.
  • A Necessidade de Revisão: Às vezes, a IA ficava presa num ciclo de erros. O programador precisava olhar para os testes e dizer: "Ah, você pediu para a IA procurar por 'autor', mas o teste está procurando por 'título'. Corrija o teste".

Conclusão: O Futuro do Programador

A mensagem principal é que a programação está mudando de "como fazer" para "o que fazer".
O programador deixa de ser um pedreiro que coloca tijolos e passa a ser um arquiteto que define as regras da casa. O trabalho não desaparece, mas muda de foco: em vez de escrever código, você escreve e revisa regras de qualidade (testes) para garantir que a IA fez o trabalho certo.

É como se, no futuro, para ter um carro, você não precisasse saber soldar as peças, mas precisasse ser um especialista em definir exatamente como o carro deve se comportar no trânsito para que a fábrica (a IA) o construa perfeitamente.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →