Cómo probar el rendimiento de una aplicación móvil

La informática móvil es el siguiente paso en la evolución de la informática donde los dispositivos móviles se convierten en el dispositivo cliente en lugar de una PC. Con las nuevas tecnologías y plataformas de desarrollo, el costo de entrada en la creación de una aplicación de software, especialmente una aplicación móvil, es mucho más bajo que hace 5 o incluso 2 años. Esto se puede combinar con modelos de negocio basados ​​en SaaS que cambian las expectativas de los usuarios y aumentan sus demandas de usabilidad y rendimiento, ya que pueden descargar fácilmente la aplicación de otra persona para una prueba gratuita si no están contentos con la suya. Entonces, con más competencia y usuarios más exigentes, la calidad es una preocupación principal tanto para los nuevos participantes en el mercado como para aquellos que tienen usuarios existentes y están dando acceso a su software a través de un dispositivo móvil.

Para el aseguramiento y la prueba de calidad móvil, una de las preocupaciones más críticas es la experiencia del usuario móvil, y un componente principal de la experiencia del usuario se basa en el rendimiento de la aplicación. Evaluar y probar el rendimiento de una aplicación móvil no es tan sencillo como evaluar y probar el rendimiento de las soluciones tradicionales basadas en la web, ya que hay varias otras variables, como la estructura de la aplicación (navegador versus nativo), la red utilizada (2G, 3G, 4G , etc.), estructura de carga útil, etc. Cuando hacemos pruebas de rendimiento móvil, nos gusta descomponer sistemáticamente las pruebas de la siguiente manera:

Rendimiento de la aplicación del cliente :

Este componente del sistema tiene dos variables; navegador versus aplicación nativa, junto con la configuración de hardware y software del dispositivo. Para la configuración del dispositivo, consideramos las variaciones normales de modelo, procesador y memoria, y su uso de esos recursos al ejecutar escenarios de usuario típicos. Similar a la comparación de una aplicación Cliente-Servidor versus una aplicación Navegador-servidor, para dispositivos móviles consideramos una aplicación nativa aún como cliente si necesita acceso remoto a una aplicación de servidor. Algunas aplicaciones nativas, por ejemplo, un diccionario o un juego de cartas solitario son totalmente independientes. Pero en estos días, muchas aplicaciones nativas residen en el dispositivo móvil y aún se comunican fácilmente con una aplicación de servidor. La aplicación nativa a veces se usa para una mejor presentación, seguridad y una configuración más flexible en comparación con una aplicación basada en navegador.

El rendimiento de la aplicación basada en navegador móvil suele depender en gran medida del rendimiento de la aplicación de red y servidor. Como resultado, el rendimiento suele ser más lento y reduce la experiencia del usuario. Además, algunos navegadores pueden tener un rendimiento más alto que otros, ya que no existe un estándar. Su aplicación de servidor también debe ser capaz de reconocer la combinación de dispositivo / navegador para poder procesarla correctamente.

Rendimiento de la red

La aplicación puede comportarse de manera diferente en diferentes redes a medida que los protocolos de red afectan el rendimiento y los retrasos. A menudo, nuestros clientes quieren que realicemos pruebas en diferentes redes y en diferentes países porque los operadores a veces imponen costos indirectos en la transmisión de datos y la latencia de la red puede variar. La latencia depende de la aplicación en lo eficiente que sea en sus algoritmos de método de transmisión y la cantidad de datos transmitidos también (a menudo denominada carga útil). Para una aplicación móvil nativa, la percepción del rendimiento del usuario puede mejorarse dependiendo de la cantidad de la aplicación y sus datos residen en el dispositivo local en comparación con la aplicación del servidor. En cierto modo, hemos retrocedido al paradigma de la aplicación cliente-servidor donde queremos almacenar más datos en el dispositivo para reducir el retraso de la red, mientras que al mismo tiempo el dispositivo informático local tiene una capacidad limitada. Esto está cambiando con las redes 4G LTE más recientes y los dispositivos más recientes con procesadores duales y grandes cantidades de RAM, pero 4G todavía tiene una cobertura limitada, y los dispositivos más recientes pueden superar los $ 600 dependiendo de los subsidios que obtenga a través de los paquetes de servicios del operador.

Rendimiento del servidor

Ya sea una aplicación basada en navegador o una aplicación nativa, todavía habrá muchos ciclos informáticos y transacciones de datos en el lado del servidor, ya sea en la nube o en el servidor web con varias opciones de infraestructura. Examinar el rendimiento del servidor es similar a medir el rendimiento del sitio web o de una aplicación web en el que necesitamos descomponer nuestro análisis en los componentes del servidor que proporcionan los servicios, incluida la base de datos, el servidor de aplicaciones y el hardware asociado. Cada uno de estos componentes tiene muchas variables que pueden resultar en numerosas permutaciones. Además, cada permutación implica la interacción entre sus componentes, lo que podría afectar significativamente el rendimiento, aunque a veces es impredecible y depende de la situación y el contexto. Dado esto, hay muchas herramientas de prueba de rendimiento que intentan explicar estas variables, pero ninguna herramienta puede resolver todas las partes de la ecuación, y la mayoría de las herramientas están especializadas en una plataforma específica y en un aspecto de prueba, es decir, el rendimiento de la aplicación nativa del iPhone.

Pruebas de rendimiento móvil para aplicaciones locales

Dada la naturaleza compleja de las pruebas de rendimiento de la aplicación móvil, en este artículo abordaremos el rendimiento de la aplicación del cliente móvil para una aplicación nativa (en comparación con el navegador, ver arriba). Decidimos probar una aplicación nativa local porque las aplicaciones nativas utilizan principalmente recursos locales y los resultados serán más confiables y controlados, mientras que las aplicaciones basadas en navegador pueden depender en gran medida de la red y la aplicación del lado del servidor. Analizaremos algunas de las herramientas utilizadas para las pruebas de rendimiento de dispositivos y aplicaciones locales, exponiendo las consideraciones realizadas y los resultados a lo largo del camino. Este artículo es el primero de una serie. Los artículos futuros analizarán las pruebas de rendimiento móvil desde las perspectivas de la aplicación de red y servidor.

Normalmente, no se requieren pruebas de rendimiento de la aplicación móvil, ya que las aplicaciones móviles tienen un solo usuario y, si está satisfecho con el tiempo de carga de la aplicación, la capacidad de respuesta, los tiempos de representación, etc., debería estar listo.

Si su aplicación se actualiza con frecuencia y es relativamente grande y compleja, es posible que desee automatizar los pasos y establecer algunos umbrales que definan el tiempo máximo de finalización de la operación. En ese caso, consulte las siguientes herramientas:

  • Appium
  • Calabaza

Si su aplicación se basa explícitamente en el servidor back-end, es decir, está utilizando intensamente la web o la base de datos para mostrar datos, es posible que desee verificar el rendimiento del back-end, es decir, cuando varios cientos o miles de usuarios están utilizando la aplicación en el mismo momento. En ese caso, puede simular el tráfico que se envía desde varios dispositivos móviles, recopilar y analizar métricas de backend e indicadores clave de rendimiento. Puede hacerlo con, por ejemplo, Apache JMeter; consulte Aplicaciones móviles de prueba de carga. Pero hecho fácil para más detalles.

Todas las herramientas mencionadas son gratuitas y de código abierto.

Fuente: Stack Exchange

Puede probar su aplicación móvil en pcloudy.

La mejor plataforma para probar aplicaciones móviles es http://www.pcloudy.com

More Interesting

Quiero crear un teclado Apple personalizado. Sin embargo, solo quiero agregar una fila sobre el teclado para funcionalidades adicionales. ¿Es posible hacerlo con facilidad?

¿Cuáles son los errores típicos que se encuentran en los dispositivos reales en lugar de los emuladores al probar aplicaciones móviles?

Cómo diseñar una aplicación móvil para mi negocio

¿Habrá una disminución en la demanda de desarrolladores de aplicaciones móviles 10 años después?

¿Cuáles son los requisitos para comenzar como desarrollador de aplicaciones y cómo comenzar?

¿Qué necesito para crear una aplicación como WhatsApp?

¿Cuál es la mejor empresa latinoamericana de desarrollo móvil con tarifas razonables que tiene oficinas en los Estados Unidos?

Si pudieras aprender el desarrollo de Android desde cero, ¿cómo lo rehacerías?

¿Cuál es la mejor manera de explicar una idea a un desarrollador de aplicaciones a alguien en otro país, mientras usa ilustraciones?

¿Cuál es la mejor opción de tecnología si quiero desarrollar una aplicación para Playbook, iOS, Windows 8 y tabletas Android?

¿Qué debo saber antes de desarrollar una aplicación móvil?

Cómo crear mi propia aplicación de diccionario y qué lenguajes de programación debo saber para comenzar desde cero

¿Es el núcleo de Java lo único que se necesita para hacer una aplicación de Android?

¿Por qué los servicios de aplicaciones móviles se vuelven tan necesarios en la actualidad?

¿Dónde puedo conseguir desarrolladores de aplicaciones?