Tutorial de prueba de aplicaciones iOS: manual y amp; Automatización

¿Qué son las pruebas de aplicaciones para iOS?

La prueba de aplicaciones de iOS es un proceso de prueba en el que una aplicación de iOS se prueba en dispositivos Apple reales para verificar si funciona como se esperaba o no para acciones específicas del usuario como el tiempo de instalación, la interfaz de usuario, la experiencia del usuario, la apariencia, el comportamiento, la funcionalidad, el tiempo de carga, rendimiento, lista de la App Store, compatibilidad con la versión del sistema operativo, etc.

¿Por qué realizar pruebas de aplicaciones para iOS?

Se requiere la prueba de aplicaciones de iOS porque iOS es la plataforma de Apple para aplicaciones móviles que se lanzó el 29 de junio de 2007. A diferencia de Android, Apple no licencia iOS para la instalación en hardware que no sea de Apple. Las aplicaciones iOS e iOS solo se pueden instalar en dispositivos Apple, por lo tanto, su aplicación iOS debe ser compatible con las versiones iOS y los dispositivos iOS.

Esta es la pregunta común cuando los desarrolladores crean una aplicación para iOS.

No importa cuánto tiempo invierta en el diseño y la implementación, los errores son inevitables y aparecerán errores. Hay algunos errores comunes en la aplicación de iOS. Como se muestra en la siguiente figura.

  1. Fallo de la aplicación

Uno de los problemas más frustrantes, cuando se utilizan dispositivos de Apple, es que una aplicación puede bloquearse con frecuencia durante la ejecución. Muchas veces, la aplicación se bloquea porque hay algunos errores o pérdida de memoria en las aplicaciones.

  1. Incompatibilidades de aplicación

Es posible que su aplicación iOS se ejecute perfectamente en la versión actual de iOS, pero si se actualiza iOS, es posible que no funcione debido a problemas de incompatibilidad.

  1. Vulnerabilidad de seguridad

Una vulnerabilidad de seguridad en iOS permite al pirata informático atacar sus dispositivos iOS y robar su información privada. Hasta ahora, se han descubierto graves vulnerabilidades de seguridad del iPhone en diferentes versiones de iOS.

  1. Pérdidas de memoria

Las pérdidas de memoria son bloques de memoria asignada que el programa ya no usa. Las pérdidas de memoria hacen que su aplicación iOS se bloquee. Son errores y siempre deben corregirse.

En este tutorial, aprenderá:

  • ¿Por qué probar iOS?
  • Prueba de iOS MindMap
  • Lista de comprobación de pruebas de iOS
  • Estrategia de prueba de iOS
  • Pruebas automatizadas
    • Prueba unitaria con OCUnit
    • Pruebas de IU con UIAutomation
  • Prueba manual
    • Prueba exploratoria
    • Prueba de usuario
      • Prueba de concepto
      • Pruebas de usabilidad
      • Prueba beta
      • Pruebas A / B
  • Práctica recomendada para las pruebas de iOS
  • MITOS sobre las pruebas de iOS

Prueba de iOS MindMap

Como se muestra en la figura anterior, iOS Testing MindMap muestra todos los elementos que el evaluador debe considerar al realizar pruebas en iOS.

Lista de comprobación de pruebas de aplicaciones iOS

Esta lista de verificación está diseñada específicamente para probar las características de las aplicaciones móviles de iOS. Obviamente, solo prueba las características genéricas de la aplicación y no la funcionalidad de la misma.

  • Compruebe el tiempo de instalación que tarda la aplicación en el dispositivo. Asegúrese de que la aplicación se instale en un tiempo aceptable.
  • Una vez que la aplicación esté instalada, verifique si la aplicación tiene el icono y el nombre de la aplicación. Además, asegúrese de que tanto el icono como el nombre sean autoexplicativos y reflejen la intención principal de la aplicación.
  • Inicie la aplicación y compruebe si se muestra la pantalla de bienvenida.
  • Compruebe el tiempo de espera de la pantalla de bienvenida y el tiempo que tarda en cargar la pantalla de inicio. La pantalla de inicio de la aplicación debería cargarse en un tiempo aceptable. Si la pantalla de inicio solo tarda más en cargarse, entonces hay más posibilidades de que el usuario salga o incluso desinstale la aplicación. Además, compruebe cómo se cargan los contenidos en la pantalla de inicio.
  • La función principal de la aplicación debería ser evidente de inmediato. Debería hablar por sí mismo.
  • Compruebe si la aplicación admite orientaciones tanto horizontal como vertical. Si es así, verifique la aplicación en ambas orientaciones. La interfaz de usuario de la aplicación debe configurarse en consecuencia.
  • Sin una conexión a Internet, inicie la aplicación. Asegúrese de que la aplicación se comporte según lo diseñado / deseado. Existe la posibilidad de que la aplicación se bloquee al iniciarla o simplemente muestre una pantalla en blanco.
  • Si la aplicación utiliza servicios de ubicación, compruebe si se muestra o no la alerta de permiso de ubicación. Esta alerta se debe solicitar al usuario solo una vez.
  • Si la aplicación envía notificaciones automáticas, compruebe si se muestra o no la alerta de permiso de notificación automática. Esta alerta también se debe solicitar al usuario solo una vez.
  • Inicie la aplicación, ciérrela y reiníciela. Compruebe si la aplicación se comporta según lo diseñado / deseado
  • Cierre la aplicación tocando el botón Inicio del dispositivo y vuelva a abrir la aplicación. Compruebe si la aplicación funciona según lo diseñado / deseado.
  • Una vez instalada, compruebe si la aplicación aparece en la aplicación de configuración del iPhone.
  • Una vez que la aplicación esté activa, verifique si la aplicación se puede encontrar en la "App Store". Habrá una versión del sistema operativo compatible para la aplicación. Por lo tanto, asegúrese de que la aplicación se pueda encontrar en la "App Store" del dispositivo con la versión del sistema operativo compatible. Además, la aplicación no debe aparecer en la "App Store" del dispositivo con versión de sistema operativo no compatible.
  • Compruebe si la aplicación entra en modo de suspensión cuando se ejecuta en segundo plano para evitar que se agote la batería.
  • Si el rendimiento de la aplicación es lento o siempre que se cargan contenidos, verifique si hay un icono de estado de progreso ("Cargando ..."), preferiblemente con un mensaje específico.
  • Busque la aplicación con su nombre en la barra de búsqueda del dispositivo. Compruebe si la aplicación está en la lista
  • Compruebe si la apariencia de los botones que realizan acciones estándar no se modifica en la aplicación (por ejemplo: actualizar, organizar, eliminar, responder, volver, etc.)
  • Compruebe si los botones estándar no se utilizan para otras funciones de las que normalmente se utilizan para

Estrategia de prueba de iOS

La siguiente figura presenta algunos tipos comunes de estrategias de prueba de iOS.

Pruebas automatizadas

Las pruebas automatizadas son las mayores ventajas de las pruebas de iOS. Le permite detectar errores y problemas de rendimiento rápidamente. Los beneficios de las pruebas automatizadas como se muestra a continuación:

  • Las pruebas automatizadas se pueden ejecutar en varios dispositivos, lo que le permite ahorrar tiempo
  • Las pruebas automatizadas pueden apuntar a los SDK. Puede ejecutar la prueba en diferentes versiones de SDK
  • Las pruebas automatizadas aumentan la productividad de las pruebas y ahorran el costo del desarrollo de software.
  • Hay muchos marcos de prueba de código abierto que admiten pruebas automatizadas en iOS

Prueba unitaria con OCUnit

Cuando se lanzó el SDK de iOS original, carecía de capacidades de prueba unitaria. Así que Apple ha recuperado la solución de prueba unitaria OCUnit en la versión 2.2 del SDK de iOS.

OCUnit es un marco de prueba para C-Objective en Mac OS. Las mayores ventajas de un marco OCUnit son la estrecha integración en el entorno de desarrollo XCode como se muestra a continuación.

Algunos de los beneficios de OCUnit se muestran en la siguiente figura.

Pruebas de IU con UIAutomation

UI Automation es una biblioteca de JavaScript proporcionada por Apple Inc, que se puede utilizar para realizar una prueba automatizada en dispositivos reales y en iOS Simulator. Este marco se agrega a iOS SDK4.0. Con UI Automation, puede automatizar la prueba de la aplicación no solo en el simulador sino también en el dispositivo real.

UIAutomation le brinda estos beneficios:

  • Reducir el esfuerzo en las pruebas manuales
  • Use menos su memoria para ejecutar todas sus pruebas
  • Simplifique el procedimiento de prueba de la interfaz de usuario (solo presione uno o tres botones y ejecute todas sus suites de prueba)

El instrumento UIAutomation funciona a partir de scripts escritos en JavaScript. Simula eventos de usuario en la aplicación iOS de destino.

Contras y ventajas de UIAutomation

Pros Contras
1. Buen soporte para gestos y rotaciones. No es de código abierto, menos apoyo del desarrollador.
2. Puede ejecutar pruebas de UIAutomation en el dispositivo, no en el único simulador. No se puede integrar muy bien con otras herramientas
3. Desarrollado por JavaScript, es un lenguaje de programación popular.

La figura anterior representa algunas clases comunes en el marco de UIAutomation.

  • La clase UIAElement es la superclase para todos los elementos de la interfaz de usuario en el contexto de Automation
  • La clase UIATarget representa los elementos de la interfaz de usuario de alto nivel del sistema bajo prueba.
  • La clase UIALogger proporciona información de prueba y error sobre la funcionalidad de recuperación
  • La clase UIAActivityView permite el acceso y el control de las vistas de actividad dentro de su aplicación.
  • La clase UIAActionSheet permite el acceso y el control de las hojas de acción dentro de su aplicación.
  • Acción de evento de usuario
    • Clase UISlider
    • Clase UIAButton
    • Clase UIAKey
    • Clase UIAKeyboard

Otros marcos de prueba automatizados

  • MonkeyTalk: una herramienta para pruebas automatizadas de aplicaciones iOS, Android, HTML5 y Adobe. Es un entorno integrado para administrar y ejecutar conjuntos de pruebas.
  • Frank: marco de prueba de aceptación automatizado para iPhone y iPad
  • KIF: es un marco de prueba de integración de iOS . Permite una fácil automatización de las aplicaciones de iOS al aprovechar los atributos de accesibilidad que el sistema operativo pone a disposición de las personas con discapacidades visuales.

Prueba manual

Prueba exploratoria

Es una prueba sin un plan de prueba formal. La prueba exploratoria es un método de prueba de bajo costo, pero puede pasar por alto los errores potenciales en su aplicación iOS.

Pros y contras de las pruebas exploratorias

Pros Contras
1. Se necesita menos preparación, detecte temprano errores graves. Requiere gran habilidad del probador
2. No es necesario que el plan de prueba acelere la detección de errores. La cobertura de la prueba es baja. No garantiza que se prueben todos sus requisitos.
3. La mayoría de los errores se descubren temprano mediante algún tipo de prueba exploratoria Falta de documentación de prueba

Prueba de usuario

La prueba de usuario es un tipo de prueba manual en iOS. El propósito de esta prueba es crear mejores aplicaciones, no solo aplicaciones libres de errores . La siguiente figura muestra cuatro tipos de pruebas de usuario

Prueba de concepto

Evalúe la respuesta del usuario a la idea de una aplicación antes de lanzarla al mercado. Los procedimientos de prueba de concepto en iOS se describen a continuación

Pruebas de usabilidad

La prueba de usabilidad es una prueba de lo fácil que es usar su aplicación iOS. En las pruebas de iOS, la prueba de usabilidad se puede grabar para recordar o compartir con otros.

Hay algunas herramientas que admiten las pruebas de usabilidad en iOS.

Magitest, una sencilla prueba de usabilidad de iOS para sitios y aplicaciones.

Delight.io, esta herramienta puede capturar la interacción real del usuario en sus aplicaciones de iOS.

Prueba beta

Beta Testing es la prueba de integración con datos reales para obtener comentarios finales de los usuarios. Para distribuir sus aplicaciones para pruebas beta, debe seguir los pasos a continuación.

- Condición previa : si está probando una versión beta de un candidato final para una versión, asegúrese de validar la aplicación antes de distribuirla a los probadores.

- Buscar tester a través del servicio : recopila los ID de dispositivos de los testers y los agrega al Centro de miembros

- Cree una distribución ad-hoc : la distribución ad hoc permite al evaluador ejecutar su aplicación en su dispositivo sin necesidad de Xcode. Este paso incluye 2 subpasos

  • Crea certificados de distribución
  • Crear perfiles de aprovisionamiento ad-hoc

- Solicitar comentarios del probador: el probador realiza pruebas y le envía informes de errores. Una vez que se lanza su aplicación, puede obtener los informes de iTunes Connect.

Pruebas A / B

Las pruebas A / B son una de las formas más poderosas de evaluar la efectividad de su aplicación iOS . Utiliza experimentos aleatorios con dos dispositivos, A y B.

Las pruebas A / B incluyen tres pasos principales

  • Configure una prueba : preparó 2 versiones de su aplicación iOS (A y B) y métrica de prueba
  • Prueba : prueba 2 versiones de aplicaciones iOS anteriores en dispositivos simultáneamente.
  • Analizar : medir y seleccionar una mejor versión para lanzar

Las siguientes herramientas son compatibles con las pruebas A / B en iOS.

  • Arise: pruebas A / B tanto para iOS como para Android. Puede integrarse en su aplicación iOS y hacer que el proceso de prueba sea más rápido.

Mejores prácticas para las pruebas A / B

  • Defina el objetivo de su prueba. Cualquier prueba es inútil sin un objetivo.
  • Observe a los usuarios finales usar su aplicación por primera vez
  • Ejecute una prueba solo por actualización. Le ahorra tiempo al realizar pruebas
  • Supervise su prueba con atención. Puede aprender experiencias de su prueba supervisándola.

Práctica recomendada para las pruebas de iOS

Aquí hay algunos consejos que debe conocer al organizar la prueba de su aplicación iOS

  1. Pruebe la aplicación en un dispositivo real para conocer el rendimiento
  2. Mejore sus métodos de prueba, porque los métodos de prueba tradicionales ya no son suficientes para cubrir todas las pruebas en las pruebas de iOS
  3. Usando el registro de la consola para probar la aplicación iOS. Esta es una función de iOS que incluye información de todas las aplicaciones del dispositivo.
  4. Documente los errores de la aplicación usando el comando corto de pantalla incorporado . Ayuda al desarrollador a comprender cómo ocurren los errores.
  5. Los informes de fallos son herramientas útiles a la hora de probar su aplicación. Pueden detectar fallas y registrar detalles para que pueda investigar los errores fácilmente.

MITOS sobre las pruebas de iOS

Esta sección examina algunos mitos y realidades populares de las pruebas de iOS.

La aplicación de prueba en iOS y Android es lo mismo.

iOS y Android son dos plataformas desarrolladas por Apple Inc y Google. Son totalmente diferentes. Entornos de prueba, marcos de prueba, lenguajes de programación, etc.

La aplicación de prueba en iOS Simulator es suficiente.

iOS Simulator no es lo suficientemente fuerte para probar una aplicación. Porque iOS Simulator tiene algunas limitaciones:

  • Limitaciones de hardware (cámara, entrada de micrófono, sensor)
  • La interfaz de usuario de su aplicación puede parecer que se ejecuta más rápido y sin problemas que en un dispositivo
  • Limitaciones de API
  • Algunos marcos no son compatibles (Media Player, Store Kit, Message UI…)

Todos descargarán mis aplicaciones en la tienda de aplicaciones porque tiene muchas funciones.

Cuantas más funciones tenga su aplicación, más errores podría obtener. Ningún usuario descargará tu aplicación si todavía tiene muchos defectos.

Articulos interesantes...