¿Cuántos dispositivos Android necesito para realizar pruebas exhaustivas?

Estoy trabajando en una aplicación de Android que quiero ejecutar en todos los dispositivos Android sin ningún problema, pero me cuesta mucho determinar cuántas configuraciones de dispositivos y cuántos dispositivos de hardware debo probar.

Hay varias características que estoy usando que no son compatibles en el emulador, como se menciona en la parte inferior de Usar el emulador de Android en la Guía de desarrollo:

Limitaciones del emulador

En esta versión, las limitaciones del emulador incluyen:

  • No hay soporte para realizar o recibir llamadas telefónicas reales. Sin embargo, puede simular llamadas telefónicas (colocadas y recibidas) a través de la consola del emulador.
  • No hay soporte para conexiones USB No hay soporte para captura de cámara / video (entrada).
  • No hay soporte para auriculares conectados al dispositivo No hay soporte para determinar el estado conectado
  • No hay soporte para determinar el nivel de carga de la batería y el estado de carga de CA
  • No hay soporte para determinar la inserción / expulsión de la tarjeta SD
  • No hay soporte para Bluetooth

La página Soporte de APK múltiple indica:

… le animamos a desarrollar y publicar un solo APK que soporte tantas configuraciones de dispositivos como sea posible …

Android Market le permite publicar varios APK bajo la misma lista de aplicaciones. Android Market suministra cada APK a los dispositivos apropiados según el soporte de configuración que haya declarado en el archivo de manifiesto de cada APK.

Supongo que no es necesario cubrir cada permutación de todos los conjuntos de características disponibles, pero no está claro para mí cuántas configuraciones de dispositivos se consideran suficientes para cubrir todos los dispositivos disponibles.

Si quería confirmar en el hardware que mi aplicación está casi garantizada para trabajar en cada dispositivo, ¿cuántos teléfonos y cuántas tabletas necesitaría? Además, ¿hay alguna consideración especial que debo hacer para las modificaciones específicas del fabricante o del transportista?

Respuesta Actualizado el 15/11/2011

  1. Utilice las estadísticas del sitio web de Android para recopilar información sobre las versiones de OS más populares.

  2. Utilice las estadísticas del sitio web de Android para obtener las combinaciones DPI / pantalla más populares.

  3. Utilice una combinación de 1 & 2 para determinar las especificaciones de los dispositivos que desea cubrir.

  4. Prepare una lista aproximada de dispositivos que se reunirían (3) arriba.

  5. Si tienes mucho dinero, o si trabajas para una gran empresa, entonces ordena los teléfonos. Si no, entonces como otros ya han mencionado elegir el dispositivo que le puede proporcionar una cobertura máxima. Lamentablemente, la diferencia entre el emulador y los dispositivos puede ser ridículo a veces. La otra opción que he descubierto recientemente es que se puede subcontratar este proceso a las empresas que se centran exclusivamente en esta necesidad del mercado. Por desgracia, no tengo ninguna empresa específica para recomendar en esta área. Buena suerte !

Actualizaciones:

  • Me encontré con un par de empresas que están ofreciendo pruebas de Android como un servicio. Estas son buenas opciones para probar sus APK sin tener que comprar los dispositivos.

  • Apkudo ayuda a los desarrolladores a liberar con confianza instalando, ejecutando y ejerciendo sus aplicaciones en todos los dispositivos Android ™. Dispositivo, con informes de prueba detallados y streaming de vídeo.

[Actualización – 3/25/2013]

  • TestDroid también tiene un servicio de pruebas en la nube http://testdroid.com/product/testdroid-cloud "Prueba en línea en dispositivos reales Testdroid Cloud es la forma más sencilla de probar su aplicación contra varios dispositivos Android reales – de diferentes fabricantes, con diferentes plataformas HW , Las versiones del sistema operativo y las resoluciones de pantalla.También puede elegir y elegir en qué dispositivos para ejecutar las pruebas, sólo en los dispositivos que le interesan "
  • AppThwack es otra solución

  • Ranorex es otra solución ( http://www.ranorex.com/mobile-automation-testing/android-test-automation.html )

Uno de los grandes problemas con Android es que cada fabricante puede cambiar casi todo lo que quiera en el firmware. Puede tener muchas ventajas, pero podría ser un gran problema al intentar probar la compatibilidad.

Usted debe tener al menos un dispositivo, pero no hay limitación, o incluso un número que es "suficiente", los dispositivos más probar en – mejor.

En cuanto a las modificaciones de los transportistas, por lo general las que son más pequeñas y cambiarán menos que las modificaciones del fabricante, pero esto también podría cambiar.

He encontrado muchos problemas con muchos teléfonos diferentes para Android. Cada teléfono tiene sus peculiaridades poco y por lo que los teléfonos más se prueba en el mejor. Tuve una aplicación que tenía más de 200K descargas y realmente me sorprendió acerca de algunos de los problemas. Ahora hay cosas que hago y mantenerse alejado de debido a estas peculiaridades que descubrí. También cada versión de Android tiene sus problemas. Así que supongo que mi respuesta es, obtener como muchos teléfonos de por lo menos cada una de las versiones de OS de decir 1,6 a 3.x.

ListViews con adaptadores personalizados es uno, he creado un adaptador personalizado para agregar iconos a cada elemento en un ListView. He repetido accidentes de 2.2 teléfonos como DroidX para nombrar uno, pero en otros que funcionó bien. Funcionó bien en un G1 también. También con ListViews y SimpleExpandableListAdapter están llenos de problemas en otros teléfonos en los que los iconos no se alinean o en listas grandes simplemente bloquea la aplicación. Me mantengo alejado de ListView ahora ya que quiero tratar de mantener mis aplicaciones desplegables en muchos sistemas operativos diferentes

En cuanto a la otra respuesta aquí están la lista de teléfonos que encontré para la mayoría de despliegue de EE.UU. No estoy seguro de por qué el Samsung Galaxy S se enumera 3 veces o Motorola Droid II es dos veces, puede tener que ver con las versiones del sistema operativo.

1 Motorola Droid X 9.3% 2 HTC Evo 4G 6.2% 3 Samsung Galaxy S 4.9% 4 HTC Desire HD 4.4% 5 Motorola Droid 4.4% 6 HTC Droid Incredible 4.1% 7 Motorola Droid II 3.4% 8 Samsung Galaxy S 3.3% 9 Samsung Galaxy S 2.7% 10 Motorola Droid II 2.4% 

Esta es la razón por la cual, cuando programa, tengo en mente ser agnóstico de la API de SO y sólo intento de asegurarme de que funciona para la mayoría de los usuarios.

Una forma posible de decidir cuántos móviles necesitaría para probar es mirar el mercado usando su aplicación.

Una de mis aplicaciones tiene el siguiente desglose de teléfono móvil (tenga en cuenta esto es en el Reino Unido). Así que en mi región estos 10 móviles le dará aproximadamente el 70% de cobertura

 1 HTC Wildfire 15.2% 2 Samsung Galaxy S2 10.5% 3 HTC Desire 10.2% 4 Samsung Galaxy S 9.7% 5 HTC Desire S 8.6% 6 HTC Desire HD 7.5% 7 Samsung Galaxy Ace 3.1% 8 Samsung Europa 2.7% 9 ZTE Blade 2.1% 10 Samsung Galaxy Tab 2.1% 

Su objetivo debe ser cubrir como más usuarios de android como sea posible para su proyecto. Los parámetros importantes que necesita cubrir son por nivel de api, ppi, tamaño de pantalla y resolución.

Cómo puede lograrse: 1. Buscar los dispositivos más populares para su proyecto (por ejemplo, mediante google analytics) 2. Agrupar esos dispositivos por parámetros 3. Encontrar los grupos más populares 4. Encontrar los dispositivos más populares de cada grupo

Este enfoque se realiza en http://choosedevice.com .

Así que basándose en su presupuesto, debe comprar dispositivos desde el paso 4, a partir de dispositivos del grupo más popular.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.