logo CS

Erro, Bug, Defeito ou Falha? Entenda as diferenças que elevam sua maturidade técnica

No dia a dia do desenvolvimento, termos como bug, erro, falha e exceção são usados como se fossem as mesmas coisas. Apesar de todos serem um problema, tecnicamente eles possuem significados diferentes. E entender essas diferenças melhora a comunicação entre os desenvolvedores, com os times de QA e stakeholder (as partes interessadas).

autor

Guilherme Braga

Publicado 20 de janeiro de 2026 às 22:07

  • #SoftwareTesting
  • #QualityAssurance
  • #Programação
2 min
Erro, Bug, Defeito ou Falha? Entenda as diferenças que elevam sua maturidade técnica

Erro

O erro está mais ligado à ação humana. Acontece quando o desenvolvedor escreve o código incorreto, define uma lógica errada ou interpreta errado um requisito.

Alguns exemplos são:

  • Usar > ao invés de >=
  • Implementar uma regra de negócio com uma interpretação equivocada
  • Ou, usar uma condicional enquanto não há necessidade

O erro acontece sempre no processo de desenvolvimento. Com isso, ele pode ou não gerar um bug visível no sistema.

Bug

Partindo para o termo mais utilizado. O bug representa qualquer comportamento inesperado do software em relação ao que foi especificado.

Exemplos:

  • Um botão que deveria salvar dados, mas não faz nada
  • Um cálculo que retorna um valor incorreto
  • Um modal que não abre

Bug é um termo informal. Não explica a causa do problema em si, mas indica que algo não está funcionando corretamente.

Aliás, o uso deste termo é interessante, apesar que há algumas controvérsias de sua origem. Mas resumindo, a mãe da computação, Grace Hopper encontrou uma mariposa real dentro do computador, isso lá nos anos 40, e estava fazendo com que o computador apresentasse falhas. Recomendo vocês procurarem saber, é interessante. Pelo menos para mim é interessante.

Defeito

Já o defeito é a materialização do erro no código, design ou na documentação. É algo concreto que pode ser especificado e corrigido. É como se fosse a instanciação de algum mal entendido, a instanciação de um erro.

Acontece assim:

  • O desenvolvedor comete um erro.
  • Esse erro gera um defeito no código.
  • O defeito resulta em um bug percebido pelo usuário.

Em metodologias de QA, o termo defeito é mais preciso que bug.

Falha

Publicidade

A falha ocorre em tempo de execução. É quando o sistema deixa de cumprir sua função enquanto está rodando.

Exemplos:

  • A aplicação cai ao tentar abrir uma tela.
  • Um servidor para de responder após um pico de acessos.
  • Ao enviar um formulário, o sistema quebra.

Nem todo defeito pode gerar uma falha imediata. Mas algumas falhas só aparecem em cenários específicos.

Exceção

Exceção é um evento inesperado que, também, ocorre durante a execução do programa e interrompe o fluxo normal.

Exemplos:

  • Divisão por zero.
  • Acesso a um recurso inexistente.

Lembrando que as exceções podem ser tratadas e, quando bem tratadas, evitam que cheguem ao famigerado usuário final.

Resumindo

Só para resumir para vocês, aqui vai uma definição mais direta:

  • Erro: ação humana incorreta.
  • Defeito: problema existente no código ou design.
  • Bug: comportamento incorreto observado.
  • Falha: quebra do sistema em execução.
  • Exceção: evento inesperado em tempo de execução.
Publicidade

Por que saber essas diferenças importa?

Bom, enquanto estamos em um time, a clareza da informação é fundamental, sendo assim, a precisão de linguagem faz parte da qualidade do software. Saber diferenciar estes termos, além de melhorar a comunicação entre a equipe pode melhorar:

  • Qualidade de relatórios de QA.
  • Análise de causa raiz.
  • Maturidade técnica do time.