Puntos que debe recordar al probar la aplicación de Android

¿Cuáles son los diferentes puntos a tener en cuenta al probar las aplicaciones de Android? ¿Cuáles son las diferentes técnicas o casos de prueba utilizados para Android?

Buena pregunta. Aquí hay algunas listas de cosas a considerar, con enlaces a herramientas que pueden ayudar.

En cuanto a las pruebas de implementación, puede leer algunos de los tutoriales listados y utilizar marcos como Robotium para simplificar la redacción de pruebas.

Tipos de prueba

Esta es una lista no exhaustiva de los tipos de pruebas que deben ser relevantes para probar una aplicación de Android.

  • Pruebas unitarias
    • No específica para Android, es decir, lógica de negocio
    • Pruebas de unidades de Android, por ejemplo, probar componentes de la interfaz de usuario
  • Pruebas funcionales
    • Pruebas de instrumentación de Android
  • Pruebas de integración
    • Prueba de la interacción de los componentes de la aplicación
  • Pruebas del sistema
    • Prueba de caja negra que prueba toda la aplicación y sus dependencias
  • Pruebas de accesibilidad
    • ¿Los componentes de la interfaz de usuario tienen las etiquetas correctas, las descripciones y los textos sugeridos incluidos?
    • ¿Existen problemas potenciales que puedan afectar a las personas, por ejemplo, daltonismo?
  • Pruebas de seguridad y fiabilidad
    • ¿Se validan las entradas antes del uso, por ejemplo, en una base de datos local o antes de enviarlas a un servidor?
    • ¿La interfaz de usuario gestiona de forma fiable todos los eventos, por ejemplo, cambios de configuración, eventos de hardware?

Depende de qué es exactamente su aplicación, pero debería ser posible probar mucho de esto automáticamente usando algunas de las herramientas que se enumeran a continuación.

Variables

Las características del software y del hardware difieren entre los varios dispositivos androides .
Usted debe probar teniendo en cuenta estos, en relación con los tipos de dispositivos de su mercado objetivo va a utilizar.

  • versión del sistema operativo
  • Densidad de la pantalla
  • Resolución de pantalla ( teléfonos pequeños, normales, grandes [tablets])
  • Lugar

Importante es asegurarse de que admita varios tipos de pantalla , especialmente asegurándose de proporcionar los recursos adecuados para soportar dispositivos con diferentes densidades de pantalla y tamaños de pantalla físicos.

En general, desea incluir el menor número posible de gráficos, pero utilice los diversos tipos de Drawable de Android, que a menudo permiten definir los gráficos que necesita a través de XML. También haga buen uso de diseños e imágenes que se escalan automáticamente sin importar el dispositivo en el que se estén usando.

Si lo hace, las pruebas a través de diferentes dispositivos serán más sencillas.

Herramientas

Pruebas de escritura

  • Soporte integrado de JUnit para la prueba de unidades
  • Clases de TestCase para probar componentes de Android
  • Robotium – una biblioteca que hace que sea muy sencillo escribir pruebas funcionales de caja negra que también pueden cruzar múltiples actividades

Usando burlas

Aunque Android proporciona algunos objetos simulados que pueden usarse para falsificar componentes con fines de prueba, muchos más serían útiles .

Por esta razón (y en general), el diseño de su aplicación con testabilidad en mente es una buena idea. Por ejemplo, no acceda directamente a ConnectivityManager , sino que cree una interfaz que defina las llamadas de método que necesita. A continuación, escriba dos implementaciones de esa interfaz: una que envuelve el Android ConnectivityManager y otra, versión simulada. Elija la implementación que desea utilizar en tiempo de ejecución, dependiendo de si está ejecutando pruebas de unidad o no.

Ejecución de pruebas

  • InstrumentationTestRunner : la utilidad predeterminada para ejecutar pruebas automatizadas de Android
  • Plugin de Emulador de Android para Jenkins – automatiza la creación y ejecución de emuladores de Android con varias configuraciones, por lo que puede probar un APK a través de múltiples tipos de dispositivos muy fácilmente
  • Mono – envía comandos aleatorios a su aplicación; Una forma de fuzzing

Otro

  • Soporte EMMA integrado para medir la cobertura de código

Referencia

Más allá de todos los enlaces anteriores, aquí hay algunos artículos específicos disponibles:

  • Actividad Tutorial de prueba – Resumen rápido de Android de la configuración de un proyecto de prueba, la escritura y ejecución de pruebas
  • Testing and Instrumentation – Resumen de Android de las API de prueba y sugerencias de solución de problemas
  • Pruebas de actividad – Más información de Android sobre cómo escribir y ejecutar Pruebas de Activity
  • Al probar la interfaz de usuario de Android, ¿cuál es la forma correcta de esperar que la interfaz de usuario esté lista?
  • Habilitar ubicaciones de Mock en Android Marshmallow
  • ¿Cómo probar fácilmente las compras en la aplicación sin publicarlas o firmarlas primero?
  • Uso de una aplicación personalizada con InstrumentationTestCase
  • Jacoco con Gradle 0.10.0: Objeto remoto no existe
  • Falsificación de las respuestas de solicitud HTTP para realizar pruebas en Android
  • ¿Pueden las pruebas Gradle vivir en paz con los proyectos de prueba de estilo antiguo
  • Probar la base de datos en Android: ProviderTestCase2 o RenamingDelegatingContext?
  • Descenso de la versión androide de Phonegap de 3.40 a 2.9.0
  • ¿Cómo hago un MotionEvent para hacer zoom?
  • MonkeyRunner: manera fácil de determinar las coordenadas para MonkeyDevice touch comando?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.