Qualidade do aplicativo principal

O usuário do Android espera aplicativos de alta qualidade. A qualidade do aplicativo influencia diretamente o sucesso do aplicativo a longo prazo, em termos de instalação, classificação e avaliação, participação e retenção do usuário.

Este documento ajuda a avaliar os aspectos básicos da qualidade no aplicativo durante um conjunto completo de critérios de qualidade do aplicativo principal e testes associados. Todos os aplicativos Android devem atender a esses critérios.

Antes de publicar seus aplicativos, teste-os novamente segundo esses critérios para garantir que funcionem bem em vários dispositivos, atendam aos padrões de navegação e projeto do Android e estejam preparados para oportunidades promocionais no Google Play Store. Seu teste irá além do que está descrito aqui. O objetivo deste documento é especificar as principais características de qualidade que todos os aplicativos devem mostrar para que possam ser abordadas nos planos de teste.

Aplicativos para tablets e/ou Google Play for Education apresentam critérios de qualidade adicionais que devem ser considerados. Eles estão definidos nas diretrizes de Qualidade do aplicativo para tablet e as Diretrizes de educação.

Projeto visual e interação do usuário

Esses critérios garantem que seu aplicativo forneça design visual padrão do Android e padrões de interação conforme necessário para uma experiência do usuário consistente e intuitiva.

Área ID Descrição Testes
Design padrão UX-B1

O aplicativo segue as diretrizes de Projeto para Android e usa padrões e ícones da interface do usuário comuns:

  1. O aplicativo não redefine a função esperada de um ícone do sistema (como o botão Voltar).
  2. O aplicativo não substitui um ícone do sistema por um ícone completamente diferente se acionar o comportamento da interface do usuário padrão.
  3. Se o aplicativo fornece uma versão personalizada de um ícone padrão do sistema, o ícone se assemelha muito ao ícone do sistema e aciona o comportamento padrão do sistema.
  4. O aplicativo não redefine nem usa incorretamente padrões da interface do usuário Android de forma que esses ícones ou comportamentos possam enganar ou confundir o usuário.
CR-all
Navegação UX-N1

O aplicativo suporta a navegação do botão Voltar do sistema padrão e não utiliza nenhum prompt personalizado do “botão Voltar” na tela.

CR-3
UX-N2

Todos os diálogos são descartados usando o botão Voltar.

CR-3
UX-N3 Pressionar o botão Home em qualquer ponto direciona o usuário para a tela inicial do dispositivo. CR-1
Notificações UX-S1

As notificações seguem as diretrizes de Projeto para Android. Principalmente:

  1. Várias notificações são empilhadas em um único objeto de notificação, quando possível.
  2. As notificações são persistentes apenas se estiverem relacionadas a eventos contínuos (como reprodução de música ou uma chamada telefônica).
  3. As notificações não podem conter publicidade ou conteúdo não relacionado à função principal do aplicativo, a menos que o usuário tenha aceitado.
CR-11
UX-S2

O aplicativo usa notificações apenas para:

  1. Indicar uma mudança no contexto relacionada pessoalmente ao usuário (como uma mensagem em entrada) ou
  2. Expor informações/controles relacionados a um evento contínuo (como a reprodução de música ou chamada telefônica).
CR-11

Recursos relacionados

Funcionalidade

Esses critérios garantem que seu aplicativo forneça o comportamento funcional esperado, com o nível de permissões adequado.

Área ID Descrição Testes
Permissões FN-P1 O aplicativo solicita apenas as permissões absolutamente mínimas necessárias para oferecer suporte às principais funcionalidades. CR-11
FN-P2

O aplicativo não solicita permissões para acessar dados privados (como Contatos ou Log do Sistema) ou serviços que podem custar dinheiro (como Discador ou SMS), a não ser que esteja relacionado à principal capacidade do aplicativo.

Local de instalação FN-L1

O aplicativo funciona normalmente quando instalado em um cartão SD (se suportado pelo aplicativo).

Suportar a instalação no cartão SD é recomendado para a maioria dos grandes aplicativos (mais de 10 MB). Veja o guia do desenvolvedor Local de instalação do aplicativo para obter mais informações sobre quais tipos de aplicativos devem suportar a instalação no cartão SD.

SD-1
Áudio FN-A1 O áudio não é reproduzido quando a tela está desligada, a não ser que haja um recurso principal (por exemplo, o aplicativo é um leitor de música). CR-7
FN-A2 O áudio não é reproduzido com a tela bloqueada, a não ser que seja um recurso principal. CR-8
FN-A3 O áudio não é reproduzido na tela inicial ou por cima de outro aplicativo, a não ser que seja um recurso principal. CR-1,
CR-2
FN-A4 O áudio é reiniciado quando o aplicativo volta para o segundo plano ou indica para o usuário que a reprodução está pausada. CR-1, CR-8
Interface do usuário e gráficos FN-U1

O aplicativo suporta as orientações horizontal e vertical (se possível).

As orientações expõem basicamente os mesmos recursos e ações e preservam a igualdade funcional. Pequenas mudanças no conteúdo ou na visualização são aceitáveis.

CR-5
FN-U2

O aplicativo usa toda a tela em ambas as orientações e não cria uma caixa de texto de acordo com as mudanças de orientação.

Pequenas caixas de texto para compensar pequenas variações na geometria da tela são aceitáveis.

CR-5
FN-U3

O aplicativo lida corretamente com transições rápidas entre as orientações da tela sem problemas de renderização.

CR-5
Estado do usuário/aplicativo FN-S1

O aplicativo não deve deixar nenhum serviço em execução quando estiver em segundo plano, a não ser que esteja relacionado a um recurso principal do aplicativo.

Por exemplo, o aplicativo não deve deixar os serviços em execução para manter uma conexão de rede para notificações, para manter uma conexão Bluetooth ou para manter o GPS ativado.

CR-6
FN-S2

O aplicativo preserva e restaura corretamente o estado do usuário ou aplicativo.

O aplicativo preserva o estado do usuário ou do aplicativo ao sair do primeiro plano e evita perdas acidentais de dados devido à navegação para trás e outras mudanças de estado. Ao voltar para o primeiro plano, o aplicativo deve restaurar o estado preservado e qualquer transação significativa de estado que estava pendente, como mudanças em campos editáveis, andamento de jogos, menus, vídeos e outras seções do aplicativo ou jogo.

  1. Quando o aplicativo é reiniciado pela opção de aplicativos recentes, o aplicativo retorna o usuário exatamente para o mesmo estado que estava anteriormente.
  2. Quando o aplicativo é reiniciado depois que o dispositivo acorda de um estado de espera (bloqueado), o aplicativo retorna o usuário exatamente para o mesmo estado que estava anteriormente.
  3. Quando o aplicativo é reiniciado da Página Inicial ou Todos os Aplicativos, o aplicativo restaura seu estado o mais próximo possível do estado anterior.
  4. Ao pressionar a tecla Voltar, o aplicativo fornece ao usuário a opção de salvar qualquer estado do aplicativo ou usuário que seria perdido na navegação para trás.
CR-1, CR-3, CR-5

Recursos relacionados

Desempenho e Estabilidade

Estes critérios garantem que os aplicativos forneçam desempenho, estabilidade e resposta esperados pelo usuário.

Área ID Descrição Testes
Estabilidade PS-S1 O aplicativo não falha, força o fechamento, congela nem funciona de forma anormal em qualquer dispositivo. CR-all, SD-1, HA-1
Desempenho PS-P1 O aplicativo é carregado rapidamente e fornece comentários na tela para o usuário (um indicador de andamento ou indicação semelhante) se o carregamento levar mais de dois segundos. CR-all, SD-1
PS-P2 Com o StrictMode ativado (consulte Teste do StrictMode abaixo), nenhuma luz vermelha (avisos de desempenho do StrictMode) está visível ao se executar o aplicativo, incluindo durante a reprodução de jogos, animações e transições da interface do usuário ou qualquer outra parte do aplicativo. PM-1
Bateria PS-B1 O aplicativo oferece suporte a recursos de gerenciamento de energia no Android 6.0+ (Soneca e App em espera). No caso em que a funcionalidade principal é interrompida pelo gerenciamento de energia, somente aplicativos qualificados podem solicitar uma exceção. BA-1
Mídia PS-M1 A reprodução de vídeo e música é regular, sem estalos, intermitência ou outros artefatos, durante o carregamento e uso normal do aplicativo. CR-all, SD-1, HA-1
Qualidade visual PS-V1

O aplicativo exibe gráficos, textos, imagens e outros elementos da interface do usuário sem distorção, falta de clareza ou pixelização.

  1. O aplicativo fornece gráficos de alta qualidade para todos os tamanhos de tela e fatores de forma, incluindo dispositivos de tela mais larga como tablets.
  2. Nenhum serrilhado nas bordas dos menus, botões e outros elementos da interface do usuário fica visível.
CR-all
PS-V2

O aplicativo exibe textos e blocos de texto de forma aceitável.

  1. A composição é aceitável em todos os fatores de forma suportados, incluindo dispositivos com tela mais larga, como tablets.
  2. Não há corte de letras ou palavras.
  3. Não há quebra de palavras visíveis dentro de botões ou ícones.
  4. Espaçamento suficiente entre o texto e os elementos ao redor.

Recursos relacionados

Google Play

Esses critérios garantem que seus aplicativos estejam prontos para serem publicados no Google Play.

Área ID Descrição Testes
Políticas GP-P1 O aplicativo adere totalmente aos termos da Política de conteúdo do desenvolvedor do Google Play e não oferece conteúdo inadequado, não usa propriedade intelectual ou marcas de terceiros e assim por diante. GP-all
GP-P2

O nível de maturidade do aplicativo está definido corretamente com base nas Diretrizes de Classificação de Conteúdo.

GP-1
GP-P3

O aplicativo suporta adequadamente os recursos de gerenciamento de energia no Android 6.0+ (soneca e App em espera) . No caso em que a funcionalidade principal é interrompida pelo gerenciamento de energia, somente aplicativos qualificados podem solicitar uma exceção. Consulte Suporte para outros casos de uso em Soneca e App em espera.

GP-4
Página de detalhes do aplicativo GP-D1

O gráfico do recurso do aplicativo segue as diretrizes destacadas nesta publicação do blogue. Certifique-se de que:

  1. A lista de aplicativos inclui um gráfico de recursos de alta qualidade.
  2. O gráfico de recursos não contém imagens do dispositivo, capturas de tela ou textos pequenos que estarão ilegíveis quando reduzidos e exibidos em um tamanho de tela menor do que aquele destinado para o aplicativo.
  3. O gráfico de recursos não se assemelha a um anúncio.
GP-1, GP-2
GP-D2 As capturas de tela e vídeos do aplicativo não mostram ou referenciam dispositivos que não sejam Android. GP-1
GP-D3 As capturas de tela ou vídeos não representam o conteúdo e a experiência do seu aplicativo de forma enganosa.
Suporte ao usuário GP-X1 Os bugs comuns relatados pelo usuário na guia Reviews da página do Google Play são resolvidos se forem reproduzíveis e ocorrerem em vários dispositivos diferentes. Se ocorrer um erro em alguns dispositivos apenas, tente resolvê-los se esses dispositivos forem particularmente populares ou novos. GP-1

Recursos relacionados

Defina um ambiente de teste

Para avaliar a qualidade do aplicativo, defina um hardware ou ambiente emulador adequado para teste.

O ambiente de teste ideal deve incluir um pequeno número de dispositivos de hardware reais que representam os principais fatores de forma e as combinações de hardware/software atualmente disponíveis para o consumidor. Não é necessário testar todos os dispositivos disponíveis no mercado — em vez disso, concentre-se em um pequeno número de dispositivos representativos, usando um ou dois modelos por fator de forma.

Se não puder obter dispositivos de hardware reais para testar, defina dispositivos virtuais (AVDs) para representar os fatores de forma mais comuns e combinações de hardware/software.

Para ir além do teste básico, adicione mais dispositivos, mais fatores de forma ou novas combinações de hardware/software em seu ambiente de teste. Pode-se aumentar o número ou a complexidade de testes e os critérios de qualidade.

Procedimentos de teste

Estes procedimentos de testes ajudam a descobrir vários tipos de problemas de qualidade no aplicativo. É possível combinar os testes ou integrar grupos de testes nos seus planos de teste. Consulte as seções acima para obter referências que associam critérios específicos a testes específicos.

Tipo Teste Descrição
Conjunto principal CR-0

Navegue por todas as partes do aplicativo — todas as telas, diálogos, configurações e fluxos do usuário.

  1. Se o aplicativo permitir edição ou criação de conteúdo, reprodução de jogos ou mídia, certifique-se de inserir esses fluxos para criar ou modificar conteúdo.
  2. Ao executar o aplicativo, realize mudanças temporárias na conectividade de rede, função da bateria, GPS ou disponibilidade de localização, carregamento do sistema e assim por diante.
CR-1 Em cada tela do aplicativo, pressione a tecla Home do dispositivo e reinicie o aplicativo da tela All Apps.
CR-2 Em cada tela do aplicativo, alterne para outro aplicativo em execução e volte para o aplicativo em teste usando a opção de troca de aplicativos Recents.
CR-3 Em cada tela do aplicativo (e caixas de diálogo), pressione o botão Voltar.
CR-5 Em cada tela do aplicativo, gire o dispositivo entre a orientação vertical e horizontal pelo menos três vezes.
CR-6 Alterne para outro aplicativo para enviar o aplicativo de teste para o segundo plano. Vá para Settings e verifique se o aplicativo de teste está executando qualquer serviço enquanto está em segundo plano. No Android 4.0 e posterior, acesse a tela Apps e localize o aplicativo na guia "Running".
CR-7 Pressione o botão liga/desliga para colocar o dispositivo em espera e pressione-o novamente para ligar a tela.
CR-8 Configure o dispositivo para ser bloqueado quando o botão liga/desliga for pressionado. Pressione o botão liga/desliga para colocar o dispositivo em espera e pressione esse botão novamente para ligar a tela e desbloquear o dispositivo.
CR-9 Para dispositivos com teclados virtuais, exiba e oculte o teclado pelo menos uma vez. Para dispositivos com teclados externos, conecte o dispositivo à entrada do teclado.
CR-10 Para dispositivos com uma porta de monitor externa, conecte o monitor externo.
CR-11 Acione e observe na gaveta de notificações todos os tipos de notificações que o aplicativo pode exibir. Expanda as notificações onde aplicável (Android 4.1 e superior) e toque em todas as ações disponíveis.
CR-12 Verifique as permissões solicitadas pelo aplicativo em Settings > App Info.
Instalação no cartão SD SD-1

Repita o Conjunto Principal com o aplicativo instalado no cartão SD do dispositivo (se suportado pelo aplicativo).

Para mover o aplicativo para o cartão SD, use Settings > App Info > Move to SD Card.

Aceleração de hardware HA-1

Repita o Conjunto de Aplicações Principal com a aceleração de hardware habilitada.

Para a aceleração de hardware habilitada para forçamento (onde suportado pelo dispositivo), adicione hardware-accelerated="true" ao <application> no manifesto do aplicativo e recompile.

Monitoramento de desempenho PM-1

Repita o Conjunto Principal com o perfil StrictMode habilitado conforme descrito abaixo.

Preste muita atenção à coleta de lixo e seu impacto na experiência do usuário.

Bateria BA-1

Repita o Conjunto principal em ciclos de Soneca e App em espera.

Preste muita atenção a alarmes, cronômetros, notificações, sincronizações etc. Consulte Testes de Soneca e App em espera para ver os requisitos e as orientações.

Google Play GP-1 Entre no Developer Console para analisar seu perfil de desenvolvedor, descrição do aplicativo, capturas de tela, gráfico de recursos, configurações de maturidade e comentários do usuário.
GP-2 Baixe seu gráfico de recursos e capturas de tela e reduza-os para corresponder ao tamanho de tela nos dispositivos e fatores de forma de destino.
GP-3 Analise todos os ativos gráficos, mídia, textos, bibliotecas de código e outros conteúdos no pacote do aplicativo ou de download do arquivo de extensão.
GP-4 Consulte Suporte para outros casos de uso em Soneca e App em espera.
Pagamentos GP-4 Navegue em todas as telas do seu aplicativo e insira todos os fluxos de compra no aplicativo.

Teste com o StrictMode

Para teste de desempenho, recomendamos habilitar o StrictMode no aplicativo e usá-lo para verificar operações no encadeamento principal e outros encadeamentos que podem afetar o desempenho, os acessos de rede, as leituras/gravações de arquivo e assim por diante.

Você pode definir uma política de monitoramento por encadeamento usando StrictMode.ThreadPolicy.Builder e ativar todo o monitoramento com suporte no ThreadPolicy usando detectAll().

Não deixe de ativar a notificação visual das violações de política para a ThreadPolicy usando penaltyFlashScreen().