Barra Superior

PMOinformatica.com
La oficina de proyectos de informática
La web sobre gerencia de proyectos de informática, software y tecnología.
Síguenos en:     

miércoles, 19 de agosto de 2015

Aplicaciones para celular: Pruebas de software en 6 pasos

Tal como vimos en un artículo anterior sobre las Tendencias para informática en los años por venir, muchas empresas se están volcando al internet móvil desde aplicaciones para celular en busca de nuevas oportunidades.

El desarrollo de aplicaciones para celular supone nuevos retos, tanto en el área técnica como en el aseguramiento de calidad de software.

Para enfrentar el reto de asegurar la calidad de software de aplicaciones para celular, necesitas desarrollar nuevos métodos y herramientas para este medio de múltiples sistemas operativos, tipos de dispositivos, necesidad de alto desempeño, interacciones con la red de telecomunicaciones, entre otros aspectos.

PMOInformatica presenta 6 pasos de pruebas de software de aplicaciones para celular, abarcando la estrategia y plan de pruebas, identificación de los celulares (dispositivos) a probar, diseño de casos de prueba específicos, configuración del laboratorio de pruebas, Testing en vivo y análisis de los resultados.

Pruebas de software en 6 pasos de aplicaciones para celular

1.- Definir la estrategia y plan de pruebas para móviles

La Estrategia de pruebas describe el enfoque para asegurar la calidad en un ciclo de desarrollo de software, se usa para informar a los gerentes de proyectos, analistas de pruebas y desarrolladores acerca de aspectos clave de las pruebas de software.

Elaborar la estrategia y el plan de pruebas, es la primera actividad que realiza el equipo de pruebas de software en el ciclo de desarrollo e incluye los siguientes aspectos:

  • Alcance.
  • Roles y responsabilidades.
  • Entornos.
  • Herramientas de pruebas.
  • Riesgos y mitigaciones.
  • Cronograma y prioridades.

Una estrategia y plan de pruebas para móviles es muy diferente a una estrategia de computador personal, en especial en lo referente a los entornos (ambientes de prueba), herramientas de pruebas y riesgos y mitigaciones.

Sobre los entornos y herramientas de pruebas, debe considerarse el tipo de aplicación que se está probando, por ejemplo si es de la web móvil, nativa o híbrida. Además, debe definirse el uso de emuladores o dispositivos reales, con los distintos tipos de dispositivos y sistemas operativos.

De hecho, en los sistemas operativos más usados como son iOS para teléfonos iPhone y Android, existen amplia gama de versiones que deben considerarse, y todo esto debe estar descrito en la estrategia y plan de pruebas de software.

El stack tecnológico tiende a diferir mucho entre plataformas de celulares y además debemos considerar escenarios sobre la capacidad de la aplicación para operar cuando no esté conectada, como sincronizará los estados, que sucede con conexiones de bajo desempeño, entre otros aspectos.

Cursos de Software Testing para aplicaciones de celular



Introducción al Mobile Testing
Estrategia, diseño de casos, múltiples dispositivos y herramientas de Testing para móviles.

Aprende a usar herramientas como Xcode, Instruments, Monitor DDMS y Android SDK.

Más cursos >>

Más Información sobre Software Testing

Visita nuestra página de Recursos en Pruebas de Software

2.- Identificar dispositivos

Considerar todas las combinaciones de dispositivos y versiones de los sistemas operativos de teléfonos celulares o tabletas es inviable, ni siquiera con mucho personal y amplio presupuesto.

Por ende, un aspecto crucial al elaborar el plan de pruebas de software de aplicaciones para celular, es limitar el alcance de los dispositivos y sistemas operativos a probar.

¿Interesado en un método para levantar la información y elaborar el plan de pruebas de software?, sígue el enlace: Pruebas de software: 10 pasos para elaborar el plan de pruebas.

Debe buscarse un equilibrio entre la cobertura para asegurar la calidad, recursos materiales y capital humano con que contamos.

Para logarlo, podemos valernos de estadísticas de uso de teléfonos celulares, tanto de fuentes independientes como internas de la empresa o del cliente.

Algunas de esas fuentes externas son:


Valiéndonos de las estadísticas, por ejemplo, si enfocamos las pruebas en dispositivos con Android KitKat y JellyBean cubriríamos el 81% de los usuarios de Android.

Por otro lado, en cuanto a iOS (iPhone y iPad de Apple), si enfocaramos las pruebas de software en la versión iOS8, cubriríamos el 81% de los usuarios de iOS.

Como resultado del paso 2, debemos definir una lista de marcas, modelos y sistemas operativos de teléfonos celulares con los que realizaremos pruebas.

3.- Diseñar casos de prueba específicos


Una vez definida la estrategia y plan de pruebas de software de aplicación para celular, el siguiente paso es el diseño de los casos de prueba, los cuales deberán ser específicos al tipo de dispositivo, versiones de sistemas de celulares y entornos en los que operarán.

Aquí te compartimos una plantilla para el diseño de casos de prueba.

Al diseñar casos de prueba debemos identificar todos los diferentes escenarios que se pueden dar al ejecutar la aplicación. Para aplicaciones móviles debemos contemplar casos de prueba en las siguientes situaciones:

  • Testing de dispositivos:
    • Pruebas en distintos dispositivos y sistemas operativos.
    • Funcionamiento con las limitaciones de distintos navegadores.
    • Dispositivos con pantalla táctil y sin pantalla táctil.
    • Uso de memoria de la aplicación y como funciona ante restricciones de memoria.
    • Consumo de batería de la aplicación.
    • Bloqueo de teclado.
    • Comportamiento de la aplicación al llegar una llamada o mensaje.
  • Testing de usabilidad: Considerar pruebas de facilidad de uso, evaluar que tan intuitiva es la aplicación y probar la aplicación en el teléfono celular usando una sola mano.
  • Deben ser intuitivas pero a la vez funcionales.
  • Testing de desempeño: Mayor exigencia de tiempos de respuesta rápidos por el servidor, pues la conexión a la red de telecomunicaciones ya de por sí puede ser más lenta.
  • Testing de seguridad: Considerar pruebas de penetración, evaluaciones de vulnerabilidad y encriptación.
  • Testing en la red de telecomunicaciones:
    • Cómo funciona la aplicación cuando el teléfono está online.
    • Comportamiento en conexión con red Wi-Fi o de la red de telecomunicaciones. Comportamiento cuando se interrumpe la conexión (propenso a pasar con frecuencia en redes móviles).
  • Localización: El comportamiento de muchas aplicaciones móviles puede depender de la localización del usuario:
    • Si la aplicación tiene distintos idiomas debemos verificar las traducciones.
    • Verificar que el idioma se carga correctamente y que el usuario puede cambiarlo si lo desea.
    • Si los datos o información presentados dependen de la localización, deben incluirse escenarios en las distintas localidades.
Como puedes ver, muchas de las pruebas corresponden con pruebas no funcionales, su definición adecuada es particularmente importante en aplicaciones para celular.

4.- Configurar laboratorio de pruebas

El laboratorio o ambiente de pruebas de software comprende los servidores desde donde funcionará la parte no móvil de la aplicación, así como las distintas herramientas de emulación y dispositivos reales que usaran los Analistas de Software Testing.

La configuración del laboratorio se desarrollará siguiendo la combinación de servidores, computadores personales, emuladores y dispositivos reales definidos en la estrategia y en el plan de pruebas.

Los emuladores proporcionan velocidad y diversidad en la ejecución de las pruebas, al permitirnos verificar diversas condiciones, tipos de dispositivos y sistemas operativos desde un computador personal.

Sin embargo, tienen la desventaja de carecer de ciertas peculiaridades que podrían producir fallas en un ambiente real, además, no son sensibles a los factores ambientales que pueden afectar el comportamiento de los dispositivos.

Por lo tanto la mejor manera de lograr el equilibrio es combinar el uso de dispositivos reales con emuladores.

Al considerar dispositivos reales, necesitamos disponer de un ambiente para probarlos vía Wi-Fi y también vía red de telecomunicaciones. Para este segundo punto podríamos necesitar el apoyo de un operador de telecomunicaciones móviles.

Aquí los aspectos claves que necesitamos para configurar el laboratorio de pruebas para móviles:

  • Servidor Web desde donde se servirá la aplicación. Si es aplicación de Web móvil o híbrida.
  • Si es una aplicación 100% nativa, necesitamos un ambiente probar la instalación de las actualizaciones de versión e información.
  • Computadores personales con los distintos emuladores instalados.
  • Conectividad entre los computadores personales y los servidores de aplicación.
  • Dispositivos reales y versiones de sistemas operativos seleccionados.
  • Conectividad Wi-Fi entre los dispositivos reales y los servidores de aplicación.
  • Conectividad a través de la red de telecomunicaciones (tecnologías 3G, 4G, LTE, etc.).

5.- Testing de dispositivos en vivo

Imagen de: html5rocks.com

Realizamos las pruebas de la aplicación para celular, tanto en emuladores como dispositivos en vivo.

Lo recomendable es comenzar con un primer ciclo de prueba solamente con emuladores, aprovechando la mayor velocidad y diversidad de escenarios que nos pueden proporcionar, identificando los defectos y reportado estos bugs al equipo de desarrollo de software para que sean corregidos.

Con este primer ciclo identificaríamos muchos errores que se nos van a presentar en cualquier escenario, indistintamente del dispositivo o factores ambientales.

Una vez hecho esto, podemos ir añadiendo progresivamente dispositivos reales, validando el comportamiento en un ambiente real. Aquí identificaremos posibles defectos en dispositivos o condiciones ambientales o de la red específicas.

Igualmente con estos ciclos de prueba vamos identificando los defectos y enviando al equipo de desarrollo para su corrección.

6.- Seguimiento y análisis detallado de los resultados

En la medida en que ejecutamos las pruebas, iremos reportando los defectos al equipo de desarrollo para su corrección, lo que implica realizar diagnóstico, evaluar las incidencias y como afectan el comportamiento.

Asimismo, se va reportando a los interesados de proyecto el avance de las pruebas y estatus de defectos, para lo cual puedes usar este Modelo de reporte de avance en pruebas de software.

Una vez que se ha logrado depurar la aplicación para celulares de defectos por debajo de cierto nivel, se puede realizar una entrega para realizar la certificación final.

Si estamos desarrollando una aplicación para un tercero, esto implicará pruebas de aceptación por el cliente, mientras que si estamos lanzando una App al mercado, la enviaremos para su revisión por la función de gerencia de producto y luego a las tiendas (App Store para Apple y Google Play para Android) para su evaluación.

Bien, hasta aquí las pruebas de software de aplicación para celulares en 6 pasos, para más información sobre el tema te sugerimos nuestra página de desarrollo de software y tecnología.

¿Y qué opinas tú?

¿Estas desarrollando o probando una aplicación para celular nativa o web? ¿Cuáles son los aspectos centrales de tu estrategia de pruebas de aplicaciones para celular? Te invitamos a dejarnos comentarios en la Web de La Oficina de Proyectos de Informática (pmoinformatica) (Si lo deseas, puedes firmar tu comentario con la dirección de tu web).

¿Buscas más información de gerencia informática?

¿Quieres obtener completamente gratis y directamente en tu correo electrónico plantillas, artículos y otros recursos de gerencia informática?, entonces presiona "suscríbete" a continuación.

Suscríbete a la lista de correo electrónico:


Vía FeedBurner, se abrirá una nueva ventana

También puedes seguirnos vía Twitter, Facebook o Linkedin:

   

Otros artículos sobre software testing

Pruebas de aceptación de software según el ISTQB

> Pruebas de software: 10 pasos para elaborar el plan de pruebas

Modelo de informe de ejecución de pruebas de software

10 herramientas para la gestion de calidad de software

Guía de desarrollo de aplicaciones para Móviles – 3ra Parte: Las Pruebas y Calidad


Referencia

Bhasin, J. Enough is not enough. Test Strategy for Mobile. ThoughtWorks

TestingBaires. El Mobile Testing y las estadísticas

TestingBaires. Mobile Testing: Emuladores y dispositivos reales, cuál elegir

TestingBaires. Mobile Testing: Localización

No hay comentarios :

Publicar un comentario en la entrada

Pmoinformatica.com," La Oficina de Proyectos de Informática ", es un participante en el Programa de Servicios de Amazon Associates LLC, un programa de publicidad de afiliación diseñado para proporcionar un medio para que sitios web puedan ganar honorarios por la publicidad y enlaces a amazon.com y amazon.es.