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?
- ¿Cómo puedo acceder al almacenamiento interno desde un proyecto de prueba?
- Pruebas de Android sin emulador
- Android: Escribir casos de prueba para Fragmentos
- Android prueba testPreconditions
- VerifyError en las herramientas de compilación del proyecto de prueba android v17
- ¿Cómo hacer pruebas escalares con Android?
- Android Instrumentación de Pruebas - UI Thread Issues
- Cómo generar el gesto de zoom / pellizco para probar para Android
- Pruebas automáticas para Cordova / Phonegap Webview en Android
- Cómo burlar un objeto de etiqueta NFC de Android para las pruebas de unidad
- Errores específicos del dispositivo Android
- Cómo crear un servidor para la comunicación con una aplicación de Android
- ¿Cuáles son las diferencias en las distintas clases de casos de prueba de 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
- ¿Cuál es la diferencia entre SPAN_POINT_MARK y SPAN_MARK_POINT?
- Menú círculo Android como notas de captura