Exemplos de título de bug: 35+ títulos bons e ruins (2026)

Por que o título importa mais que o resto do relatório

Um bom título de bug = onde aconteceu + o que você fez + o que deu errado + em que condição se reproduz. Se esses quatro pontos cabem em uma linha, o desenvolvedor reproduz o problema sem te perguntar nada. É exatamente essa a diferença entre um bom título e um ruim. Abaixo estão 40 exemplos lado a lado, divididos em sete cenários — login, cadastro, pagamento, mobile, APIs, desempenho e interface — para você reescrever seus próprios bugs.

Desenvolvedores leem o título primeiro, sempre. Um título vago significa ou uma rodada extra de perguntas, ou o ticket fica parado. Pior: um título ruim não se salva com um bloco de ambiente bem preenchido — ninguém abre um ticket chamado «o botão está quebrado».

Um título passa ou falha em quatro pontos: é específico (nomeia o componente ou a página), é observável (traz fatos, não «não funciona»), carrega condições (navegador, dispositivo, tipo de conta, momento) e permite avaliar o alcance (queda total ou caso de borda).

A fórmula de 4 partes para títulos de bug


[Componente/Página] + [Ação] + [Resultado inesperado] + [Condição]

Como preencher cada parte:

  • Componente: página de checkout / modal de login / lista de pedidos / POST /api/orders
  • Ação: clicar, enviar, fazer upload, trocar de aba, escanear
  • Resultado inesperado: nada acontece, retorna 500, valor com um dígito a mais, status fora de sincronia, texto sobreposto
  • Condição: Chrome 120, iOS 17.2, largura <390px, apenas contas enterprise, após um timeout de rede

Sentence case, componente primeiro, sem marcadores de prioridade. É a convenção que a maioria dos times adota — e consistência importa mais do que a convenção escolhida.

1. Login e contas (7 exemplos)

Título fraco Título forte
O botão de login não funciona Clicar em «Entrar» no Chrome 120 não faz nada; o console lança TypeError: login is not a function
O e-mail de redefinição não chega Nenhum e-mail após clicar em «Esqueci minha senha» com um endereço Gmail (spam verificado após 30 minutos)
Redirecionamento errado após login Usuário padrão cai em /admin em vez de /dashboard após entrar; reproduzível desde a v5.3
O captcha falha sempre Captcha válido continua recusado com «Código inválido» — só em janelas anônimas
A conta é bloqueada Três senhas erradas bloqueiam a conta permanentemente, mas a mensagem diz «tente novamente em 24 horas»
A sessão não é invalidada Entrar em um segundo dispositivo não invalida a primeira sessão, que continua totalmente utilizável
O login via SSO falha O callback de SSO retorna «Invalid signature» desde a rotação do certificado do IdP

Conclusão: em bugs de login, a condição (navegador, tipo de conta, janela anônima) decide se alguém consegue reproduzir. Não omita.

2. Cadastro e formulários (7 exemplos)

Título fraco Título forte
Não consigo me cadastrar O cadastro recusa e-mails com «+» (ex. user+test@x.com) com «Formato de e-mail inválido»
A validação de telefone não funciona Um número completo de 11 dígitos ainda mostra «Informe um número de 11 dígitos»
O indicador de força está errado Uma senha de 8 caracteres que já contém dígitos ainda mostra «precisa incluir um número»
A lista suspensa não responde A lista «País» não pode ser selecionada pelas setas após filtrar digitando 3 caracteres
O formulário envia duas vezes Pressionar Enter no formulário de cadastro envia duas vezes e cria duas contas duplicadas
Campo obrigatório não validado O cadastro é concluído sem marcar «Aceito os termos» e a conta é criada mesmo assim
Fuso horário padrão errado O fuso aparece como UTC+0; usuários em UTC+8 precisam alterar manualmente a cada cadastro

Conclusão: troque a descrição por valores de entrada concretos. Uma string real vale mais que dez frases de «a entrada não funciona».

3. Pagamento e checkout (7 exemplos)

Título fraco Título forte
O pagamento falha Um total de R$ 129,99 aparece como R$ 1.299,99 (um dígito a mais) no checkout, e a página de pagamento herda o valor errado
O cupom não funciona Cupom expirado ainda aparece como «válido»; ao aplicar, retorna 500 e esvazia o carrinho
O contador do carrinho não atualiza O contador no cabeçalho continua mostrando «1» após remover o último item, até recarregar a página
Cobrança em duplicidade Repetir o pagamento após um timeout de rede cobra duas vezes o mesmo pedido (pedido n.º 10231)
Dados de nota fiscal não são salvos Os dados de faturamento da empresa são apagados ao voltar uma etapa e retornar ao checkout
Status de reembolso dessincronizado O pedido continua mostrando «Pago» na visão do cliente mesmo após o reembolso (pedido n.º 10388)
Falta uma forma de pagamento A opção de cartão não aparece no checkout — só em contas no modelo de cobrança antigo

Conclusão: quando envolve dinheiro ou número de pedido, coloque o número no título. Isso corta a triagem pela metade.

4. Mobile e responsivo (6 exemplos)

Título fraco Título forte
O layout quebra no celular O botão «Adicionar ao carrinho» sobrepõe o preço no iPhone 14 (iOS 17.2) abaixo de 390px de largura
A página não rola Abrir um modal trava a rolagem no celular e ela continua travada depois de fechar
O teclado cobre o campo O teclado do Android Chrome cobre o botão «Enviar», que fica impossível de tocar
Layout em paisagem quebrado A barra de navegação quebra no iPad em paisagem (1024×768) e o logo sobrepõe o menu
As imagens não carregam A imagem principal do produto some no Safari iOS 16; o console retorna 403 (assinatura do CDN expirada)
Área de toque pequena demais Os botões de paginação no celular têm área de toque de 12×12px, abaixo do mínimo de acessibilidade de 44px

Conclusão: no mobile, «mobile» não é uma condição. Escreva o modelo exato, a versão do sistema e a largura do viewport.

5. Dados, APIs e permissões (6 exemplos)

Título fraco Título forte
A exportação falha Exportar mais de 10.000 pedidos retorna 504; exportar em lotes funciona
Carimbos de data e hora errados Os horários do relatório ficam 8 horas atrasados — só para usuários no fuso Asia/Shanghai
A busca não retorna nada Buscar «iPhone» retorna 0 resultados, embora existam 12 registros correspondentes no banco
Linhas duplicadas ao paginar A lista de pedidos repete as últimas 3 linhas da página 1 no início da página 2
Erro no upload Upload de PNG acima de 5MB retorna 413, mas a interface mostra «Upload concluído» com o arquivo vazio
Elevação de privilégio Um perfil somente leitura consegue chamar DELETE /api/projects/12 e excluir um projeto com sucesso

Conclusão: em bugs de API, coloque o código HTTP, o caminho do endpoint ou o limite no título. É metade do trabalho de depuração feito de antemão.

6. Desempenho e carregamento (3 exemplos)

Título fraco Título forte
A página está lenta O LCP da home é 8,2s em 4G, causado por 2,1MB de JavaScript sem compressão
Vazamento de memória A memória sobe de 120MB para 900MB após trocar de aba 20 vezes, e a aba acaba travando
A API está lenta O P95 do endpoint de listagem de produtos é 4,8s (base 300ms), só em picos de promoção

Conclusão: bug de desempenho precisa de número e de referência, senão ninguém consegue julgar se é mesmo um defeito.

7. Textos e detalhes de interface (4 exemplos)

Título fraco Título forte
Erro de digitação na página «Confirmacao» deveria ser «Confirmação» na página de confirmação do pedido
Ícones inconsistentes Dois dos quatro ícones da página de configurações são em estilo linha e dois em estilo preenchido
Modo escuro ilegível No modo escuro, o texto do campo é #333 sobre fundo escuro, praticamente invisível
Mensagem de erro inútil Um upload falho mostra apenas «Operação falhou», sem causa e sem orientação de nova tentativa

Conclusão: em bugs de texto e interface, escreva «o que está escrito → o que deveria estar». É o tipo de bug com menor custo de revisão.

7 hábitos que pioram os títulos

  • Emoção em vez de fato: «muito lento», «UX ruim», «não funciona direito» — impossível agir.
  • Só nomes de campo: «o título está errado», «a prioridade está errada» — não diz nada sobre o problema.
  • Prioridade no título: «[URGENTE] o login quebrou» — prioridade tem campo próprio e expira.
  • Suposição como conclusão: «o login falha por causa do cache» — escreva «possivelmente» e deixe a suposição fora do título.
  • Juntar tudo: «login, cadastro e pagamento estão quebrados» — um ticket, um sintoma verificável.
  • Omitir a condição: «erro intermitente» — intermitente também exige condições.
  • Terminologia inconsistente: misturar «carrinho» e «sacola», ou «login» e «acesso», quebra buscas e relatórios.
  • Como escrever em cada função

    Função Como fazer
    QA / testador Fórmula completa de 4 partes, com todas as condições (navegador, dispositivo, conta, rede)
    Suporte ou operações escalando Sintoma visível ao usuário + caminho reproduzível + print; omita a causa se não souber e marque «aguardando confirmação técnica»
    Revisor de UAT Ancore no critério de aceite: «Falha no AC-3: status do pedido não atualizado em 5 segundos»
    Product manager Descreva o impacto visível para priorizar, mas não substitua o sintoma técnico

    Quando um título é traduzido

    Título no idioma original Título em português
    结算页删除最后一件商品后购物车角标未更新 O contador do carrinho não é atualizado após remover o último item no checkout
    Android Chrome 键盘遮挡提交按钮,无法点击 Android Chrome: o teclado cobre o botão Enviar e ele não pode ser tocado
    只读角色可删除项目(越权) Perfil somente leitura pode excluir projetos (elevação de privilégio)

    Três regras quando um título muda de idioma: mantenha nomes de componentes no idioma original quando forem nomes próprios, traduza literalmente o resultado observável e nunca traduza mensagens de log nem códigos de erro. Um stack trace traduzido é um bug irreproduzível.

    FAQ

    Qual deve ser o tamanho de um título de bug? Cerca de 60 caracteres ou 10 palavras no máximo, para não ser cortado nas listagens. Se não couber, ou o sintoma principal não foi isolado, ou são dois bugs.

    O título deve incluir prioridade ou severidade? Não. Prioridade é um campo separado que muda com o planejamento. Quando muda, o título fica errado — e polui a busca.

    Posso escrever uma suposição se não sei a causa? «Possivelmente causado por X» é aceitável, mas nunca como conclusão fechada. Justifique no corpo do ticket, ou você desviará a triagem.

    Um bug em vários navegadores são vários tickets? Titule com o sintoma principal e coloque as diferenças de ambiente no campo de ambiente ou observações. Separe apenas se os caminhos de correção forem realmente distintos, por exemplo iOS e Android em trechos de código diferentes.

    Title Case ou sentence case? Os dois funcionam, mas mantenha a consistência com o backlog existente. Sem legado, sentence case lê melhor e é mais rápido de escanear.

    O título continua sendo seu; o resto pode ser automático

    Deixando claro: o BugCapturer não escreve o seu título — isso exige o seu julgamento sobre o que você viu. Mas os campos tediosos e fáceis de esquecer podem se preencher sozinhos:

    • Contexto técnico automático: URL, navegador, sistema operacional, resolução de tela e tamanho do viewport são capturados para você, então as condições do título nunca precisam ser copiadas à mão.
    • Dados de diagnóstico: logs de console em nível de erro e requisições de rede que falharam (HTTP ≥ 400) são coletados, com anonimização automática de parâmetros sensíveis (tokens, senhas, chaves de API).
    • Prints anotados: arraste para selecionar a área do problema e adicione setas, quadros e texto, fixando «onde está errado» na imagem.
    • Gravação de tela: grave a aba atual e corte o trecho, para o desenvolvedor receber um vídeo de 12 segundos que ele pode verificar.
    • Compartilhar ou sincronizar em um clique: gere um link que colaboradores externos abrem sem se cadastrar, ou envie o relatório para o Feishu Bitable ou um webhook genérico.

    Assim, você só precisa acertar aquela única linha de título, e a ferramenta preenche o resto.

    Checklist para download

    Cole ao lado do monitor e revise antes de enviar:

    • Nomeia o componente ou a página?
    • Traz um fato observável em vez de «não funciona»?
    • Inclui condições (navegador / dispositivo / conta / rede / largura)?
    • Carrega um dado verificável (código de status, n.º do pedido, valor, duração, limite)?
    • Descreve exatamente um sintoma?
    • Prioridade e qualquer suposição não verificada foram removidas?
    • Fica abaixo de 60 caracteres ou 10 palavras?

    Passando nos sete, seus títulos serão triados antes de 90% do backlog.

    Leia também: modelo de relatório de bug (lista completa de campos e modelo para copiar) · como reportar bugs com eficácia · modelo de caso de teste com exemplos · Formato de relatório de bug · Como escrever os passos para reproduzir