WavebreakmediaMicro - Fotolia

Domine las pruebas de interrupción en los dispositivos móviles

Ya que los dispositivos móviles fueron hechos para ser interrumpidos, el reto es crear –y probar– una aplicación que ruede con todo. Yvette Francino explica cómo funciona la prueba de interrupción.

Los teléfonos inteligentes tienen un montón de grandes capacidades, permitiendo a los usuarios realizar varias tareas como nunca antes. Esto es excelente para un consumidor, pero para el probador significa dar con nuevas formas de prueba. Por ejemplo, en medio de trabajar en una aplicación móvil, usted es interrumpido por una llamada telefónica o un mensaje de texto. ¿Su aplicación será capaz de funcionar como se espera una vez que regrese a ella? Las pruebas de interrupción pueden llevar mucho tiempo cuando se hacen manualmente, pero el uso de herramientas para simular las interrupciones pueden aligerar la carga para los probadores. Vamos a echar un vistazo más de cerca a las pruebas de interrupción, sus desafíos y las herramientas para aplicaciones de movilidad.

Tipos de interrupciones

La prueba de interrupción es uno de los tipos de pruebas más importantes para las aplicaciones móviles, pero porque este tipo de pruebas es único para el mercado de telefonía móvil, es un área en la que las habilidades para examinar y las herramientas que las acompañan están en plena evolución. Hay una variedad de interrupciones que pueden ocurrir durante el uso de una aplicación. Estas interrupciones, como llamadas entrantes y mensajes de texto, pueden ocurrir en cualquier momento, y no se debería esperar que el usuario "pause" su aplicación o guarde los datos necesarios. Será responsabilidad de la aplicación asegurar que la acción apropiada ocurra cuando se produce una interrupción.

Algunos ejemplos de las interrupciones incluyen:

  • SMS y MMS entrantes y salientes
  • Llamadas entrantes y salientes
  • Extracción de la batería
  • Inserción y extracción del cable para transferencia de datos
  • Conectividad de red activada o desactivada
  • Ciclo de encendido del dispositivo
  • Notificaciones push entrantes
  • Notificación de memoria o de batería baja

En primer lugar, las pruebas de interrupción deben garantizar que las aplicaciones son capaces de suspenderse y reanudarse limpiamente, sin alterar la funcionalidad planificada. Dependiendo de la naturaleza de la aplicación y de la plataforma, diferentes cosas pueden suceder. La acción que una aplicación toma durante una interrupción tiene que ser decidida como un requisito por adelantado, para que pueda producirse la validación adecuada. Por ejemplo, si su aplicación tiene un componente de audio, ¿el audio será suspendido temporalmente cuando ocurre la interrupción? ¿Si su aplicación está en medio del inicio de sesión cuando se produce una interrupción, se colgará? ¿Continuará con el inicio de sesión? ¿Guardará los datos de acceso?

Cada plataforma móvil tiene sus propias recomendaciones para la gestión de interrupciones. Por ejemplo, los recursos obsoletos necesitan ser limpiados en las aplicaciones para el iPhone cuando se reciben notificaciones de poca memoria. Si la aplicación para iPhone está centrada en los datos, se requiere que el estado de la aplicación maneje cualquier salida prematura de la aplicación y tenga la capacidad de iniciar desde el mismo punto cuando la aplicación se reanuda.

Las aplicaciones móviles que están basadas ​​en cliente-servidor deben ser capaces de tratar, con gracia, con la pérdida de conectividad y sincronizarse adecuadamente cuando la red esté disponible de nuevo.

Pruebas automatizadas

Aunque usted querrá hacer algunas pruebas manuales para la facilidad de uso, las herramientas de prueba automatizadas pueden proporcionar mucha ayuda en la simulación de interrupciones.

Una herramienta automatizada de aplicaciones móviles que puede ayudar con las pruebas de interrupción, entre otros tipos de pruebas de movilidad, es mAutomate. MAutomate es una herramienta de grabación y reproducción para las pruebas de aplicaciones móviles. Los probadores son capaces de grabar una prueba de funcionamiento limpia, sin las interrupciones, para ser ejecutada en los dispositivos de destino. Luego, utilizando el asistente de la herramienta, el probador puede insertar interrupciones en cualquier etapa de la escritura de la prueba, sin necesidad de escribir una sola línea de código. La herramienta es capaz de simular las diversas interrupciones especificadas en el dispositivo bajo prueba y luego enviar los resultados de pantalla de vuelta a la interfaz web de la herramienta.

Existen otras herramientas de automatización de pruebas disponibles para la movilidad y las pruebas de interrupción, en función del sistema operativo del dispositivo. Para aplicaciones de Android, una herramienta de línea de comandos denominada The Monkey está disponible a través de su SDK. Aunque la herramienta se anuncia como una manera de probar el estrés en las aplicaciones móviles, también es útil como una herramienta de prueba de interrupción.

"Monkey testing" es un término usado para indicar las pruebas de una manera aleatoria, o la generación de pulsaciones de teclas o eventos al azar –como podría hacerlo un mono (por eso se llaman “pruebas de mono”, en español– para ver cómo reacciona el sistema bajo prueba. Usando la herramienta de prueba móvil The Monkey (el mono), el probador es capaz de enviar una secuencia seudo aleatoria de eventos de usuario a un emulador o dispositivo, y luego validar por el comportamiento apropiado o el informe correspondiente de errores o excepciones no controladas.

Para aplicaciones iOS, hay una herramienta de código abierto similar disponible a través de GitHub, UI AutoMonkey.

UI AutoMonkey es capaz de generar múltiples comandos que se pueden utilizar, de nuevo, tanto para las pruebas de estrés como para pruebas de interrupción. Se configura una plantilla que indica a las herramientas qué comandos se deben ejecutar durante la sesión de prueba. Después de la ejecución, la herramienta va a generar una visión general de los problemas o posibles problemas.

Las pruebas de automatización de este tipo se puede configurar para que se ejecuten de forma automática, con cada cometido como parte de un sistema de integración continua. Esto asegura que ningún código será desplegado sin pasar todas las pruebas de regresión automatizadas.

Con el gran número de acontecimientos imprevisibles que pueden suceder en los dispositivos móviles, las pruebas de interrupción son cruciales, pero pueden ser un desafío. Sin embargo, gracias a las herramientas de automatización fácilmente disponibles, el probador es capaz de simular las interrupciones y capturar problemas rápidamente. Una cierta cantidad de pruebas exploratorias manuales para la facilidad de uso seguirán siendo necesarias, pero gracias a las herramientas de pruebas automatizadas, la mayoría de las pruebas tediosas se pueden lograr de forma rápida y repetidamente, para ayudar al equipo a construir y desplegar una aplicación móvil de alta calidad.

Próximos pasos

No olvide revisar también:

Cómo encontrar valor en las pruebas de experiencia del cliente

¿Por qué las pruebas de SaaS son más difíciles que las pruebas tradicionales?

Por qué las pruebas de middleware son un tema de nube

 

Investigue más sobre Desarrollo de software y aplicaciones