Una guía completa de pruebas de aplicaciones móviles con tutoriales en profundidad:

La tecnología móvil y los dispositivos inteligentes son la tendencia ahora y cambiarán el futuro del mundo tal y como lo conocemos. Todos podemos dar fe de ello, ¿no? Ahora bien, será de aficionado si enumero para qué usamos estos dispositivos móviles. Todos ustedes lo saben – Tal vez mejor que nosotros.

Vayamos directamente a lo que va a tratar este tutorial.

La Lista Completa de 30+ Tutoriales de Pruebas Móviles:

Introducción a las Pruebas Móviles:

Tutorial #1: Introducción a las Pruebas Móviles
Tutorial #2: Pruebas de Aplicaciones iOS
Tutorial #3: Pruebas de Aplicaciones Android
Tutorial #4: Retos y Soluciones de las Pruebas Móviles
Tutorial #5: ¿Por qué las Pruebas Móviles son Difíciles?

Pruebas de Dispositivos Móviles:

Tutorial #6: Probar una versión de Android cuando se retira del mercado
Tutorial #7: Cómo probar aplicaciones móviles en dispositivos de gama baja
Tutorial #8: Pruebas de campo para aplicaciones móviles
Tutorial #9: Modelo de teléfono vs. Versión del sistema operativo: ¿Qué se debe probar primero?

Pruebas de UI para móviles:

Tutorial #10: Pruebas de UI de aplicaciones móviles
Tutorial #11: Mobile Responsive Test

Servicios de Testing Móvil:

Tutorial #12: Cloud-Based Mobile Application Testing
Tutorial #13: Servicios de Pruebas Móviles
Tutorial #14: Servicios de Pruebas Beta de Aplicaciones Móviles
Tutorial #15: Compañía de Desarrollo de Aplicaciones Móviles
Tutorial #16: Proveedores de Servicios de Pruebas de Aplicaciones Móviles Basadas en la Nube

Pruebas de Rendimiento y Seguridad de Aplicaciones Móviles:

Tutorial #17: Mobile Applications Performance Testing Using BlazeMeter
Tutorial #18: Mobile App Security Testing Guidelines

Mobile Testing Tools:

Tutorial #19: Android App Testing Tools
Tutorial #20: Best Mobile App Security Testing Tools
Tutorial #21: 58 Best Mobile Testing Tools

Mobile Automation Testing:

Tutorial #22: Appium Mobile Automation Tool tutorial
Tutorial #23: Tutorial de Appium Studio
Tutorial #24: Automatización de aplicaciones Android con la herramienta TestComplete
Tutorial #25: Tutorial de Robotium – Herramienta de pruebas de interfaz de usuario de aplicaciones Android
Tutorial #26: Tutorial de Selendroid: Mobile Automation Framework
Tutorial #27: Tutorial de pCloudy: Mobile App Testing on Real Devices
Tutorial #28: Katalon Studio &Tutorial de Kobiton’s Cloud-Based Device Farm

Mobile Testing Career:

Tutorial #29: How to Get a Mobile Testing Job Fast
Tutorial #30: Preguntas de la entrevista de Mobile Testing y currículum
Tutorial #31: Preguntas de la entrevista de Mobile Testing Parte 2

*************************************************************

Comencemos con el 1er tutorial de la serie.

Tutorial #1: Introducción a las Pruebas de Aplicaciones Móviles

Atrás quedaron los días en que el teléfono era un aparato que se sentaba en un rincón y tenía que sonar para llamar nuestra atención o un ordenador era una máquina que sólo usaban unas pocas personas – ahora son una extensión de nuestro ser- una ventana al mundo y sirvientes virtuales que hacen lo que se les dice.

Los ordenadores hicieron furor y cambiaron la forma en que los humanos pensábamos, nos comportábamos, aprendíamos y existíamos.

Hoy en día, las soluciones de movilidad se han apoderado del mercado. La gente no quiere encender sus portátiles/PC para todo, más bien quieren que sus dispositivos de mano realicen todo rápidamente.

De ahí que las soluciones móviles que entregamos a nuestros clientes deben ser probadas muy bien. Este tutorial va dirigido a aquellas personas que ya se dedican a las pruebas móviles o a las que se han pasado a ellas en los últimos tiempos. Como ya tenemos muchos tutoriales sobre las definiciones de las terminologías relacionadas con las pruebas móviles, vamos a tratar directamente con el ámbito de este tutorial.

Este tutorial será tanto una introducción como su guía para las pruebas móviles. Así que, ¡lean!

Tipos de Pruebas Móviles

A grandes rasgos, hay 2 tipos de pruebas que tienen lugar en los dispositivos móviles:

#1. Pruebas de hardware:

El dispositivo incluye los procesadores internos, el hardware interno, los tamaños de pantalla, la resolución, el espacio o la memoria, la cámara, la radio, el Bluetooth, el WIFI, etc. A veces se denomina simplemente «prueba de móviles».

#2. Pruebas de software o aplicaciones:

Se prueban las aplicaciones que funcionan en los dispositivos móviles y su funcionalidad. Se denomina «Pruebas de aplicaciones móviles» para diferenciarlo del método anterior. Incluso en las aplicaciones móviles, hay algunas diferencias básicas que es importante entender:

a) Aplicaciones nativas: Una aplicación nativa se crea para su uso en una plataforma como el móvil y las tabletas.
b) Las aplicaciones web móviles son aplicaciones del lado del servidor para acceder a sitios web en el móvil utilizando diferentes navegadores como Chrome, Firefox mediante la conexión a una red móvil o una red inalámbrica como WIFI.
c) Las aplicaciones híbridas son combinaciones de aplicación nativa y aplicación web. Se ejecutan en dispositivos o fuera de línea y están escritas utilizando tecnologías web como HTML5 y CSS.

Hay algunas diferencias básicas que las diferencian:

  • Las aplicaciones nativas tienen afinidad con una sola plataforma mientras que las aplicaciones web móviles tienen afinidad con varias plataformas.
  • Las aplicaciones nativas están escritas en plataformas como SDKs mientras que las aplicaciones web móviles están escritas con tecnologías web como HTML, CSS, asp.net, Java, PHP.
  • Para una aplicación nativa, se requiere instalación pero para las aplicaciones web móviles, no se requiere instalación.
  • Una app nativa se puede actualizar desde la play store o app store mientras que las apps web móviles son de actualización centralizada.
  • Muchas apps nativas no requieren conexión a Internet pero para las apps web móviles, es imprescindible.
  • La app nativa funciona más rápido en comparación con las apps web móviles.
  • Las aplicaciones nativas se instalan desde tiendas de aplicaciones como Google play store o app store mientras que las web móviles son sitios web y sólo son accesibles a través de Internet.

El resto del artículo va a tratar sobre las pruebas de aplicaciones móviles.

La importancia de la prueba de aplicaciones móviles

La prueba de aplicaciones en dispositivos móviles es más desafiante que la prueba de aplicaciones web en el escritorio debido a

  • La diferente gama de dispositivos móviles con diferentes tamaños de pantalla y configuraciones de hardware como un teclado duro, teclado virtual (pantalla táctil) y trackball, etc.
  • Amplia variedad de dispositivos móviles como HTC, Samsung, Apple y Nokia.
  • Diferentes sistemas operativos móviles como Android, Symbian, Windows, Blackberry e IOS.
  • Diferentes versiones del sistema operativo como iOS 5.x, iOS 6.x, BB5.x, BB6.x etc.
  • Diferentes operadores de redes móviles como GSM y CDMA.
  • Actualizaciones frecuentes – (como Android- 4.2, 4.3, 4.4, iOS-5.x, 6.x) – con cada actualización se recomienda un nuevo ciclo de pruebas para asegurarse de que ninguna funcionalidad de la aplicación se ve afectada.

Como con cualquier aplicación, las pruebas de aplicaciones móviles también son muy importantes, ya que la clientela suele ser millonaria para un determinado producto – y un producto con errores nunca es apreciado. A menudo resulta en pérdidas monetarias, problemas legales y daños irreparables a la imagen de marca.

Diferencia básica entre las pruebas de aplicaciones móviles y de escritorio:

Pocos aspectos obvios que diferencian las pruebas de aplicaciones móviles de las de escritorio

  • En el escritorio, la aplicación se prueba en una unidad central de procesamiento. En un dispositivo móvil, la aplicación se prueba en teléfonos como Samsung, Nokia, Apple y HTC.
  • El tamaño de la pantalla del dispositivo móvil es menor que el de un ordenador de sobremesa.
  • Los dispositivos móviles tienen menos memoria que un ordenador de sobremesa.
  • Los móviles utilizan conexiones de red como 2G, 3G, 4G o WIFI, mientras que los ordenadores de sobremesa utilizan conexiones de banda ancha o de acceso telefónico.
  • La herramienta de automatización utilizada para las pruebas de aplicaciones de escritorio podría no funcionar en las aplicaciones móviles.

Tipos de pruebas de aplicaciones móviles:

Para abordar todos los aspectos técnicos anteriores, se realizan los siguientes tipos de pruebas en las aplicaciones móviles.

  • Pruebas de usabilidad- Para asegurarse de que la aplicación móvil es fácil de usar y proporciona una experiencia de usuario satisfactoria a los clientes
  • Pruebas de compatibilidad- Pruebas de la aplicación en diferentes dispositivos móviles, navegadores, tamaños de pantalla y versiones del sistema operativo de acuerdo con los requisitos.
  • Pruebas de interfaz- Pruebas de las opciones de menú, botones, marcadores, historial, ajustes y flujo de navegación de la aplicación.
  • Pruebas de servicios- Pruebas de los servicios de la aplicación en línea y fuera de línea.
  • Pruebas de recursos de bajo nivel: Pruebas de uso de memoria, autoborrado de archivos temporales, problemas de crecimiento de la base de datos local conocidos como pruebas de recursos de bajo nivel.
  • Pruebas de rendimiento- Probar el rendimiento de la aplicación cambiando la conexión de 2G, 3G a WIFI, compartiendo los documentos, el consumo de la batería, etc.
  • Pruebas de funcionamiento- Pruebas de copias de seguridad y plan de recuperación si una batería se cae, o la pérdida de datos mientras se actualiza la aplicación desde una tienda.
  • Pruebas de instalación- Validación de la aplicación instalándola/desinstalándola en los dispositivos.
  • Pruebas de seguridad- Probar una aplicación para validar si el sistema de información protege los datos o no.

Estrategia de pruebas de aplicaciones móviles

La estrategia de pruebas debe asegurarse de que se cumplen todas las directrices de calidad y rendimiento. Algunos consejos en esta área:

1) Selección de los dispositivos – Analizar el mercado y elegir los dispositivos que se utilizan ampliamente. (Esta decisión depende principalmente de los clientes. El cliente o los creadores de la aplicación tienen en cuenta el factor de popularidad de determinados dispositivos, así como las necesidades de marketing de la aplicación, para decidir qué teléfonos se van a utilizar para las pruebas.)

2) Emuladores – El uso de éstos es extremadamente útil en las fases iniciales del desarrollo, ya que permiten una comprobación rápida y eficaz de la aplicación. El emulador es un sistema que ejecuta el software de un entorno a otro entorno sin cambiar el propio software. Duplica las características y funciona en el sistema real.

Tipos de emuladores móviles

  • Emulador de dispositivos- proporcionado por los fabricantes de dispositivos
  • Emulador de navegadores- simula los entornos de los navegadores móviles.
  • Emulador de sistemas operativos- Apple proporciona emuladores para iPhones, Microsoft para Windows Phone y Google Android

Herramienta recomendada

#1) Kobiton

Kobiton es una plataforma de experiencia móvil asequible y altamente flexible basada en la nube que acelera las pruebas y la entrega de aplicaciones nativas, web e híbridas tanto en Android como en iOS utilizando dispositivos reales. Su nueva automatización de pruebas sin scripts ayuda a los equipos sin experiencia en codificación a generar scripts de Appium de estándar abierto con facilidad.

=> Visite el sitio web de Kobiton

Lista de algunos emuladores de dispositivos móviles gratuitos y fáciles de usar

i. Mobile Phone Emulator – Se utiliza para probar teléfonos como iPhone, Blackberry, HTC, Samsung, etc.

ii. MobiReady – Con esto, no sólo podemos probar la aplicación web, también podemos comprobar el código.

iii. Responsivepx – Comprueba las respuestas de las páginas web, la apariencia y la funcionalidad de los sitios web.

iv. Screenfly – Es una herramienta personalizable y se utiliza para probar sitios web bajo diferentes categorías.

3) Después de un nivel satisfactorio de desarrollo se ha completado para la aplicación móvil, usted podría pasar a la prueba en los dispositivos físicos para más escenarios de la vida real basado en las pruebas.

4) Considere la computación en nube basada en las pruebas: La computación en la nube es básicamente la ejecución de dispositivos en múltiples sistemas o redes a través de Internet donde las aplicaciones pueden ser probadas, actualizadas y gestionadas. Para las pruebas, se crea el entorno móvil basado en la web en un simulador para acceder a la aplicación móvil.

Pros:

  • Copia de seguridad y recuperación- La computación en la nube realiza automáticamente una copia de seguridad de sus datos desde una ubicación remota haciendo que la recuperación y la restauración de los datos sea fácil. Además, la capacidad de almacenamiento es ilimitada.
  • Se puede acceder a las nubes desde diferentes dispositivos y en cualquier lugar.
  • La computación en nube es rentable, fácil de usar, mantener y actualizar.
  • Despliegue rápido y veloz.
  • Interfaz basada en la web.
  • Puede ejecutar la misma secuencia de comandos en varios dispositivos en paralelo.

Contra

  • Menos control- Dado que la aplicación se ejecuta en el entorno remoto o de terceros, el usuario tiene un control y un acceso limitados a las funciones.
  • Problemas de conectividad a Internet- La configuración está en Internet. Los problemas de red afectan a la disponibilidad y al funcionamiento.
  • Problemas de seguridad y privacidad- La computación en la nube es una computación en Internet y nada en Internet es completamente seguro, por lo que las posibilidades de pirateo de datos son mayores.

5) Automatización frente a pruebas manuales. Pruebas manuales

  • Si la aplicación contiene una nueva funcionalidad, pruébela manualmente.
  • Si la aplicación requiere ser probada una o dos veces, hágalo manualmente.
  • Automatice los scripts para los casos de prueba de regresión. Si las pruebas de regresión se repiten, las pruebas automatizadas son perfectas para ello.
  • Automatizar las secuencias de comandos para escenarios complejos que consumen mucho tiempo si se ejecutan manualmente.

Hay dos tipos de herramientas de automatización disponibles para probar aplicaciones móviles:

Herramientas de pruebas móviles basadas en objetos: automatización mediante la asignación de elementos en la pantalla del dispositivo en objetos. Este enfoque es independiente del tamaño de la pantalla y se utiliza principalmente para los dispositivos Android.

  • Eg:- Ranorex, jamo solution

Herramientas de pruebas móviles basadas en imágenes- crean scripts de automatización basados en las coordenadas de pantalla de los elementos.

  • Eg:- Sikuli, Egg Plant, RoutineBot

6) La configuración de la red es también la parte necesaria de las pruebas móviles. Es importante validar la aplicación en diferentes redes como 2G, 3G, 4G o WIFI.

Casos de prueba para probar una aplicación móvil

Además de los casos de prueba basados en la funcionalidad, las pruebas de aplicaciones móviles requieren casos de prueba especiales que deben cubrir los siguientes escenarios.

  • Uso de la batería- Es importante hacer un seguimiento del consumo de la batería mientras se ejecuta la aplicación en los dispositivos móviles.
  • La velocidad de la aplicación- el tiempo de respuesta en diferentes dispositivos, con diferentes parámetros de memoria, con diferentes tipos de red, etc.
  • Requisitos de datos – Para la instalación, así como para verificar si el usuario con el plan de datos limitado será capaz de descargarlo.
  • Requerimiento de memoria- de nuevo, para descargar, instalar y ejecutar
  • La funcionalidad de la aplicación- asegúrese de que la aplicación no se bloquea debido a un fallo de la red o cualquier otra cosa.

Descargar algunos casos de prueba de muestra para probar aplicaciones móviles:

=>Descargar casos de prueba de ejemplo de aplicaciones móviles

Actividades y procedimientos típicos en las pruebas de aplicaciones móviles

El alcance de las pruebas depende de un número de requisitos a comprobar o del alcance de los cambios realizados en la aplicación. Si los cambios son pocos, bastará con una ronda de pruebas de cordura. En caso de cambios importantes y/o complejos, se recomienda una regresión completa.

Un ejemplo de proyecto de pruebas de aplicaciones: ILL (International Learn Lab) es una aplicación diseñada para ayudar a los administradores y editores a crear sitios web en colaboración. Utilizando un navegador web, los instructores eligen entre un conjunto de características para crear una clase que cumpla con sus requisitos.

Proceso de pruebas móviles:

Paso #1. Identificar los tipos de pruebas: Como una aplicación de ILL es aplicable para los navegadores, por lo que es obligatorio probar esta aplicación en todos los navegadores soportados utilizando diferentes dispositivos móviles. Tenemos que hacer pruebas de usabilidad, funcionales y de compatibilidad en diferentes navegadores con las combinaciones de casos de prueba manuales y de automatización.

Paso #2. Pruebas manuales y automatizadas: La metodología seguida para este proyecto es ágil con la iteración de dos semanas. Cada dos semanas el equipo de desarrollo libera una nueva compilación para el equipo de pruebas y el equipo de pruebas ejecutará sus casos de prueba en el entorno de control de calidad. El equipo de automatización crea scripts para el conjunto de funcionalidades básicas y ejecuta los scripts que ayudan a determinar si la nueva build es lo suficientemente estable para probarla. El equipo de pruebas manuales probará la nueva funcionalidad.

JIRA se utiliza para la redacción de los criterios de aceptación; el mantenimiento de los casos de prueba y el registro/reverificación de los defectos. Una vez que la iteración termina, la reunión de planificación de la iteración se lleva a cabo donde dev. El equipo, el propietario del producto, el analista de negocios y el equipo de control de calidad discuten lo que fue bien y lo que necesita mejorar.

Paso # 3. Pruebas beta: Una vez que las pruebas de regresión se completa por el equipo de control de calidad, la construcción se mueve en UAT. Las pruebas de aceptación del usuario son realizadas por el cliente. Vuelven a verificar todos los errores para asegurarse de que todos los errores se han solucionado y la aplicación funciona como se espera en todos los navegadores aprobados.

Paso #4. Prueba de rendimiento: El equipo de pruebas de rendimiento prueba el rendimiento de la aplicación web utilizando scripts JMeter y con diferentes cargas en la aplicación.

Paso #5. Prueba del navegador: La aplicación web se prueba en varios navegadores, tanto con diferentes herramientas de simulación como físicamente con dispositivos móviles reales.

Paso #6. Plan de lanzamiento: Después de cada 4 semanas, las pruebas se trasladan a la puesta en escena, donde se realiza una ronda final de pruebas de extremo a extremo en estos dispositivos para asegurarse de que el producto está listo para la producción. Y entonces, ¡se pone en marcha!

*****************************************

Cómo probar aplicaciones móviles en las plataformas Android e iOS

Es muy importante que los probadores que prueban sus aplicaciones en las plataformas iOS y Android conozcan la diferencia entre ambas. iOS y Android tienen muchas diferencias en cuanto al aspecto, las vistas de la aplicación, los estándares de codificación, el rendimiento, etc.

Diferencia básica entre Android y iOS Testing

Puede que hayas pasado por todos los tutoriales, aquí he puesto algunas de las principales diferencias, que a su vez te ayudarán como parte de tus pruebas:

#1) Como tenemos una gran cantidad de dispositivos Android disponibles en el mercado y todos ellos vienen con diferentes resoluciones y tamaños de pantalla, por lo tanto esta es una de las principales diferencias.

Por ejemplo, el tamaño del Samsung S2 es demasiado pequeño en comparación con el Nexus 6. Hay muchas posibilidades de que el diseño de su aplicación se distorsione en uno de los dispositivos. La probabilidad es baja en iOS, ya que sólo hay dispositivos contables disponibles en el mercado y de los que muchos teléfonos tienen resoluciones similares.

Por ejemplo, antes de que el iPhone 6 y superiores llegaran a existir, todas las versiones anteriores sólo tenían el tamaño similar.

#2) Un ejemplo para afirmar el punto anterior es que en Android los desarrolladores deben utilizar imágenes 1x, 2x, 3x, 4x y 5x para soportar las resoluciones de imagen para todos los dispositivos, mientras que iOS utiliza sólo 1x, 2x y 3x. Sin embargo, se convierte en la responsabilidad del probador para asegurar que las imágenes y los otros elementos de la interfaz de usuario se muestran correctamente en todos los dispositivos.

Puede consultar el siguiente diagrama para entender el concepto de resoluciones de imagen:

#3) Como tenemos el mercado inundado de dispositivos Android, el código debe ser escrito de tal manera en la que el rendimiento se mantiene constante. Por lo tanto, es muy probable que su aplicación se comporte de forma lenta en los dispositivos de gama baja.

#4) Otro problema de Android es que las actualizaciones de software no están disponibles para todos los dispositivos a la vez. Los fabricantes de dispositivos deciden cuándo actualizar sus dispositivos. Se convierte en una tarea muy difícil probar todo tanto con el nuevo sistema operativo como con el antiguo.

Además, se convierte en una tarea engorrosa para los desarrolladores modificar su código para soportar ambas versiones.

Por ejemplo, cuando llegó Android 6.0, hubo un cambio importante ya que este sistema operativo comenzó a soportar los permisos a nivel de aplicación. Para aclarar aún más, el usuario podía cambiar los permisos (ubicación, contactos) a nivel de aplicación también.

Ahora el equipo de pruebas tiene la responsabilidad de asegurarse de que mostrar la pantalla de permisos en el lanzamiento de la aplicación en Android 6.0 y superior y no mostrar la pantalla de permisos en las versiones inferiores.

#5) Desde el punto de vista de las pruebas, las pruebas de la compilación de pre-producción (es decir, la versión beta) son diferentes en ambas plataformas. En Android, si un usuario se agrega a la lista de usuarios beta, entonces puede ver la construcción beta actualizada en la Play Store sólo si se inicia la sesión en la tienda de juego con el mismo ID de correo electrónico que se añade como un usuario beta.

Factores clave en las pruebas móviles

He estado trabajando en las pruebas móviles durante los últimos 2 años en ambas plataformas iOS y Android y todos los puntos clave mencionados a continuación en este tutorial son de mi experiencia personal y algunos se derivaron de los problemas encontrados en el proyecto.

Define tu propio alcance de las pruebas

Cada uno tiene su propio estilo de pruebas. Algunos testers sólo se centran en lo que ven desde sus ojos y el resto son apasionados de todo lo que funciona detrás de las escenas de cualquier aplicación móvil.

Si eres un Tester de iOS/Android, te sugeriría que al menos te familiarices con algunas limitaciones comunes/funcionalidades básicas de Android o iOS ya que siempre añade valor a nuestro estilo de pruebas. Sé que las cosas son difíciles de entender sin citar ejemplos.

Dado a continuación son algunos ejemplos:

  • No podemos cambiar los permisos como la cámara, el almacenamiento, etc en el nivel de aplicación en los dispositivos Android que están por debajo de la versión 6.0.1.
  • Para iOS por debajo de la versión 10.0, kit de llamadas no estaba allí. Sólo para resumir en palabras simples, kit de llamada es utilizado por una aplicación de llamada y muestra la vista de pantalla completa cuando un usuario está recibiendo una llamada de las aplicaciones de llamada como WhatsApp, Skype, etc. Mientras que para las versiones de iOS por debajo de 10.0 vemos esas llamadas como un banner de notificación.
  • Muchos de ustedes podrían haber encontrado problemas en Paytm donde su aplicación no está redirigiendo a la página de pago del banco en caso de que desee agregar dinero a su cartera. Creemos que lo anterior es un problema de nuestro banco o del servidor de Paytm pero es sólo que nuestro AndroidSystemWebView no está actualizado. Un poco de conocimiento sobre la programación es siempre útil para usted y para compartir con su equipo.
  • En palabras simples, cada vez que una aplicación está abriendo cualquier página web en ella, entonces AndroidSystemWebView debe ser actualizado.

No limite su Testing

El Testing no debe limitarse a la exploración de la aplicación móvil y el registro de errores. Nosotros, como QA debemos estar al tanto de todas las solicitudes que golpeamos nuestro servidor y la respuesta que obtenemos de él.

Configurar Putty para ver los registros o verificar la lógica de sumo para los registros en función de lo que se está utilizando en su proyecto. No sólo te ayuda a conocer el flujo End-to-End de la aplicación, sino que también te convierte en un mejor tester, ya que ahora tienes más ideas y escenarios.

Razón: Nada viene a este mundo sin ninguna razón. Cualquier afirmación debe tener una razón válida detrás. La razón detrás del análisis de los registros es que muchas excepciones se observan en los registros, pero no muestran ningún impacto en la interfaz de usuario por lo tanto no lo notamos.

Entonces, ¿debemos ignorarlo?

No, no debemos. No tiene ningún impacto en la interfaz de usuario, pero puede ser una preocupación futurista. Podríamos potencialmente ver nuestra aplicación estrellarse si este tipo de excepción sigue arrastrándose. Como hemos mencionado sobre App Crash en la última frase, esto lleva al QA a tener acceso a crashlytics del proyecto.

Crashlytics es una herramienta donde se registran los crash junto con la hora y el modelo de dispositivo.

Ahora la pregunta por aquí es que si el tester ha visto que la app se cuelga entonces ¿por qué necesita molestarse por crashlytics?

La respuesta a esto es bastante interesante. Hay algunos accidentes que pueden no ser visibles en la interfaz de usuario, pero se registran en crashlytics. Podría ser un fallo de memoria o algunas excepciones fatales que pueden impactar en el rendimiento más tarde.

Pruebas entre plataformas

Las pruebas de interacción entre plataformas son muy importantes.

Citando un ejemplo simple, digamos que usted está trabajando en una aplicación de chat como WhatsApp que soporta el envío de imágenes y videos y la aplicación se construye en ambas plataformas iOS y Android(El desarrollo puede o no ir en sincronía)

Asegúrese de probar la comunicación de Android y el iOS, la razón es que es iOS utiliza «Objective C» mientras que la programación de Android está basada en Java y debido a que ambos se construyen en diferentes plataformas a veces las correcciones adicionales deben hacerse en el lado de la aplicación para reconocer las cadenas procedentes de diferentes plataformas de lenguaje.

Mantenga un ojo en el tamaño de su aplicación móvil

Otro consejo importante para los probadores de móviles – Por favor, siga comprobando el tamaño de su aplicación después de cada lanzamiento.

Debemos asegurarnos de que el tamaño de la aplicación no llegue a un punto en el que incluso nosotros, como usuario final, no queramos descargar esta aplicación debido a su gran tamaño.

Prueba de los escenarios de actualización de la aplicación

Para los probadores de móviles, las pruebas de actualización de la aplicación son muy importantes. Asegúrese de que su aplicación no se bloquea en la actualización, ya que el equipo de desarrollo puede haber hecho un desajuste de un número de versión.

La retención de datos también es igualmente importante, ya que cualquier preferencia que el usuario haya guardado en la versión anterior debe conservarse cuando actualice la aplicación.

Por ejemplo, un usuario puede haber guardado los datos de su tarjeta bancaria en aplicaciones como PayTm, etc.

El sistema operativo del dispositivo puede no ser compatible con la aplicación

¿Suena interesante?

Sí, muchos dispositivos pueden no soportar su aplicación. Muchos de ustedes deben saber que los proveedores escriben sus propias envolturas en la parte superior de los EE.UU. y podría ser posible que cualquier consulta SQL de su aplicación no es compatible con el dispositivo y por lo tanto lanza una excepción y puede resultar en ni siquiera el lanzamiento de la aplicación en ese teléfono.

El punto aquí es – Trate de usar su aplicación en sus propios dispositivos, excepto los que se utilizan en la oficina. Es muy posible que veas algunos problemas con tu app.

Prueba de permisos de la app

Lo siguiente en la lista es la prueba de permisos de las apps móviles. Casi una de cada dos aplicaciones pide a sus usuarios acceso a los contactos del teléfono, la cámara, la galería, la ubicación, etc. He visto algunos probadores que cometen un error al no probar las combinaciones adecuadas de estos permisos.

Puedo recordar un ejemplo en tiempo real cuando estábamos probando una aplicación de chat que tenía todas las características de compartir imágenes y archivos de audio. El permiso para el almacenamiento se estableció en NO.

Ahora, cuando un usuario haría clic en la opción de la cámara nunca se abrió hasta que el permiso para el almacenamiento se establece en SÍ. El escenario fue ignorado como Android Marshmallow tenía esta funcionalidad que si el permiso de almacenamiento se establece en NO, la cámara no se puede utilizar para esa aplicación.

El alcance se extiende más allá de lo que hemos discutido en el párrafo anterior. Debemos asegurarnos de que la app no está pidiendo permisos que no se utilizan.

Cualquier usuario final familiarizado con la industria del software puede no descargar la app en la que se piden demasiados permisos. Si usted ha eliminado cualquier característica de su aplicación, a continuación, asegúrese de eliminar la pantalla de permiso para el mismo.

Comparar con aplicaciones similares y populares en el mercado

Moral de la historia – Si alguna vez usted está en una duda, entonces simplemente no concluir por sí mismo. La comparación con otras aplicaciones similares en la misma plataforma puede fortalecer su argumento de que la funcionalidad bajo prueba funcionará o no.

Obtenga una visión general de los criterios de rechazo de construcción de Apple

Por último, la mayoría de ustedes pueden haber llegado a situaciones en las que sus construcciones fueron rechazadas por Apple. Sé que este tema no interesará a la mayor parte de los lectores, pero siempre es bueno conocer las políticas de rechazo de Apple.

Como probadores, nos resulta difícil atender los aspectos técnicos, pero aún así, hay algunos criterios de rechazo que los probadores pueden atender.

Para obtener más información sobre esto, por favor haga clic aquí.

Siempre estar en el pie delantero

Siendo un tester, no dejes que las cosas pasen a tu corte desde el equipo de desarrollo / gerentes. Si te apasiona el testing, entonces «siempre estate en primera línea». Intenta involucrarte en las actividades que tienen lugar mucho antes de que el código llegue a tu cubo para ser probado.

Lo más importante es que sigas mirando JIRA, QC, MTM o cualquiera que se utilice en tu proyecto para todas las últimas actualizaciones de los tickets de los clientes y del Analista de Negocio. Además, esté preparado para compartir sus puntos de vista si requiere modificaciones. Esto se aplica a todos los probadores que están trabajando en varios dominios y plataformas.

Hasta y a menos que no sintamos el producto como propio, nunca debemos dar sugerencias para nuevas mejoras o cambios en la funcionalidad existente.

Mantén tu aplicación en segundo plano durante mucho tiempo (12-24 horas)

Sé que suena raro pero hay mucha lógica detrás de las escenas que todos nosotros no entendemos.

Comparto esto porque he visto que la aplicación se cuelga después de lanzarla, digamos después de unas 14 horas de estado de fondo. La razón podría ser cualquier cosa dependiendo de cómo los desarrolladores han codificado it.

Déjame compartir un ejemplo en tiempo real:

En mi caso token expiración fue la causa detrás de ella. Para una de las aplicaciones de chat si se lanza después de 12-14 horas se atascaría en el banner de conexión y nunca se conectaría hasta que se mate y se vuelva a lanzar. Este tipo de cosas son muy difíciles de atrapar y en cierto modo, hace que las pruebas móviles sean más desafiantes y creativas.

Pruebas de rendimiento de su aplicación

En el mundo móvil, el rendimiento de su aplicación impacta en la medida en que su aplicación está siendo reconocida en todo el mundo. Como equipo de pruebas, se vuelve demasiado importante comprobar la respuesta de tu app y, lo que es más importante, cómo funciona cuando un gran número de usuarios la utilizan todos juntos.

Ejemplo:

Hablemos de PayTm.

Todos habréis pulsado en la opción ADD MONEY de la app de PayTm, que luego muestra el saldo que tienes en tu cartera. Si tenemos en cuenta lo que está pasando detrás de las escenas, entonces es una solicitud que está pasando al servidor con el PayTm UserID y el servidor envía la respuesta con el saldo en su cuenta.

El caso anterior es sólo cuando un usuario ha golpeado el servidor. Tenemos que asegurarnos de que incluso cuando 1000 usuarios golpean el servidor, deben obtener la respuesta bien a tiempo porque la usabilidad del usuario final es nuestro principal objetivo.

Conclusión

Concluiré este tutorial reiterando que las pruebas móviles parecen ser muy fáciles al principio, pero a medida que sigas profundizando entenderás que no es fácil asegurar que cualquier cosa que se desarrolle se ejecutará sin problemas en miles de dispositivos en todo el mundo.

La mayoría de las veces verás las aplicaciones que son compatibles sólo con las últimas versiones del sistema operativo. Sin embargo, se convierte en el deber de los probadores para asegurarse de que no se pierda ningún escenario. Hay muchos otros puntos que deben tenerse en cuenta, pero no los he mencionado en otros tutoriales.

Escenarios como el consumo de la batería, las pruebas de interrupción, las pruebas en diferentes redes (3G, Wi-Fi), las pruebas al cambiar de red, las pruebas de mono de las aplicaciones móviles, etc son útiles cuando se trata de pruebas móviles.

La actitud de los probadores importa mucho cuando se trata del entorno de pruebas real. Hasta que y a menos que ames tu trabajo no te molestarás en hacer las cosas que se mencionan en el tutorial.

He estado en este campo durante unos 6 años y soy muy consciente de que las tareas se vuelven monótonas a veces, pero hay muchas otras cosas que podemos hacer por nuestra cuenta para hacer esas tareas monótonas algo interesante.

Diseñar la estrategia de pruebas correcta, elegir los simuladores móviles adecuados, los dispositivos y las herramientas de pruebas móviles puede asegurar que tengamos una cobertura de pruebas del 100% y ayudarnos a incluir pruebas basadas en la seguridad, la usabilidad, el rendimiento, la funcionalidad y la compatibilidad en nuestras suites de pruebas.

Bueno, este ha sido nuestro esfuerzo para cumplir con las múltiples peticiones de nuestros lectores sobre una guía de pruebas de aplicaciones móviles.

Autores: Gracias a Swapna, Hasnet, y muchos otros expertos en pruebas móviles por ayudarnos a compilar esta serie.

En nuestro próximo artículo, vamos a discutir más en iOS App Testing.

Última actualización: 18 de febrero de 2021

Deja una respuesta

Tu dirección de correo electrónico no será publicada.