Cuando hablamos sobre la definición de un plan de pruebas, una de las tareas primordiales es establecer los tipos de pruebas que serán ejecutados en el o los ciclos de pruebas a completar.
Existen tipos de pruebas que son fundamentales y que siempre acompañarán uno o varios ciclos de prueba a lo largo de un proyecto e independientemente del software a ser probado (tales como pruebas funcionales y de regresión). Sin embargo, el enfoque y alcance que demos a las mismas variará dependiendo del tipo de software bajo la lupa.
Cuando hablamos de aplicaciones móviles, debemos tomar en cuenta dentro de nuestras pruebas aspectos que son muy específicos de este tipo de software. No podemos pasar por alto consideraciones tales como la inclusión de pruebas de instalación, compatibilidad con una variada desfragmentación de dispositivos (lo cual es especialmente retador en Android) y aspectos de usabilidad, dado que la interacción con las aplicaciones no se limita a simples clics e interacciones con el teclado (podemos hacer uso de “gestures” y comandos de voz); además de utilizar la aplicación en condiciones de red diversas y en dispositivos con recursos limitados e interactuando al mismo tiempo con múltiples aplicaciones.
Entonces ¿cómo asegurar que nuestro plan de pruebas incluya no solo los tipos de pruebas necesarios, sino el enfoque y profundidad requeridos para asegurar la calidad de la aplicación a liberar en un mercado tan exigente, dado el alto grado de apego que las personas tienen con sus dispositivos móviles y además la emergente cantidad de aplicaciones de la competencia?
A continuación, presentamos algunas sugerencias simples pero efectivas para establecer un conjunto de pruebas robusto, cuando se esté definiendo un plan de pruebas para aplicaciones móviles.
- Incluir pruebas de instalación. No se debe omitir este tipo de pruebas que, entre otros, aseguran que la instalación se pueda realizar en todas las versiones de sistema operativo requeridos y en caso de tratarse de la actualización de una nueva versión de la aplicación, que este pueda realizarse exitosamente y sin alterar los datos y configuraciones del usuario. Otro caso de prueba a incluir es la validación del tamaño de la aplicación, lo cual no debe exceder el máximo permitido por el Store.
- Cuando definimos casos de prueba funcionales, es imperativo recordar que no se trata simplemente de probar en una pantalla pequeña. Debemos, por ejemplo, tomar en cuenta interacciones con el sistema operativo y dispositivo tales como manejo de permisos, uso de “gestures” e interacción con el teclado nativo.
- La aplicación por probar estará siendo ejecutada simultáneamente con otras aplicaciones. Por tanto, debemos incluir pruebas de interrupción que aseguren un manejo de interrupciones correcto tales como llamadas entrantes, alarmas y notificaciones de otras aplicaciones.
- Las pruebas de conexión a red son también de suma importancia. Cuando hablamos de dispositivos móviles y sus aplicaciones, éstas deben tener la capacidad de soportar cambios frecuentes entre redes Wi-Fi, datos móviles y periodos intermitentes de desconexión. Debemos también añadir casos de prueba específicos cuando la aplicación soporte funcionalidades en modo offline y requieran sincronización de datos en la nube.
- Las pruebas de usabilidad toman relevancia al tratarse de aplicaciones móviles. Dado que utilizamos dispositivos con pantallas de tamaño reducido, el tamaño y posicionamiento correcto de cada elemento es importante. Evitar pantallas muy cargadas o con pobres métodos de navegación deben ser puntos a tomar en cuenta en nuestras pruebas. Así mismo es conveniente asegurar el apego a estándares como por ejemplo Material Design.
Al trabajar con aplicaciones móviles, es importante ante todo recordar que no se trata simplemente de probar en una pantalla más pequeña, sino que las aplicaciones móviles traen consigo el desafío de ser utilizadas por un gran número de usuarios que interactúan con sus dispositivos de múltiples formas y en distintas condiciones. Por tanto, conocer el público meta al que está dirigida la aplicación ayudará de gran forma en la definición del plan de pruebas, tipos de pruebas a incluir y especificación de casos de prueba.