Elección y pruebas de diferentes tipos de aplicaciones

Noticias, septiembre 6, 2019

Noticias, septiembre 6, 2019

Aplicación nativa, aplicación híbrida, aplicación web progresiva o solución web responsive

¿Cómo elegir un tipo de aplicación en lugar de otro? ¿Qué caracteriza a cada tipo y qué impacto tiene esta elección en el aseguramiento de la calidad de la solución?

Tipos de aplicaciones

Haz clic para obtener más información sobre cada tipo de aplicación:

Aplicaciones nativas

  • Las aplicaciones nativas se desarrollan específicamente para una plataforma determinada, normalmente Android o iOS. Este tipo de aplicación presenta muy pocas limitaciones técnicas a la hora de aprovechar las capacidades y funcionalidades del teléfono, pero requiere un conocimiento profundo del lenguaje de programación y de las herramientas de la plataforma (iOS = Xcode o Swift, Android = Android Studio).


Solución con diseño responsive

  • Una solución web pura que se adapta a diferentes tamaños de pantalla mediante la información del viewport. Solo aprovecha de forma muy limitada las capacidades y funcionalidades del dispositivo móvil. La optimización de las páginas para dispositivos y navegadores específicos requiere conocimientos y experiencia. La solución se desarrolla normalmente con HTML5, CSS y JavaScript.

Aplicación híbrida

  • Se trata básicamente de una solución web encapsulada dentro de una «carcasa» de aplicación nativa. Puede aprovechar gran parte de las funcionalidades del teléfono a través de esta carcasa, aunque generalmente se percibe como algo más lenta. También requiere conocimientos de tecnologías web habituales como HTML5, CSS y JavaScript. La herramienta de desarrollo genera automáticamente código nativo para todas las plataformas compatibles. Una aplicación híbrida se utiliza a menudo como «envoltorio» de una solución web, lo que permite ofrecerla como aplicación en Google Play y en la App Store.


Aplicación web progresiva

  • Una solución web similar al diseño responsive, con los mismos retos relacionados con la optimización de las páginas. Una PWA es una evolución de una solución con diseño responsive. La principal diferencia es que puede aprovechar en mayor medida las funcionalidades del dispositivo móvil mediante llamadas a las API de HTML5. Las llamadas a las API disponibles dependen de cada navegador.

Análisis del producto

Antes de comenzar el desarrollo de una solución móvil, se realiza un análisis del producto, entre otras razones, para determinar qué tecnología o tipo de aplicación satisface mejor los requisitos y necesidades identificados durante el análisis.

A continuación se muestran algunos ejemplos de preguntas que pueden formar parte del análisis del producto:

  • ¿Qué necesidades debe cubrir la solución?
  • ¿Cuál es el público o los públicos objetivo?
  • ¿Se utilizarán las tecnologías y funcionalidades del dispositivo, como la cámara, el GPS, NFC, BLE, el acelerómetro, el giroscopio, la brújula, los contactos, etc.?
  • ¿Habrá conexión e interacción con otros dispositivos mediante, por ejemplo, Bluetooth, NFC, BLE o Wi-Fi?
  • ¿Cómo será la interfaz de usuario?
  • ¿Qué requisitos existen en materia de seguridad y cumplimiento de normas?
  • ¿Qué opciones de pago deben ofrecerse?
  • ¿Qué integraciones son necesarias?
  • ¿Qué conocimientos, competencias y recursos presupuestarios están disponibles?
  • ¿Es necesaria la funcionalidad sin conexión?
  • ¿Qué requisitos de rendimiento tiene la solución?
  • ¿Cómo se gestionarán la instalación y el mantenimiento? ¿Existen dependencias de la plataforma?
  • ¿Existen restricciones de contenido, procesos de aprobación o costes asociados?

Una vez que se han respondido las preguntas anteriores, se dispone de una base para elegir entre los cuatro tipos principales de aplicaciones, cada uno con sus propias ventajas y desventajas.

Enfoque de las pruebas

El análisis del producto constituye la base de numerosas actividades importantes, entre ellas:

  • Establecer la base de pruebas
  • Seleccionar el tipo de aplicación
  • Seleccionar configuraciones de prueba representativas
  • Identificar las necesidades relacionadas con los datos y los entornos de prueba
  • Identificar las necesidades de herramientas y tecnologías
  • Identificar las necesidades presupuestarias y de recursos
  • Identificar las necesidades relacionadas con el ecosistema de la solución

Esto proporciona la base esencial para elaborar la estrategia y el plan de pruebas de la solución.

Es importante tener en cuenta que la elección del tipo de aplicación afecta a numerosas actividades relacionadas con las pruebas, ya que las soluciones pueden ir desde soluciones web puras hasta bases de código específicas para una plataforma con acceso prácticamente completo a todas las funcionalidades del dispositivo móvil.

A continuación se presentan algunas de las actividades y áreas de prueba que pueden verse especialmente afectadas por esta elección.

Configuraciones de prueba

La elección del tipo de aplicación determina qué parámetros debes priorizar al recopilar estadísticas de uso relevantes y, por tanto, influye de manera decisiva en las configuraciones de prueba recomendadas que se identifican mediante el análisis posterior.

Por ejemplo, recopilar estadísticas sobre las versiones de los navegadores no es relevante para una aplicación nativa, pero sí lo es para las soluciones con diseño responsive, las PWA y, en muchos casos, las aplicaciones híbridas. Del mismo modo, las versiones del sistema operativo y la compatibilidad con tecnologías como NFC y BLE no son relevantes para las soluciones con diseño responsive, pero sí lo son para las aplicaciones nativas y, en cierta medida, también para las PWA y las aplicaciones híbridas que utilizan estas tecnologías.

Distribución y actualización de aplicaciones

Si eliges una aplicación nativa o híbrida, debes conocer los requisitos que debe cumplir para superar los procesos de aprobación de Google y Apple y, posteriormente, verificar que cumple dichos requisitos.

A diferencia de las soluciones web con diseño responsive y las PWA, en las que basta con acceder a una URL en el entorno de pruebas, las soluciones nativas e híbridas requieren la configuración de un sistema de distribución de aplicaciones que también gestione las actualizaciones tanto en los entornos de desarrollo como en los de prueba.

Alcance y metodologías de prueba

Si eliges una solución móvil basada principalmente en tecnologías web, el navegador del dispositivo se encarga de la mayor parte de la implementación de la solución y de su coexistencia con las demás funciones de la plataforma.

Por tanto, puedes centrarte principalmente en la integración de la solución con el resto de su propio ecosistema.

Si eliges una aplicación nativa o híbrida, deberás asegurarte en mucha mayor medida de que la aplicación y sus funcionalidades se integran correctamente con la plataforma correspondiente y con su ecosistema.

También será necesario probar otros aspectos específicos de estos tipos de aplicaciones, como la instalación, la actualización, la desinstalación, los escenarios de red y conectividad, las fugas de memoria, el consumo de batería, las interrupciones, las notificaciones, los gestos y, en algunos casos, la funcionalidad sin conexión.

Para estos fines existen metodologías sólidas de pruebas móviles que quizá abordemos en una futura entrada del blog.