O ciclo de um bug

O Android Open Source Project mantém um Issue Tracker público em que você pode informar bugs e solicitar recursos para a pilha do software Android principal. Para mais detalhes sobre o Issue Tracker, consulte Como informar bugs. Informar bugs é ótimo, mas o que acontece com um relatório de bug depois que você o registra? Esta página descreve o ciclo de um bug.

Este não é um fórum de suporte ao cliente. Para conferir informações de ajuda, consulte a Central de Ajuda do Pixel. O suporte para outros dispositivos é fornecido pelos fabricantes deles ou pelas operadoras que os vendem.

O suporte a apps do Google ocorre por meio do site de suporte do Google. O suporte a apps de terceiros é fornecido pelo desenvolvedor de cada app, por exemplo, por meio dos dados de contato fornecidos no Google Play.

Estas são as principais etapas do ciclo de um bug:

  1. Um bug é registrado, apresentando o estado Novo.
  2. Um administrador do AOSP realiza as revisões e triagens dos bugs periodicamente. Eles são divididos em um de quatro grupos: Novo, Aberto, Sem ação ou Resolvido.
  3. Cada grupo inclui vários estados que fornecem mais detalhes sobre o destino do problema.
  4. Os bugs marcados como Resolvidos serão incluídos em uma versão futura do software Android.

Detalhes dos grupos

Usamos o campo Status no Issue Tracker para especificar o status de um problema no processo de resolução. Isso funciona da mesma forma com as definições especificadas na documentação do Issue Tracker (link em inglês).

Problemas novos

Problemas novos incluem relatórios de bugs que ainda não receberam nenhuma ação. Os dois estados são:

  • Novo: o relatório do bug não passou por triagem (isto é, não foi analisado por um administrador do AOSP).
  • Novo + Hotlist:NeedsInfo: o relatório do bug ainda não tem informações suficientes para ser solucionado. A pessoa que relatou o bug precisa fornecer mais informações para que ele possa ser submetido à triagem. Se passar tempo suficiente e nenhuma nova informação for recebida, o bug poderá ser fechado por padrão, como um dos estados Sem ação.

Problemas abertos

Este grupo contém bugs que precisam que alguma ação seja realizada, mas que ainda não foram resolvidos, aguardando uma modificação no código-fonte.

  • Atribuído: o relatório do bug foi reconhecido como um relatório devidamente detalhado de um problema legítimo, e o bug foi atribuído a um colaborador específico para avaliação e análise.
  • Aceito: o responsável reconheceu o problema e começou a trabalhar nele.

Normalmente, o estado inicial de um bug é Atribuído e permanece assim até que alguém tenha a intenção de resolvê-lo, quando, então, ele passa para o estado Aceito. No entanto, isso não é uma garantia, e os bugs podem passar diretamente de Atribuídos para um dos estados "Resolvidos".

Em geral, se um bug estiver em um dos estados "Abertos", isso significa que a equipe do AOSP o reconheceu como um problema legítimo, e uma contribuição de alta qualidade para corrigir esse bug provavelmente será aceita. No entanto, é impossível garantir uma correção a tempo para qualquer versão específica.

Problemas sem ação

Este grupo contém bugs para os quais nenhuma ação é considerada necessária.

  • Sem correção (não reproduzível): um colaborador do AOSP tentou reproduzir o comportamento descrito, mas não conseguiu. Isso às vezes significa que o bug é legítimo, mas raro ou difícil de reproduzir, ou que não havia informações suficientes para corrigir o problema.
  • Sem correção (comportamento esperado): um administrador do AOSP determinou que o comportamento descrito não é um bug, mas sim o comportamento esperado. Esse estado também é comumente chamado de funcionando como deveria (WAI, na sigla em inglês). Para solicitações de recursos, um administrador do AOSP determinou que a solicitação não será implementada no Android.
  • Sem correção (obsoleto): o problema não é mais relevante devido a mudanças no produto.
  • Sem correção (inviável): as mudanças necessárias para resolver o problema não são viáveis. Esse status também é usado para problemas informados que não podem ser tratados no AOSP, normalmente por serem relacionados a um dispositivo personalizado ou a um app externo. Outra opção é que o informante tenha confundido o rastreador com um fórum de ajuda.
  • Cópia: já havia um relatório idêntico no Issue Tracker. Todas as ações serão informadas no outro relatório.

Problemas resolvidos

Este grupo contém erros em que alguma ação foi realizada e que agora são considerados como resolvidos.

  • Corrigido (verificado): o bug foi corrigido e está incluído em uma versão formal. Quando esse estado é definido, tentamos também estabelecer uma propriedade indicando em qual versão ele foi corrigido.
  • Corrigido: o bug foi corrigido (ou o recurso foi implementado) em uma árvore de origem, mas ainda não foi incluído em uma versão formal.

Outras questões

Os estados e o ciclo acima são como geralmente tentamos rastrear o software. No entanto, o Android contém muitos softwares e tem uma quantidade proporcionalmente elevada de bugs. Por isso, às vezes os bugs não passam por todos os estados em uma progressão formal. Tentamos manter o sistema atualizado, mas a tendência é fazer isso em limpezas de bugs periódicas, em que analisamos o banco de dados e fazemos atualizações.