Un equipo de investigación de la Universidad de Sevilla y la Universidad de Extremadura ha desarrollado por primera vez un simulador que predice la velocidad de las aplicaciones móviles. El software anticipa cuestiones que habitualmente requieren distintas pruebas técnicas de evaluación, como la rapidez a la que opera la herramienta, el tiempo que el usuario debe esperar a que funcione y su consumo energético.
Los expertos probaron su validez en una aplicación móvil que proporcionaba el riesgo de contagio de Covid-19 de una persona simulando de forma completamente virtual un escenario real con cientos de dispositivos funcionando simultáneamente, como si hubiera usuarios de verdad utilizándolos. De este modo, comprobaron que este sistema supone una alternativa menos costosa y rápida para empresas de desarrollo software.
Cómo funcionan las aplicaciones móviles
La mayoría de las aplicaciones móviles funcionan mediante un sistema que emite una orden y obtiene una respuesta que luego se almacena. Por ejemplo, los asistentes personales reciben una orden del usuario, el programa realiza la consulta y luego emiten la respuesta.
Normalmente, las empresas de desarrollo software evalúan la calidad del servicio de una aplicación móvil antes de su puesta en venta. Para ello, la desarrollan, instalan y comprueban que estas herramientas, aptas para dispositivos como teléfonos o tablets, funcionan en cualquier modelo, en distintos sistemas operativos y bajo circunstancias como una mala conexión a la red. De este modo determinan, por un lado, cómo será la experiencia del usuario y, por otro lado, cómo será el rendimiento de la aplicación. Esto es, que opere de forma precisa, rápida y no haya fallos o ‘caídas’, como ocurre ocasionalmente con plataformas como Twitter o Whatsapp.
Aunque ya existen herramientas que ayudan a probar distintos aspectos de la aplicación móvil durante el desarrollo, los científicos señalan que no hay herramientas en el mercado que establezcan una prueba realista con multitud de dispositivos que interactúen entre sí y que permitan anticipar cómo se comportarán cuando llegue a los usuarios.
Qué utilidad tiene esta herramienta de evaluación de aplicaciones
La propuesta de los investigadores no solo sirve para ejecutar pruebas de evaluación de calidad; también puede desplegar entornos virtuales personalizados para simular con múltiples dispositivos de distintos sistemas operativos cómo funcionará la aplicación móvil. “Para emplearlo, solo hay que definir las características del entorno, como la disponibilidad de Internet, los atributos de calidad que queremos comprobar y los tests de evaluación que queremos implementar”, explica a la Fundación Descubre el investigador de la Universidad de Sevilla Pablo Fernández
En el artículo ‘Perses: Un framework para evaluar la Calidad de Servicio en aplicaciones móviles distribuidas’ publicado en Pervasive and Mobile Computing, los investigadores definen el sistema Perses como un edificio dividido en dos partes. Por un lado, Perses Launcher, los cimientos, sirve para definir y configurar el entorno virtual -es decir, las condiciones ficticias bajo las que operará la aplicación-. Por otro lado, Perses Virtual Enviroment es la primera planta, la ejecutora, que realiza las pruebas, puede replicarlas de forma indefinida y anticipa cómo funcionará la aplicación. “Actualmente, no hay herramientas a nivel comercial que realicen esta función dado que, normalmente, los simuladores suelen ser caros y lo que se puede hacer con ellos es bastante limitado”, explica el investigador de la Universidad de Extremadura Sergio Laso.
Para probar la validez del sistema, los científicos evaluaron una aplicación móvil que proporcionaba el riesgo de contagio de Covid-19 de una persona. Estos expertos explican que la herramienta se compone, por un lado, de un servidor ‘ubicado’ en la nube -un entorno online para procesar información de los usuarios involucrados-, donde se calcula el porcentaje de este riesgo. Por otro lado, de una parte ‘localizada’ en el propio dispositivo, encargada de guardar la localización y de procesar y anonimizar los datos del usuario para proveerla a la nube.
Cómo se ha probado esta herramienta para medir el trabajo de las aplicaciones
Para analizar y anticipar cómo será la calidad del servicio investigadores realizaron una serie de simulaciones en las que tuvieron en cuenta indicadores como el modelo del dispositivo, la disponibilidad de Internet y el tiempo estimado de ejecución de la tarea, entre otras cuestiones. De este modo, los científicos recrearon un escenario en el que distintos dispositivos interactuaban entre sí, tal y como ocurriría en la realidad. “Aunque confirmamos la validez del sistema, también comprobamos la calidad del servicio depende de la entidad que desarrolle la aplicación y cómo ésta interactúe con los servicios de la nube”, añade el investigador de la Universidad de Extremadura Javier Berrocal.
Los expertos proponen este sistema como alternativa a las pruebas de calidad para aplicaciones móviles que se emplean habitualmente. “Facilitarían la labor de las empresas de desarrollo software y ya puede incorporarse a las metodologías de trabajo que suelen realizarse en estas entidades”, concluye Pablo Fernández.
El siguiente paso de los investigadores del grupo de Ingeniería de Software Aplicada de la Universidad de Sevilla y el grupo Quercus de la Universidad de Extremadura es continuar desarrollando este sistema para que pueda anticipar cómo funcionarán las aplicaciones en dispositivos de distintas capacidades. En concreto, realizarán análisis de datos que garanticen que el sistema no colapse cuando esté realizando simulaciones con múltiples aplicaciones y a gran escala.
Este trabajo ha sido financiado por el Ministerio de Ciencia e Innovación, el proyecto Interreg V-A España-Portugal (POCTEP) 2014- 2020, por la Red de Ciencia e Ingeniería de Servicios de la Universidad de Sevilla, la Consejería de Economía, Ciencia y Agenda Digital de la Junta de Extremadura y el Fondo Europeo de Desarrollo Regional.
Este trabajo ha sido parcialmente financiado por el Ministerio de Ciencia e Innovación, Agencia Estatal de Investigación y por la Unión Europea ‘Next GenerationEU/PRTR’ (ayuda DIN2020-011586, proyectos RTI20 18-094591-B-I00, PDC2022-133465-I00 y RTI2018-101204-B-C21). Además, ha recibido apoyo del proyecto 4IE+ (0499-4IE-PLUS-4-E), financiado por el programa Interreg V-A España-Portugal (POCTEP) 2014-2020. También ha recibido ayuda de la Red de Ciencia e Ingeniería de Servicios (TIN2016-81978-REDT), por la Consejería de Economía, Ciencia y Agenda Digital de la Junta de Extremadura (GR21133, IB18030), por la Consejería de Ciencia e Innovación de la Junta de Andalucía (US-1264651) y por el Fondo Europeo de Desarrollo Regional.