Bug vs defeito vs issue vs error: qual a diferença? (2026)

Bug é a palavra informal para defeito; defeito (defect) é o termo formal para qualquer falha em que o software não atende ao requisito. Issue é o termo guarda-chuva que cobre defeitos, pedidos de funcionalidade, tarefas e dúvidas. Na prática descrevem a mesma coisa em níveis diferentes de cerimônia — e o que gera confusão é misturar os três dentro do mesmo time. As diferenças importam menos na conversa e mais em três lugares: o que você mede, o que você promete em contrato e o que você pede a quem reporta. Esta página propõe uma separação defensável, para colocar num glossário e parar de discutir.

A resposta curta

Termo Escopo Onde aparece
Bug Palavra informal para defeito. Geralmente algo que funcionava antes ou que claramente deveria funcionar Dailies, chat, "tem um bug no pagamento"
Defeito (defect) Termo formal: qualquer desvio entre comportamento real e esperado, tenha funcionado antes ou não Relatórios de QA, auditorias, contratos, métricas
Issue Termo guarda-chuva: tudo que exige decisão — defeito, pedido, tarefa, dúvida Trackers, IDs de ticket, notas de versão
Error Uma ação humana que produz resultado incorreto Análise de causa raiz, post-mortems
Fault A instrução ou dado errado dentro do software que provoca a falha Discussão de engenharia, normas
Failure O evento observável: o sistema não faz o que deve Revisões de incidente, monitoração
Se você guardar só uma linha: error → fault → failure é uma cadeia causal, e defeito é o que você registra, normalmente um fault. Bug é o que as pessoas falam em voz alta.

A cadeia: error, fault, failure

O modelo clássico, ainda usado em normas e útil em post-mortem:
  • Error — uma pessoa erra: requisito mal entendido, premissa falsa, verificação pulada.
  • Fault — esse erro vira um defeito concreto no código, na configuração ou nos dados.
  • Failure — o fault executa nas condições certas e fica visível: a página quebra, o total sai errado, o salvamento falha em silêncio.
  • Essa cadeia explica por que "erro humano" nunca é causa raiz sozinho: explica a origem do defeito, não por que ele chegou à produção. Para a visão de QA sobre classificação e priorização, veja o guia de triagem de defeitos.

    Por que "issue" é a palavra melhor para o seu tracker

    Um tracker guarda mais que defeitos. Chame o objeto de issue — mantendo "bug" como palavra do dia a dia — e você tem um só lugar para:
    • defeitos (o comportamento está errado),
    • pedidos de funcionalidade (o comportamento falta de propósito),
    • tarefas (trabalho sem comportamento associado),
    • dúvidas (nenhuma mudança de código esperada).
    A armadilha é um tracker com um único tipo "bug". Os times passam a registrar pedidos como bugs para entrar na fila, o que corrompe permanentemente as métricas de defeito: você deixa de saber se a qualidade melhora ou se apenas trocaram o rótulo. Se está escolhendo ferramenta, o guia de issue tracking systems cobre os critérios mais amplos; para o ciclo de vida de QA, veja softwares de gestão de defeitos.

    Onde a distinção ganha dinheiro

    1. Contratos e SLA. Um acordo que promete "defeitos críticos corrigidos em 24 horas" precisa de definição escrita de defeito e crítico. Sem ela, toda discussão é negociação. "Bug" em contrato costuma ser vago demais para exigir. 2. Métricas. Densidade de defeitos, taxa de escape e taxa de reabertura só significam algo se a população é estável. Se metade dos seus "bugs" são pedidos, nenhum número se sustenta. 3. Auditoria e conformidade. Produtos regulados geralmente exigem registro de defeito rastreável com severidade, verificação e evidência de encerramento. É um artefato formal: a palavra defeito sinaliza essa formalidade.

    Bug ou pedido de funcionalidade?

    A fronteira que gera mais discussão:
    É defeito se… É pedido se…
    O comportamento contradiz um requisito escrito ou o design documentado Não existe requisito e esse comportamento nunca foi prometido
    Os usuários não conseguem concluir uma tarefa que antes concluíam Conseguem concluir, só não do jeito que preferem
    O estado do sistema fica inconsistente ou há perda de dados O sistema é consistente; a saída apenas não é a desejada
    Afeta acessibilidade, segurança ou integridade dos dados É preferência de layout, texto ou fluxo
    Os casos difíceis são os "esperados por convenção". Um botão desabilitado que não dá retorno é defeito na maioria dos design systems, mesmo sem requisito escrito. Resolva com uma regra escrita, ou você rediscute isso a cada sprint.

    Bug ou "error" (a mensagem na tela)

    Uma mensagem de erro na tela não é defeito por si. "Formato de e-mail inválido" é comportamento correto. O defeito é quando a mensagem está errada, falta, ou aparece quando não deveria. E o error de "Console error" é uma exceção registrada pelo runtime, que pode ou não ser defeito (muitos erros registrados são esperados e tratados). É por isso que um relato deve anexar a saída do Console em texto, não uma captura: quem triagem precisa do texto, da pilha e da frequência, não de uma imagem.

    Escolha um vocabulário e escreva

    A recomendação com que a maioria dos times consegue viver:
    • Issue é o objeto no tracker. Todos os tipos vivem abaixo dele.
    • Defeito é o tipo "comportamento errado" e a palavra de métricas, contratos e relatórios.
    • Bug fica como palavra falada. Fora dos dashboards.
    • Error / Fault / Failure apenas em análise de causa raiz, nessa ordem.
    Depois coloque num glossário de cinco linhas no doc de QA, junto com a regra defeito vs pedido. O objetivo não é pureza linguística: vocabulário estável é o que torna um relato reutilizável e uma métrica comparável mês a mês.

    O que isso significa para o relato

    Chame como quiser, os campos que a triagem precisa são idênticos:
    • a página ou endpoint exato,
    • o que foi feito, o esperado e o que aconteceu,
    • a evidência: print, erros de Console, requisições que falharam,
    • o ambiente: navegador, OS, viewport, timestamp.
    É a diferença entre um relato classificável em dois minutos e um interrogatório de quinze. O formato de bug report cobre cada campo e os exemplos de título mostram como deixar a primeira linha pesquisável.

    Perguntas frequentes

    Bug e defeito são a mesma coisa? No uso cotidiano, sim. Formalmente, defeito é o desvio do comportamento esperado e bug é o nome coloquial. Contratos e auditorias usam defeito porque é definido; os times dizem bug porque é curto. Defeito e failure são a mesma coisa? Não. Defeito é uma falha que existe no software; failure é o evento observável quando ele executa nas condições certas. Um defeito pode ficar anos no código sem nunca causar um failure. Nosso tracker deve dizer "bug" ou "issue"? Objeto issue, com defeito como um tipo. Um tracker com apenas o tipo "bug" empurra pedidos para a fila de defeitos e corrompe as métricas de qualidade. Onde entra "error"? Error é uma ação humana que introduz um fault. É causa, não categoria de ticket. "Erro humano" como causa raiz interrompe a análise cedo demais. Precisamos impor isso na ferramenta? Só levemente. Um campo obrigatório de "tipo" e uma definição escrita de defeito vs pedido bastam. Mais taxonomia geralmente documenta melhor a coisa errada.