mobile application performance testing guide
Guía para pruebas de rendimiento de aplicaciones móviles:
En esto Gama explícita de tutoriales de pruebas de rendimiento, exploramos el concepto de Pruebas de rendimiento en la nube en nuestro último tutorial.
Aquí, aprenderá qué es una aplicación móvil, tipos de aplicaciones móviles, enfoque de aplicación móvil de prueba de rendimiento, cómo configurar un entorno de prueba de rendimiento de aplicación móvil, cómo solucionar problemas de rendimiento con aplicaciones móviles, los desafíos involucrados y las herramientas disponibles, etc. de manera detallada.
=> Haga clic aquí para ver la serie completa de tutoriales de pruebas de rendimiento
Lo que vas a aprender:
- Visión general
- ¿Qué es una aplicación móvil?
- La arquitectura de las aplicaciones móviles
- Enfoque de prueba de rendimiento de aplicaciones móviles
- Estrategia de rendimiento de aplicaciones móviles
- Entorno de prueba de rendimiento de aplicaciones móviles
- Desafíos de las pruebas de rendimiento de aplicaciones móviles
- Solución de problemas de rendimiento con aplicaciones móviles
- Herramientas de prueba de rendimiento de aplicaciones móviles
- Conclusión
- Lectura recomendada
Visión general
En el mundo tecnológico actual, las aplicaciones móviles se utilizan mucho más que las aplicaciones de escritorio normales. La cantidad de usuarios que usan teléfonos inteligentes para acceder a la mayoría de sus aplicaciones que usar una computadora de escritorio o una computadora portátil aumenta drásticamente.
Además, el usuario final esperará una buena respuesta de la aplicación cuando la esté usando. Por lo tanto, el desarrollador que crea las aplicaciones móviles debe tener esto en cuenta al desarrollar la aplicación.
Ahora, las pruebas de rendimiento son fundamentales, ya sea una aplicación web normal o una aplicación en un dispositivo móvil. Si una aplicación se pone en marcha sin que se haya probado su rendimiento y si el usuario final enfrenta problemas de rendimiento como una respuesta lenta, etc., intentará encontrar otra aplicación mejor que funcione de mejor manera.
Las pruebas de rendimiento son caras y también requieren más tiempo. Por lo tanto, muchos clientes evitan realizar pruebas de rendimiento, pero esto ayudará mucho con los problemas de producción. Por lo tanto, cualquier aplicación debe probarse minuciosamente antes de que esté disponible para el usuario final.
¿Qué es una aplicación móvil?
Las aplicaciones móviles son un conjunto de funciones predefinidas que están diseñadas para funcionar en dispositivos móviles como teléfonos inteligentes, tabletas y otros teléfonos con funciones. No todas las aplicaciones móviles son iguales, existen tres tipos diferentes de aplicaciones móviles y estas se basan en la tecnología que se ha utilizado para desarrollar esas aplicaciones.
Los 3 tipos de aplicaciones móviles incluyen:
- Aplicaciones móviles nativas
- Aplicaciones móviles basadas en web
- Aplicaciones híbridas

# 1) Aplicaciones móviles nativas:
Las aplicaciones móviles nativas son aquellas aplicaciones que se ejecutan en sus propios teléfonos inteligentes o tabletas, se ejecutan en el sistema operativo de los dispositivos móviles. Proporcionan un alto rendimiento y también son muy fiables. Este tipo de aplicaciones también acceden a otras aplicaciones en su dispositivo de teléfono inteligente, como fotos, libreta de direcciones, etc.
Las aplicaciones nativas están disponibles en la tienda de aplicaciones móviles. Para Android, tenemos Play Store y para iPhone tenemos iTunes. Entonces estas aplicaciones se descargan de sus respectivas tiendas y se instalan en dispositivos móviles.
Ejemplos de las aplicaciones nativas son una calculadora, calendario, aplicación de Facebook, etc.
# 2) Aplicaciones móviles basadas en web:
Las aplicaciones móviles basadas en web se ejecutan directamente desde el navegador, no están instaladas en el dispositivo móvil.
Ejemplos de las aplicaciones móviles basadas en la web son juegos en línea, sitios de redes sociales, etc.
# 3) Aplicaciones híbridas:
Las aplicaciones híbridas son similares a las aplicaciones nativas y se ejecutan dentro del contenedor nativo, son una combinación de ambas aplicaciones y utilizan el navegador del dispositivo y no el navegador real para representar las páginas web de la aplicación.
Ejemplos de la aplicación híbrida son Instagram, Yelp, etc.
La arquitectura de las aplicaciones móviles
En la figura anterior , los teléfonos inteligentes y las tabletas se incluyen en el lado del cliente. Incluyen los dispositivos que usamos habitualmente como Smart Phone, Tablets, su red como 3G, 4G, etc. Un sistema operativo de los dispositivos como Android, ios, Windows, etc.
Red celular móvil , Wireless, Internet y Firewall se incluye en Red. Para la red celular, vemos la intensidad de la señal, la congestión de la red, las interrupciones, etc. Para una red inalámbrica, vemos la intensidad de la señal, la velocidad, etc.
Web, App y DB vienen del lado del servidor donde se realiza la mayor parte del trabajo.
Enfoque de prueba de rendimiento de aplicaciones móviles
Las pruebas de rendimiento de aplicaciones móviles son diferentes de las pruebas de rendimiento de aplicaciones web. Las computadoras portátiles o de escritorio que se utilizan para acceder a las aplicaciones web no sufren mucho por las malas condiciones de la red, incluida la pérdida de paquetes o la latencia.
Mientras que en las aplicaciones móviles, las condiciones de la red, la pérdida de paquetes, la latencia, el tipo de dispositivo que estamos usando como un teléfono inteligente o dispositivo inteligente y el ancho de banda son importantes y no debemos ignorar todos estos factores al considerar las pruebas de rendimiento de las aplicaciones móviles.
Antes de desarrollar su estrategia de rendimiento, debe comprender qué tipo de aplicación está ejecutando en su dispositivo móvil.
Hay tres tipos de aplicaciones:
- Aplicaciones basadas en navegador
- Aplicaciones nativas
- Aplicaciones híbridas
# 1) Aplicaciones basadas en navegador:
Se puede acceder a este tipo de aplicaciones directamente a través de un navegador móvil y no necesitan ningún software adicional para descargarse o instalarse en el dispositivo.
Son livianos y están integrados en la misma pila en todo tipo de dispositivos como Android, iPhone, etc. Además, el diseño web adaptable El movimiento hace que sea aún más fácil crear una aplicación basada en múltiples navegadores, ya que puede representar la aplicación en diferentes tamaños de pantalla.
Este tipo de aplicaciones tienen inconvenientes, como que no se puede acceder a ellas sin una conexión a Internet, no tienen todas las funciones integradas en el dispositivo y también tienden a parecer más lentas para los usuarios.
Asi que. Mientras se prueba el rendimiento de este tipo de aplicaciones, es importante replicar la carga del usuario desde un navegador móvil y también es importante probar la representación de la página web en los dispositivos de destino.
# 2) Aplicaciones nativas:
Este tipo de aplicaciones se construyen en una plataforma particular utilizando el software que se instala directamente en el dispositivo.
"la puerta de enlace predeterminada no está disponible"
Las aplicaciones nativas son más rápidas y receptivas, ya que se crean localmente en el dispositivo. Como el código en cada dispositivo es diferente, es decir, para iPhone, Android, etc., mientras que las pruebas de rendimiento debemos considerar las pruebas en cada plataforma.
# 3) Aplicaciones híbridas:
Las aplicaciones híbridas son la combinación de aplicaciones nativas y de navegador. Están compuestos por un shell nativo que proporciona una experiencia integrada rápida.
Mientras que las pruebas de rendimiento apuntan a la carga generada por los usuarios de dicha aplicación híbrida en el lado del servidor, así como también miden el rendimiento de la aplicación en el dispositivo desde la perspectiva del usuario final.
Entonces, ¿cómo probamos estas aplicaciones móviles?
Para probar estas aplicaciones móviles, necesitamos crear un entorno con emuladores y dispositivos reales. Los emuladores móviles son software que deben instalarse en nuestras computadoras portátiles o de escritorio que imitarán una aplicación móvil o una plataforma móvil.
Por lo tanto, al usar estos emuladores podemos generar una cantidad significativa de carga para nuestras pruebas de carga.
El otro método es usar dispositivos reales, aquí tenemos el dispositivo físicamente y podemos ver cómo se está desempeñando la aplicación en cada dispositivo. Utilizando dispositivos reales, no tenemos la opción de generar la carga, que es nuestro objetivo principal, pero para hacerlo necesitamos tener varios dispositivos reales.
Sin embargo, si desea probar el comportamiento de la aplicación en un dispositivo específico, puede usar el dispositivo real, pero para generar carga necesitamos usar emuladores.
El siguiente punto a tener en cuenta al probar una aplicación móvil es conocer la ubicación de acceso del usuario final. Es muy importante saber si los usuarios acceden desde la misma ciudad, el mismo país o si están repartidos por el mundo, etc. Si planificamos nuestra prueba o entorno sin considerar esto, entonces nuestras pruebas serían incorrectas.
El rendimiento de la aplicación en una aplicación móvil como un teléfono inteligente o un dispositivo inteligente generalmente se mide en términos de rendimiento del dispositivo, rendimiento del servidor / API y rendimiento de la red.

Necesitamos verificar lo siguiente en cada actuación.
Rendimiento del dispositivo:
- Hora de inicio de la aplicación
- Tiempo de batería mientras usa la aplicación
- Consumo de memoria
- Variación de hardware y software
- Uso con otras aplicaciones
- Una aplicación que se ejecuta en segundo plano.
Rendimiento del servidor / API:
- Datos hacia y desde el servidor.
- Llamadas API generadas
- Tiempo de inactividad del servidor
Rendimiento de la red:
preguntas de la entrevista de jira para scrum master
- Paquete perdido
- Velocidad de la red
Por lo tanto, al escribir el enfoque para las pruebas de rendimiento de aplicaciones móviles, debe considerar todos los puntos anteriores y coincidir con el alcance y los requisitos de su proyecto.
Estrategia de rendimiento de aplicaciones móviles
El enfoque de la prueba de rendimiento difiere para cada tipo de aplicación móvil. El enfoque varía de una aplicación a otra, ya que cada aplicación se desarrolla con diferentes componentes y el mecanismo de procesamiento es diferente para cada una.
Las aplicaciones móviles basadas en navegador actúan de manera diferente a la aplicación de navegador web normal. Este comportamiento se debe al ancho de banda del plan de datos que está usando el usuario final y también depende de la configuración de los dispositivos móviles.
El costo de desarrollar este tipo de aplicación basada en navegador será menor ya que el trabajo de desarrollo sería ver su compatibilidad con los navegadores que están disponibles en dispositivos móviles.
Por lo tanto, para las pruebas de rendimiento, como las aplicaciones móviles basadas en el navegador, necesitamos replicar la carga del usuario en el navegador. Podemos hacer esto usando emuladores o cualquier otro componente adicional. Además de la carga de usuarios en los navegadores móviles, también necesitamos probar la representación de la página web en los dispositivos.
El costo de desarrollo de las aplicaciones móviles nativas es mayor. Las aplicaciones se instalan directamente en el dispositivo, lo que mejora la experiencia del usuario, pero la aplicación depende de la plataforma.
Entonces, si queremos probar el rendimiento en este tipo de aplicaciones, necesitamos probar todas las plataformas de los dispositivos móviles como Android, ios, windows, etc. y también en todo tipo de dispositivos como teléfonos inteligentes, tabletas, etc.
Las aplicaciones móviles híbridas son una combinación de aplicaciones móviles basadas en navegador y aplicaciones móviles nativas, por lo tanto, aquí debemos probar la carga de usuarios en el servidor y también debemos realizar una prueba de rendimiento completa en todos los dispositivos y plataformas móviles.
Para cualquier aplicación en el dispositivo móvil, hay dos factores principales que afectan el rendimiento del usuario final:
- Solicitar en el dispositivo móvil
- La representación de la página en el dispositivo móvil.
# 1) Solicitud en el dispositivo móvil:
Debajo de esto, la solicitud se entrega al servidor y la respuesta del servidor se genera en función de la solicitud recibida. Una vez que se genera la respuesta en el servidor, esta respuesta se envía de vuelta al dispositivo móvil que envió la solicitud inicial.
Aquí, los parámetros que deben examinarse son la carga del servidor, los diferentes tipos de red como 3G, 4G, etc., una carga en cada red y cualquier otro componente.
Podemos probarlos usando emuladores, es decir, podemos generar los scripts y usar emuladores para imitar la carga del usuario en el servidor.
# 2) Representación de la página en el dispositivo móvil:
La representación de la página en el dispositivo móvil no es más que la respuesta que se recibe del servidor a la solicitud que enviamos desde nuestra aplicación móvil.
Aquí, los parámetros que deben examinarse son el sistema operativo del dispositivo, los ajustes de configuración del dispositivo móvil, etc. Podemos probarlos iniciando sesión en el dispositivo móvil y monitoreándolos.

Ahora, echemos un vistazo detallado a cada paso mencionado en la figura anterior:
a) Cree escenarios de usuario en tiempo real:
De manera similar a las aplicaciones de navegador web habituales, necesitamos identificar los escenarios o las condiciones que se esperan en el servidor en tiempo real. Habrá muchos escenarios para probar.
Supongamos una condición donde hay una aplicación web que está disponible tanto en computadoras de escritorio como en dispositivos móviles, también es nativa en dispositivos Android e ios. Aquí necesitamos desarrollar un script de prueba basado en el tipo de acceso a la aplicación. Por lo tanto, debemos probarlo por separado en cada dispositivo.
Además, debemos considerar el patrón de carga de trabajo para ese escenario, es decir, debemos comprender cómo se distribuye la carga en cada dispositivo. Por ejemplo, 500 usuarios accederán a la aplicación a través de la web, alrededor de 100 utilizarán una aplicación nativa en su dispositivo ios y otros 200 accederán a la aplicación desde su dispositivo nativo en la aplicación Android.
También debemos considerar las ubicaciones geográficas de la carga en el servidor. Por ejemplo, El 30% de los usuarios acceden desde EE. UU., El 50% desde India y el 20% restante desde otras ubicaciones. Es obligatorio imitar la ubicación de un usuario diferente, ya que tendrá un impacto muy grande en los servidores.
Probar todo el 100% desde una sola ubicación arrojará resultados incorrectos. Por lo tanto, se recomienda probar la carga en los servidores dando una ubicación diferente. La solución en la nube se puede utilizar para imitar diferentes ubicaciones geográficas.
b) Cree condiciones de red en tiempo real:
Aquí, necesitamos crear diferentes condiciones de red y también la calidad de la red como red 3G, red 2G, Wi-Fi con la mejor velocidad, velocidad media y baja velocidad. Necesitamos hacer una emulación de red para crear condiciones de red.
También debemos probar el rendimiento dando condiciones de ancho de banda del 50%, podemos lograr esto haciendo emulación de red. Podemos utilizar cualquier herramienta como Wind Tunnel, Shunra, etc.
Además, pruebe la red con respecto a diferentes geografías como la red 3G en Bangalore. 4G en Hyderabad, etc. Aquí también debemos realizar una emulación de red mediante el uso de herramientas adecuadas.
c) Crear condiciones de dispositivo en tiempo real:
Esto no es más que el tipo de aplicación en el dispositivo móvil, como si es una aplicación de cliente ligero o una aplicación de cliente grueso, cuál es el sistema operativo en el dispositivo móvil, el tipo de dispositivo como iPhone, Nokia, etc., y cualquier otra aplicación. que se ejecutará en paralelo durante el uso de esta aplicación en particular, etc., también debe probarse como parte de los escenarios.
d) Pruebe el rendimiento de cada componente:
Después de crear todos los escenarios anteriores, necesitamos probar el rendimiento de la aplicación, incluido todo el software y el hardware. Ahora recopile todas las métricas necesarias durante la prueba de carga.
Algunas de las métricas del lado del servidor que deben recopilarse son el uso de la CPU, la carga de la CPU, el tiempo de procesamiento, el total de bytes disponibles, los paquetes enviados, los paquetes recibidos, etc.
Algunas de las métricas de red que deben recopilarse son paquetes y bytes enviados a través de la red, paquetes y bytes recibidos a través de la red, paquetes caídos y retraso promedio total.
Las métricas del dispositivo que se recopilarán son la CPU, la utilización de la memoria, el tiempo de respuesta, etc. y también miden todos los tiempos de respuesta de las transacciones y el rendimiento.
Entorno de prueba de rendimiento de aplicaciones móviles
Antes de configurar el entorno de prueba de rendimiento para una aplicación móvil, debemos comprender cuáles son las aplicaciones móviles que se probarán, qué sistemas operativos o dispositivos se probarán y también las diferentes ubicaciones geográficas.
Por lo tanto, primero, necesitamos crear un entorno que consista en emuladores y dispositivos reales. Entonces, ¿qué es un emulador? Un emulador es un software que se puede instalar en nuestras computadoras portátiles o de escritorio, y estas actúan como dispositivos móviles. Podemos generar una gran carga usando estos emuladores, por lo tanto, es mejor usarlos para probar la carga de cualquier aplicación móvil.
Por otro lado, los dispositivos reales son dispositivos móviles físicos. Por lo tanto, debemos verificar el comportamiento de la aplicación en cada dispositivo y en cada red. Pero no podremos probar el ancho de banda, la pérdida de paquetes, etc., cuando varios dispositivos estén conectados a la misma red y accedan a la misma aplicación.
Lo siguiente a considerar es la ubicación geográfica de los dispositivos de la aplicación, este es un aspecto obligatorio y muy importante a considerar o de lo contrario los resultados de nuestras pruebas no serán como lo que sucede en el escenario del mundo real.
Entonces, una vez que analice todo lo anterior, seleccione la herramienta de prueba de carga respectiva para realizar las pruebas de rendimiento.
Desafíos de las pruebas de rendimiento de aplicaciones móviles
Los desafíos que enfrentamos al realizar pruebas de rendimiento de aplicaciones móviles incluyen:
- Cuando necesitamos probar nuestra aplicación en diferentes dispositivos móviles, necesitamos organizar todos los dispositivos como IOS, Android, Windows, etc.
- La simulación de red es otro desafío al que nos enfrentaremos, es decir, necesitamos simular redes como 3G, 2G, 4G y redes wifi.
- La memoria disponible en los dispositivos móviles para manejar las ejecuciones de prueba.
- La duración de la batería de los dispositivos móviles.
Solución de problemas de rendimiento con aplicaciones móviles
Una vez finalizada la ejecución de la prueba, es hora de recopilar el cuello de botella de rendimiento identificado durante la ejecución de la prueba. Una vez que los problemas se hayan consolidado, debemos identificar la causa raíz del problema y solucionarlos.
Echemos un vistazo a algunos problemas de rendimiento con las aplicaciones móviles:
- Un retraso en la respuesta de la aplicación móvil: Este retraso suele deberse a la memoria o al almacenamiento en caché. En tales casos, se recomienda borrar la caché y volver a ejecutar la prueba.
- La aplicación en algún momento se reinicia, se cuelga o se congela: En tales casos, verifique el software como si fuera necesario realizar alguna actualización, verifique el código de la aplicación para ver si hay alguna optimización, el manejo del almacenamiento en caché son algunas áreas a considerar.
Herramientas de prueba de rendimiento de aplicaciones móviles
Las herramientas pueden variar según el tipo de dispositivo y plataforma.
Algunas de las herramientas más utilizadas se detallan a continuación.
Para dispositivos Android:
robots: Con esta herramienta, podemos grabar y reproducir los distintos pasos para realizar la prueba. Hacer clic aquí para un tutorial de Robotium .
Corredor del mono : Con esta herramienta podemos ejecutar nuestras pruebas en los dispositivos conectándolos a un escritorio. Utilizando la Interfaz de la herramienta podemos acceder al smartphone.
Para dispositivos iOS:
Automatizador: Con esta herramienta podemos arrastrar y soltar los flujos de trabajo y automatizarlos.
Conclusión
Estoy seguro de que habrá aprendido más sobre las aplicaciones móviles y cómo realizar pruebas de carga en las aplicaciones móviles de una manera perfecta a través de este tutorial informativo.
Nuestro próximo tutorial le informará sobre cómo realizar pruebas de rendimiento manuales en términos simples.
=> Visite aquí para ver la serie completa de tutoriales de pruebas de rendimiento
PREV Tutorial | SIGUIENTE Tutorial
Lectura recomendada
- Pruebas de rendimiento de aplicaciones móviles con BlazeMeter
- La guía para principiantes sobre pruebas de rendimiento de aplicaciones web con WAPT Pro
- Guía de pruebas de seguridad de aplicaciones web
- Pruebas de rendimiento frente a pruebas de carga frente a pruebas de estrés (diferencia)
- Cómo conseguir un trabajo de prueba móvil rápidamente - Guía profesional de pruebas móviles (Parte 1)
- Pruebas de carga, estrés y rendimiento de aplicaciones web con WAPT
- ¿Cómo realizar pruebas de rendimiento manuales?
- Proveedores de servicios y herramientas de prueba de penetración de aplicaciones móviles
