Home | History | Annotate | Download | only in preview
      1 page.title=Gua de prueba
      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="qv-wrapper">
      9   <div id="qv">
     10     <h2>En este documento</h2>
     11       <ol>
     12         <li><a href="#runtime-permissions">Prueba de los permisos</a></li>
     13         <li><a href="#doze-standby">Prueba de los modos Descanso y App Standby</a></li>
     14         <li><a href="#ids">Copia de seguridad automtica e identificadores de dispositivos</a></li>
     15       </ol>
     16   </div>
     17 </div>
     18 
     19 <p>
     20   Android N te brinda la oportunidad de garantizar que tus aplicaciones funcionen con la prxima versin de la plataforma.
     21  Esta versin preliminar incluye diversas API y cambios en los comportamientos que pueden 
     22 tener impactos en tu aplicacin, como se describe en las secciones <a href="{@docRoot}preview/api-overview.html">Informacin general de la API</a> y <a href="{@docRoot}preview/behavior-changes.html">Cambios en los comportamientos</a>.
     23  Al probar tu aplicacin con la versin preliminar, te debes centrar en algunos cambios especficos del sistema para garantizar que los usuarios disfruten de una buena experiencia.
     24 
     25 
     26 </p>
     27 
     28 <p>
     29   En esta gua, se describen qu y cmo probar las caractersticas preliminares con tu aplicacin. Debes priorizar la prueba de estas caractersticas especficas preliminares, puesto que podran tener un alto impacto en el comportamiento de tu aplicacin:
     30 
     31 
     32 </p>
     33 
     34 <ul>
     35   <li><a href="#runtime-permissions">Permisos</a>
     36   </li>
     37   <li><a href="#doze-standby">Modos Descanso y App Standby</a>
     38   </li>
     39   <li><a href="#ids">Copia de seguridad automtica e identificadores de dispositivos</a></li>
     40 </ul>
     41 
     42 <p>
     43   Para obtener ms informacin sobre cmo configurar dispositivos o dispositivos virtuales con una imagen
     44  del sistema de la versin preliminar para realizar pruebas, consulta la seccin <a href="{@docRoot}preview/setup-sdk.html">Configurar el SDK de Android N</a>.
     45 
     46 </p>
     47 
     48 
     49 <h2 id="runtime-permissions">Prueba de los permisos</h2>
     50 
     51 <p>
     52   El nuevo modelo de <a href="{@docRoot}preview/features/runtime-permissions.html">permisos</a> cambia el modo en que el usuario asigna permisos a tu aplicacin.
     53  En lugar de conceder todos los permisos durante el procedimiento de instalacin, tu aplicacin debe solicitar al usuario los permisos individuales en el tiempo de ejecucin.
     54 
     55  Para los usuarios, este comportamiento ofrece ms control granular sobre las actividades de cada aplicacin, as como un mejor contexto para comprender por qu la aplicacin est solicitando un permiso especfico.
     56  Los usuarios pueden conceder o revocar los permisos concedidos a una aplicacin de forma individual en cualquier momento.
     57  Es muy probable que esta caracterstica de la versin preliminar tenga un impacto en el comportamiento de tu aplicacin y puede hacer que algunas caractersticas de tu aplicacin no funcionen o funcionen en un estado degradado.
     58 
     59 
     60 </p>
     61 
     62 <p class="caution">
     63   Este cambio afecta a todas las aplicaciones que se ejecutan en la nueva plataforma, incluso a aquellas que no tienen como destino la nueva versin de la plataforma.
     64  La plataforma ofrece un comportamiento de compatibilidad limitada para las aplicaciones heredadas, pero debes comenzar a planificar ahora la migracin de tu aplicacin al nuevo modelo de permisos, con el objetivo de publicar una versin actualizada de tu aplicacin cuando se lance la plataforma oficial.
     65 
     66 
     67 </p>
     68 
     69 
     70 <h3 id="permission-test-tips">Tips para pruebas</h3>
     71 
     72 <p>
     73   Usa los siguientes tips para pruebas como ayuda para planificar y ejecutar las pruebas de tu aplicacin con el nuevo comportamiento de permisos.
     74 
     75 </p>
     76 
     77 <ul>
     78   <li>Identifica los permisos actuales de tu aplicacin y las rutas de cdigos relacionadas.</li>
     79   <li>Prueba los flujos del usuario en los datos y servicios protegidos por permisos.</li>
     80   <li>Realiza pruebas con varias combinaciones de permisos concedidos/revocados.</li>
     81   <li>Usa la herramienta {@code adb} para administrar permisos desde la lnea de comando:
     82     <ul>
     83       <li>Enumera los permisos y estados por grupo:
     84         <pre>adb shell pm list permissions -d -g</pre>
     85       </li>
     86       <li>Concede o revoca un permiso o ms permisos utilizando la siguiente sintaxis:<br>
     87         <pre>adb shell pm [grant|revoke] &lt;permission.name&gt; ...</pre>
     88       </li>
     89     </ul>
     90   </li>
     91   <li>Analiza tu aplicacin para detectar servicios que utilizan permisos.</li>
     92 </ul>
     93 
     94 <h3 id="permission-test-strategy">Estrategia de prueba</h3>
     95 
     96 <p>
     97   El cambio en los permisos afecta la estructura y el diseo de tu aplicacin, adems de la experiencia del usuario y los flujos que proporcionas a los usuarios.
     98  Debes evaluar el uso de los permisos actuales de tu aplicacin y comenzar a planificar los nuevos flujos que deseas ofrecer.
     99  La versin oficial de la plataforma proporciona un comportamiento de compatibilidad, pero debes prever la actualizacin de tu aplicacin y no depender de estos comportamientos.
    100 
    101 
    102 </p>
    103 
    104 <p>
    105   Identifica los permisos que tu aplicacin verdaderamente necesita y utiliza, y luego busca las diversas rutas de cdigos que utilizan los servicios protegidos por permisos.
    106  Puedes realizar esto mediante una combinacin de pruebas en la plataforma nueva y anlisis de cdigos.
    107  Al realizar las pruebas, debes centrarte en
    108  incluir permisos de tiempo de ejecucin cambiando {@code targetSdkVersion} de la aplicacin a la versin preliminar. Para
    109  obtener ms informacin, consulta la seccin <a href="{@docRoot}preview/setup-sdk.html#">Configurar el SDK de Android N</a>.
    110 
    111 </p>
    112 
    113 <p>
    114   Realiza pruebas con diversas combinaciones de permisos revocados y agregados, a fin de destacar los flujos del usuario que dependen de permisos.
    115  Cuando una dependencia no sea obvia ni lgica, debes considerar la opcin de refactorizar o compartimentar ese flujo para eliminar la dependencia o aclarar por qu se necesita el permiso.
    116 
    117 
    118 </p>
    119 
    120 <p>
    121   Para obtener ms informacin sobre el comportamiento de los permisos de tiempo de ejecucin, las pruebas y las mejores prcticas, consulta la pgina <a href="{@docRoot}preview/features/runtime-permissions.html">Permisos</a> de la versin preliminar para desarrolladores.
    122 
    123 
    124 </p>
    125 
    126 
    127 <h2 id="doze-standby">Prueba de los modos Descanso y App Standby</h2>
    128 
    129 <p>
    130   Las caractersticas de ahorro de energa de los modos Descanso y App Standby limitan la cantidad de procesamiento en segundo plano que puede realizar tu aplicacin cuando un dispositivo se encuentra en estado inactivo o mientras tu aplicacin no est en foco.
    131  Entre las restricciones que el sistema puede imponer en las aplicaciones se incluyen el acceso limitado a la red o denegacin de acceso, suspensin de las tareas en segundo plano, suspensin de notificaciones, y alarmas y solicitudes de reactivacin ignoradas.
    132 
    133  Para garantizar que tu aplicacin tenga un comportamiento correcto con estas optimizaciones de ahorro de energa, debes probar tu aplicacin simulando estos estados de bajo consumo.
    134 
    135 
    136 </p>
    137 
    138 <h4 id="doze">Cmo probar la aplicacin en modo Descanso</h4>
    139 
    140 <p>Para probar el modo Descanso con tu aplicacin, realiza lo siguiente:</p>
    141 
    142 <ol>
    143 <li>Configura un dispositivo de hardware o un dispositivo virtual con una imagen del sistema Android N.</li>
    144 <li>Conecta el dispositivo a tu equipo de desarrollo e instala tu aplicacin.</li>
    145 <li>Ejecuta tu aplicacin y djala activa.</li>
    146 <li>Simula la activacin del modo Descanso en el dispositivo ejecutando los siguientes 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>Observa el comportamiento de tu aplicacin cuando se reactive el dispositivo. Asegrate de que se recupere correctamente cuando el dispositivo salga del modo Descanso.
    156 </li>
    157 </ol>
    158 
    159 
    160 <h4 id="standby">Cmo probar aplicaciones en modo App Standby</h4>
    161 
    162 <p>Para probar el modo App Standby con tu aplicacin, realiza lo siguiente:</p>
    163 
    164 <ol>
    165   <li>Configura un dispositivo de hardware o un dispositivo virtual con una imagen del sistema Android N.</li>
    166   <li>Conecta el dispositivo a tu equipo de desarrollo e instala tu aplicacin.</li>
    167   <li>Ejecuta tu aplicacin y djala activa.</li>
    168   <li>Simula la activacin del modo App Standby en la aplicacin ejecutando los siguientes 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>Simula la activacin de tu aplicacin con el siguiente comando:
    177     <pre>$ adb shell am set-idle &lt;packageName&gt; false</pre>
    178   </li>
    179   <li>Observa el comportamiento de tu aplicacin al reactivarse. Asegrate de que se recupere correctamente del modo App Standby.
    180  En particular, debes comprobar si los trabajos en segundo plano y las notificaciones de tu aplicacin continan funcionando de la manera esperada.
    181 </li>
    182 </ol>
    183 
    184 <h2 id="ids">Copia de seguridad automtica para aplicaciones e identificadores especficos del dispositivo</h2>
    185 
    186 <p>Si tu aplicacin contina teniendo algn identificador especfico del dispositivo, como la Id. de registro de Google Cloud Messaging, en el almacenamiento interno, asegrate de seguir las mejores prcticas para excluir la ubicacin de almacenamiento de la copia de seguridad automtica, como se describe en la seccin <a href="{@docRoot}preview/backup/index.html">Copia de seguridad automtica para aplicaciones</a>.
    187 
    188 
    189 
    190  </p>
    191