Você não consegue testar gosto com testes unitários

Natureza de “gosto” e se ele é testável

  • Muitos argumentam que você não pode testar completamente gosto com testes unitários porque:
    • Gosto é a parte da especificação que você esqueceu ou não consegue articular.
    • Regras precisam de exceções, cujas exceções são julgamento contextual; o que sobra é “gosto”.
    • Você só consegue externalizar uma pequena fatia, parecida com regra; o resto permanece implícito.
  • Outros contra-argumentam que partes podem ser codificadas:
    • Comparações pareadas de “bonito ou não” podem treinar funções de pontuação de ML.
    • Guias de estilo, linguagens de padrões e diretrizes de UI capturam alguns padrões compartilhados.
    • Linters e scripts podem impor convenções (nomes, cores da marca, limites entre camadas).

IA, LLMs e gosto pessoal/organizacional

  • LLMs são descritos como poderosos, mas presos ao nível de um “novo contratado inteligente”:
    • Sem memória persistente e individualizada de longo prazo.
    • RL / feedback tende a nivelar para um estilo genérico, e não para o gosto de uma pessoa.
    • Modelos frequentemente tomam decisões confiantes, mas sem gosto ou arriscadas, a menos que sejam rigidamente governados.
  • Abordagens propostas:
    • Treinar modelos de preferência separados por pessoa/equipe; falhar quando discordarem.
    • Usar agentes mais “portões” humanos ou tickets de validação antes de encerrar o trabalho.
    • Tratar LLMs como devs juniores; registrar decisões em ADRs/documentação e deixá-los seguir isso.

Filosofia de testes e os limites do TDD

  • Testes são vistos como uma forma de garantir que as coisas “não estejam erradas”, e não de torná-las “boas” ou de bom gosto.
  • TDD pesado e testes unitários de baixo nível são criticados:
    • Correção não se compõe de forma limpa; comportamento emergente aparece em níveis mais altos.
    • Excesso de mocks e metas de 100% de cobertura reduzem a confiança e tornam a mudança mais lenta.
  • Outros defendem TDD quando aplicado nos níveis apropriados de abstração e para bugs.
  • Testes de snapshot e regressão visual são sugeridos para gráficos/UI, mas não capturam o “parece certo”.

UX, visuais e “sensação”

  • Muitos observam que UIs/imagens geradas por IA frequentemente parecem baratas ou estranhas.
  • Alguns acham que redes neurais conseguem reconhecer qualidades como “cafona”, dado exemplos rotulados suficientes.
  • Ferramentas podem testar aspectos objetivos (cores, consistência de layout), mas o atrito subjetivo de UX ainda exige humanos.

Intuição, antropomorfismo e pragmatismo

  • A intuição humana (por exemplo, sentir falha estrutural) é comparada a gosto: baseada em experiência, mas difícil de codificar.
  • O uso de “nós” com colaboradores de IA levanta preocupação com uma antropomorfização sutil.
  • Várias vozes defendem aceitar o “bom o suficiente”, usando IA como ferramenta de apoio enquanto humanos mantêm o gosto final e a governança.