1 page.title=Guia de teste 2 page.image=images/cards/card-n-guide_2x.png 3 meta.tags="preview", "testing" 4 page.tags="preview", "developer preview" 5 6 @jd:body 7 8 <div id="tb-wrapper"> 9 <div id="tb"> 10 <h2>Neste documento</h2> 11 <ol> 12 <li><a href="#runtime-permissions">Teste de permisses</a></li> 13 <li><a href="#doze-standby">Teste de soneca e App em espera</a></li> 14 <li><a href="#ids">Identificadores de dispositivo e backup automtico</a></li> 15 </ol> 16 </div> 17 </div> 18 19 <p> 20 O Android N fornece uma oportunidade de garantir que os aplicativos funcionem 21 na prxima verso da plataforma. Esta prvia inclui uma srie de mudanas de comportamento e APIs que podem 22 ter impacto no aplicativo, como descrito em <a href="{@docRoot}preview/api-overview.html">Viso geral da API 23 </a> e <a href="{@docRoot}preview/behavior-changes.html">Mudanas de comportamento</a>. No teste 24 do aplicativo com a prvia, h algumas alteraes de sistema especficas em que voc deve se concentrar 25 para garantir que os usurios tenham uma boa experincia. 26 </p> 27 28 <p> 29 Este guia descreve quais recursos de prvia testar e como test-los com o aplicativo. Voc deve 30 priorizar o teste destes recursos de prvia especficos devido ao grande impacto potencial no 31 comportamento do aplicativo: 32 </p> 33 34 <ul> 35 <li><a href="#runtime-permissions">Permisses</a> 36 </li> 37 <li><a href="#doze-standby">Soneca e App em espera</a> 38 </li> 39 <li><a href="#ids">Identificadores de dispositivo e backup automtico</a></li> 40 </ul> 41 42 <p> 43 Para obter mais informaes sobre como configurar dispositivos fsicos ou virtuais com uma imagem do sistema de prvia 44 para teste, consulte <a href="{@docRoot}preview/setup-sdk.html">Configurao 45 do Android N SDK</a>. 46 </p> 47 48 49 <h2 id="runtime-permissions">Teste de permisses</h2> 50 51 <p> 52 O novo modelo de <a href="{@docRoot}preview/features/runtime-permissions.html">permisses</a> 53 altera a maneira que as permisses so alocadas ao aplicativo pelo usurio. Em vez de conceder todas as permisses 54 durante o procedimento de instalao, o aplicativo deve pedir ao usurio permisses individuais 55 em tempo de execuo. Para os usurios, este comportamento fornece um controle mais granular sobre as atividades de cada aplicativo, bem 56 como um melhor contexto para entender o porqu do aplicativo estar solicitando uma permisso especfica. Os usurios 57 podem conceder ou revogar as permisses concedidas a um aplicativo individualmente a qualquer momento. provvel que este recurso 58 da prvia tenha um impacto no comportamento do aplicativo e pode impedir que alguns 59 dos recursos do aplicativo funcionem, ou funcionem em um estado degradado. 60 </p> 61 62 <p class="caution"> 63 Esta alterao afeta todos os aplicativos em execuo na nova plataforma, mesmo aqueles que no so destinados 64 para a verso nova da plataforma. A plataforma fornece um comportamento de compatibilidade limitado para aplicativos legados. No entanto, 65 voc deve comear a planejar a migrao do aplicativo para o novo modelo de permisses agora, com o objetivo 66 de publicar uma verso atualizada do aplicativo no lanamento oficial da plataforma. 67 </p> 68 69 70 <h3 id="permission-test-tips">Dicas de teste</h3> 71 72 <p> 73 Use as seguintes dicas de teste para ajudar voc a planejar e executar os testes do aplicativo com o novo 74 comportamento de permisses. 75 </p> 76 77 <ul> 78 <li>Identifique as permisses atuais do aplicativo e os caminhos de cdigo relacionados.</li> 79 <li>Teste o fluxo de usurio entre servios protegidos por permisso e dados.</li> 80 <li>Teste com vrias combinaes de permisses revogadas/concedidas.</li> 81 <li>Use a ferramenta {@code adb} para gerenciar as permisses da linha de comando: 82 <ul> 83 <li>Liste as permisses e o status por grupos: 84 <pre>adb shell pm list permissions -d -g</pre> 85 </li> 86 <li>Conceda ou revogue uma ou mais permisses usando a seguinte sintaxe:<br> 87 <pre>adb shell pm [grant|revoke] <permission.name> ...</pre> 88 </li> 89 </ul> 90 </li> 91 <li>Analise o aplicativo para encontrar os servios que usam permisses.</li> 92 </ul> 93 94 <h3 id="permission-test-strategy">Estratgia de teste</h3> 95 96 <p> 97 A mudana de permisses afeta a estrutura e o projeto do aplicativo, bem como 98 a experincia do usurio e os fluxos fornecidos a eles. Voc deve avaliar o uso das permisses atuais 99 do aplicativo e comear a planejar novos fluxos que deseja oferecer. O lanamento oficial 100 da plataforma fornece comportamento de compatibilidade, mas deve-se planejar a atualizao do aplicativo e 101 no confiar nestes comportamentos. 102 </p> 103 104 <p> 105 Identifique as permisses que o aplicativo realmente precisa e usa e, em seguida, encontre os vrios caminhos 106 de cdigo que usam os servios protegidos por permisses. possvel fazer isto por meio de uma combinao de 107 testes na nova plataforma e anlise de cdigos. Nos testes, voc deve se concentrar em usar 108 as permisses em tempo de execuo alterando {@code targetSdkVersion} do aplicativo para a verso da prvia. Para 109 obter mais informaes, consulte <a href="{@docRoot}preview/setup-sdk.html#">Configurao 110 do Android N SDK</a>. 111 </p> 112 113 <p> 114 Teste com vrias combinaes de permisses revogadas e concedidas para destacar os fluxos de usurio 115 que dependem de permisses. Onde uma dependncia no for bvia ou lgica, considere 116 refatorar ou compartimentalizar este fluxo para eliminar a dependncia ou para esclarecer por que 117 a permisso necessria. 118 </p> 119 120 <p> 121 Para obter mais informaes sobre o comportamento das permisses em tempo de execuo, de testes e de melhores prticas, consulte a pgina 122 <a href="{@docRoot}preview/features/runtime-permissions.html">Permisses</a> do Developer 123 Preview. 124 </p> 125 126 127 <h2 id="doze-standby">Teste de soneca e App em espera</h2> 128 129 <p> 130 Os recursos de economia de energia de App em espera e soneca limitam a quantidade de processamento de segundo plano que o aplicativo 131 pode realizar quando um dispositivo est no estado ocioso ou enquanto no est em foco. As 132 restries que o sistema pode impor nos aplicativos inclui acesso a rede limitado ou restrito, 133 tarefas de segundo plano suspensas, notificaes suspensas, solicitaes de soneca ignoradas e despertadores. Para garantir 134 que o aplicativo se comportar adequadamente com essas otimizaes de economia de energia, deve-se test-lo 135 simulando estes estados de baixa energia. 136 </p> 137 138 <h4 id="doze">Testar o aplicativo com Soneca</h4> 139 140 <p>Para testar a Soneca com o aplicativo:</p> 141 142 <ol> 143 <li>Configure um dispositivo de hardware ou virtual com uma imagem do sistema Android N.</li> 144 <li>Conecte o dispositivo mquina de desenvolvimento e instale o aplicativo.</li> 145 <li>Execute o aplicativo e deixe-o ativo.</li> 146 <li>Simule o dispositivo acessando o modo Soneca executando os seguintes comandos: 147 148 <pre> 149 $ adb shell dumpsys battery unplug 150 $ adb shell dumpsys deviceidle step 151 $ adb shell dumpsys deviceidle -h 152 </pre> 153 154 </li> 155 <li>Observe o comportamento do aplicativo quando o dispositivo reativado. Certifique-se de que 156 ele se recupere corretamente quando o dispositivo sai do modo Soneca.</li> 157 </ol> 158 159 160 <h4 id="standby">Testar aplicativos com App em espera</h4> 161 162 <p>Para testar o modo de espera do aplicativo:</p> 163 164 <ol> 165 <li>Configure um dispositivo de hardware ou virtual com uma imagem do sistema Android N.</li> 166 <li>Conecte o dispositivo mquina de desenvolvimento e instale o aplicativo.</li> 167 <li>Execute o aplicativo e deixe-o ativo.</li> 168 <li>Simule o aplicativo acessando o modo de espera executando os seguintes comandos: 169 170 <pre> 171 $ adb shell am broadcast -a android.os.action.DISCHARGING 172 $ adb shell am set-idle <packageName> true 173 </pre> 174 175 </li> 176 <li>Simule o despertar do aplicativo usando o seguinte comando: 177 <pre>$ adb shell am set-idle <packageName> false</pre> 178 </li> 179 <li>Observe o comportamento do aplicativo quando ele despertado. Certifique-se de que ele se recupere corretamente 180 do modo de espera. Particularmente, deve-se verificar se as notificaes e os trabalho de segundo plano 181 do aplicativo continuam a funcionar como o esperado.</li> 182 </ol> 183 184 <h2 id="ids">Backup automtico para aplicativos e identificadores especficos do dispositivo</h2> 185 186 <p>Caso o aplicativo esteja persistindo qualquer identificador especfico do dispositivo, como o ID de registro do Google 187 Cloud Messaging, no armazenamento interno, 188 certifique-se de seguir as prticas recomendadas para excluir o local de armazenamento 189 do backup automtico, como descrito em <a href="{@docRoot}preview/backup/index.html">Backup automtico 190 para aplicativos</a>. </p> 191