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 :
- ¿Cuál es la mejor empresa de desarrollo de aplicaciones móviles en Alemania?
- ¿Qué requiere la aplicación móvil?
- ¿Cuál es la diferencia entre HTML5, Native y una aplicación híbrida? ¿Cual es mejor?
- ¿Cuáles son los mejores consejos y prácticas para el desarrollo de aplicaciones móviles para crear buenas aplicaciones en poco tiempo?
- Soy un desarrollador web de nivel principiante (1 año de experiencia) y estoy interesado en cambiar al desarrollo móvil. ¿Es Android la elección correcta?
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.