Pular para o conteúdo
Bernardo Fernandez

Engenharia · 14 de maio de 2026 · 5 min de leitura

O que um endpoint quebrado me ensinou sobre arquitetura

Um endpoint que passou em todos os testes e falhou com dados reais. O que ele me ensinou sobre fronteiras, validação e projetar para a falha que você ainda não viu.

O endpoint funcionava perfeitamente em todos os testes: entradas corretas, saídas corretas, casos de borda cobertos, suíte de integração verde. Aí chegou tráfego real e ele falhou de um jeito que nenhum teste tinha imaginado — não porque a lógica estava errada, mas porque o mundo tinha permissão de enviar coisas que os testes nunca consideraram.

O bug em si era comum. O interessante era onde ele morava: exatamente na fronteira entre meu sistema e o mundo exterior, no lugar onde eu confiava na forma dos dados em vez de verificá-la.

Testes verificam o que você assumiu

Todo teste que eu tinha escrito confirmava o comportamento para dados no formato que eu esperava que chegassem. Nenhum perguntava a pergunta mais importante: o que esse endpoint faz com dados num formato que ninguém imaginou?

Validação na fronteira é arquitetura, não burocracia. Um parser estrito na borda de um sistema converte uma falha futura desconhecida numa rejeição presente e conhecida — e essa diferença é a diferença entre um bug report e uma linha de log.

O que mudou no jeito de construir

Hoje trato as bordas de um sistema — entradas de usuários, outros serviços, terceiros — como hostis por padrão, com contratos estreitos e explícitos que falham alto. O interior pode então ser elegante, porque só vê dados que já passaram pelo porteiro.

A ironia é que a correção deixou o código menor, não maior. Confiar menos significa verificar uma vez, na fronteira, em vez de se defender por toda parte.

Pensando em algo parecido?

Vamos conversar sobre seu projeto