O ciclo de um bug

O Android Open Source Project mantém um rastreador de problemas público em que você pode relatar bugs e solicitar recursos para a pilha do software Android principal. Para mais detalhes sobre esse rastreador de problemas, consulte a página Como informar bugs. Reportar bugs é algo ó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.

O rastreador de problemas do Android Open Source Project (AOSP) destina-se apenas a bugs e solicitações de recursos relacionados à pilha de software Android principal e é uma ferramenta técnica para a comunidade do Open Source.

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

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

Este é o ciclo de um bug resumido:

  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. Bugs marcados como "Resolvidos" serão posteriormente incluídos em uma versão futura do software Android.

Detalhes dos grupos

Usamos o campo Status no Rastreador de problemas 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 Rastreador de problemas.

Problemas novos

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

  • Novo: o relatório do bug ainda 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 detalhes 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 algo seja feito, mas que ainda não foram resolvidos, aguardando uma alteraçã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 passa para o estado Aceito. No entanto, observe que isso não é uma garantia, e não é incomum que os bugs passem de Atribuído para um dos estados Resolvidos.

Em geral, se um bug estiver em um desses 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 de uma versão específica.

Problemas sem ação

Este grupo contém erros 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 simplesmente 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 alterações no produto.
  • Sem correção (inviável): as alterações 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, geralmente por serem relacionados a um dispositivo personalizado ou 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 rastreador de problemas. 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.