Fuzzing em Go: Encontre Bugs Automaticamente com Testes Nativos

Aprenda fuzzing em Go com testes nativos: escreva fuzz tests, use seed corpus, encontre bugs em parsers e validações, e integre fuzzing no CI/CD do seu projeto.

Fuzz testing (ou fuzzing) é uma técnica que alimenta sua função com entradas aleatórias e mutadas para encontrar bugs que testes manuais jamais encontrariam. Desde o Go 1.18, a linguagem possui suporte nativo a fuzzing integrado ao go test — sem precisar de ferramentas externas.

Neste guia, você vai aprender a escrever fuzz tests, entender como o motor de fuzzing funciona, encontrar bugs reais e integrar fuzzing no seu workflow de desenvolvimento.

Ler mais →

Tratamento de Erros em Go: Guia Definitivo

Domine o tratamento de erros em Go. Error interface, custom errors, errors.Is/As, wrapping, sentinel errors e boas práticas para código robusto.

Tratamento de Erros em Go: Guia Definitivo

“Errors are values.” – Rob Pike

Em Go, erros não são exceções. Não existe try/catch. Erros são valores comuns que você retorna, inspeciona e trata de forma explícita. Essa abordagem, que pode parecer verbosa no começo, é uma das maiores forças da linguagem: torna o fluxo de erro visível, previsível e impossível de ignorar acidentalmente.

Neste guia, vamos explorar tudo sobre tratamento de erros em Go, desde o básico até padrões avançados usados em produção.

Ler mais →