page.title=Guia de teste page.image=images/cards/card-build_16x9_2x.png page.keywords=previewresources,androidm,testing,permissions @jd:body
O Android M Developer Preview fornece uma oportunidade de garantir que os aplicativos funcionem na próxima versão da plataforma. Esta prévia inclui um número de mudanças de comportamento e APIs que podem ter impacto no aplicativo, como descrito em Visão geral da API e Mudanças de comportamento. No teste do aplicativo com a prévia, há algumas alterações de sistema específicas em que você deve se concentrar para garantir que os usuários tenham uma boa experiência.
Este guia descreve quais recursos de prévia testar e como testá-los com o aplicativo. Você deve priorizar o teste destes recursos de prévia específicos, devido ao grande impacto potencial no comportamento do aplicativo:
Para obter mais informações sobre como configurar dispositivos físicos ou virtuais com uma imagem do sistema de prévia para teste, consulte Configuração do Preview SDK.
O novo modelo de permissões altera a maneira que as permissões são alocadas ao aplicativo pelo usuário. Em vez de conceder todas as permissões durante o procedimento de instalação, o aplicativo deve pedir ao usuário permissões individuais em tempo de execução. Para os usuários, este comportamento fornece um controle mais granular sobre as atividades de cada aplicativo, bem como um melhor contexto para entender o porquê do aplicativo estar solicitando uma permissão específica. Os usuários podem conceder ou revogar as permissões concedidas a um aplicativo individualmente a qualquer momento. É provável que este recurso da prévia tenha um impacto no comportamento do aplicativo e pode impedir que alguns dos recursos do aplicativo funcionem, ou funcionem em um estado degradado.
Esta alteração afeta todos os aplicativos em execução na nova plataforma, mesmo aqueles que não são destinados para a versão nova da plataforma. A plataforma fornece um comportamento de compatibilidade limitado para aplicativos legados. No entanto, você deve começar a planejar a migração do aplicativo para o novo modelo de permissões agora, com o objetivo de publicar uma versão atualizada do aplicativo no lançamento oficial da plataforma.
Use as seguintes dicas de teste para ajudar você a planejar e executar os testes do aplicativo com o novo comportamento de permissões.
adb shell pm list permissions -d -g
adb shell pm [grant|revoke] <permission.name> ...
A mudança de permissões afeta a estrutura e o projeto do aplicativo, bem como a experiência dos usuários e os fluxos fornecidos a eles. Você deve avaliar o uso das permissões atuais do aplicativo e começar a planejar novos fluxos que deseja oferecer. O lançamento oficial da plataforma fornece comportamento de compatibilidade, mas deve-se planejar a atualização do aplicativo e não confiar nestes comportamentos.
Identifique as permissões que o aplicativo realmente precisa e usa e, em seguida, encontre os vários caminhos de código que usam os serviços protegidos por permissões. É possível fazer isto por meio de uma combinação de testes na nova plataforma e análise de códigos. Nos testes, você deve se concentrar em usar as permissões em tempo de execução alterando {@code targetSdkVersion} do aplicativo para a versão da prévia. Para obter mais informações, consulte Configuração do Preview SDK.
Teste com várias combinações de permissões revogadas e concedidas para destacar os fluxos de usuário que dependem de permissões. Onde uma dependência não for óbvia ou lógica, considere refatorar ou compartimentalizar este fluxo para eliminar a dependência ou para esclarecer por que a permissão é necessária.
Para obter mais informações sobre o comportamento das permissões em tempo de execução, de testes e de melhores práticas, consulte a página Permissões do Developer Preview.
Os recursos de economia de energia de aplicativo em espera e soneca limitam a quantidade de processamento de segundo plano que o aplicativo pode realizar quando um dispositivo está no estado ocioso ou enquanto não está em foco. As restrições que o sistema pode impor nos aplicativos inclui acesso a rede limitado ou restrito, tarefas de segundo plano suspensas, notificações suspensas, solicitações de soneca ignoradas e despertadores. Para garantir que o aplicativo se comportará adequadamente com essas otimizações de economia de energia, deve-se testá-lo simulando estes estados de baixa energia.
Para testar a Soneca com o aplicativo:
$ adb shell dumpsys battery unplug $ adb shell dumpsys deviceidle step $ adb shell dumpsys deviceidle -h
Para testar o modo de espera do aplicativo:
$ adb shell am broadcast -a android.os.action.DISCHARGING $ adb shell am set-idle <packageName> true
$ adb shell am set-idle <packageName> false
Caso o aplicativo esteja persistindo qualquer identificador específico do dispositivo, como o ID de registro do Google Cloud Messaging, no armazenamento interno, certifique-se de seguir as práticas recomendadas para excluir o local de armazenamento do backup automático, como descrito em Backup automático para aplicativos.