Home | History | Annotate | Download | only in marshmallow
      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] &lt;permission.name&gt; ...</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 &lt;packageName&gt; true
    173 </pre>
    174 
    175   </li>
    176   <li>Simule o despertar do aplicativo usando o seguinte comando:
    177     <pre>$ adb shell am set-idle &lt;packageName&gt; 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