Google is committed to advancing racial equity for Black communities. See how.

O ciclo de um bug

O Android Open Source Project mantém um Issue Tracker público em que você pode relatar bugs e solicitar recursos para a pilha do software Android principal. Para ver mais detalhes sobre esse rastreador de problemas, 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 ver informações de ajuda, consulte a Central de Ajuda do Pixel. A ajuda para outros dispositivos é fornecida pelos fabricantes deles ou pelas operadoras que os vendem.

A ajuda para apps do Google ocorre por meio do site de ajuda do Google. A ajuda para apps de terceiros é fornecida 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 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 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 modificações no produto.
  • Sem correção (inviável): as modificaçõ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, 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.