Está en la página 1de 11

Informe Técnico 1: Moviles/Wireless Testing.

Rodrigo González, Francisco Mancilla, Fernando Pérez.

Universidad de Valparaíso
{rgonzala, fmancill,fperez}@alumnos.decom-uv.cl

Resumen

Los Testing a Aplicaciones Móviles, comprenden una parte muy importante al proceso de desarrollo. Este
proceso tiene como finalidad asegurar la Robustez, Calidad y Fiabilidad de la Aplicación Integrada a
dispositivos Móviles. Para esto se deben tomar en cuenta limitantes como el ínfimo recurso para realizar
cómputos por parte de los dispositivos y el tipo de aplicaciones que se requiere integrar a estos
dispositivos que pueden ir preinstalados, ser instalables o basa en browser. Además se debe conocer las
tecnologías, herramientas y protocolos para crear dichas aplicaciones, así como sus riesgos, tomando en
cuenta la Usabilidad, Seguridad, Rendimiento, Integración y su Flexibilidad. Usando una variedad de
Testing que nos asegura un mayor rendimiento y automatización.

Palabras clave: Wireless, Aplicaciones Wireless, Simulador, Emulador, Dispositivos Móviles.

1
1 Introducción

La tecnología wireless es más que la red wireless, (entiéndase la conexión a internet a través del aire),
ahora la gente utiliza las tecnologías wireless para llevar a cabo tareas diversas, como por ejemplo, existen
aplicaciones críticas en términos de riesgo, como aplicaciones móviles para permitir a un profesional médico
revisar un Electrocardiograma y otros exámenes para realizar sus diagnósticos en tiempo real utilizando
“Pagers” lo que nosotros conocemos como beepers, también existen Scanners wireless que ayudan a
mantener el registro de los niveles de inventario en los almacenes. La movilidad se refiere a tener los datos,
las aplicaciones y los dispositivos en cualquier lugar. Se han realizado estudios que indican que la venta de
dispositivos móviles ha crecido 30% cada año y que pronto superará a los ordenadores. Actualmente la mitad
de las conexiones a Internet se realizan desde estos aparatos en algunas regiones correspondientes a
economías emergentes.
Testing de aplicaciones móviles se refiere a procedimientos, estándares, simuladores, emuladores,
herramientas que se pueden utilizar para probar y garantizar el correcto funcionamiento de los dispositivos y
las aplicaciones. Garantizar la conectividad, el acceso a los datos.
El primer problema para el desarrollar aplicaciones para dispositivos móviles son los limitados recursos de
cómputos que tienen estos dispositivos.
Otro gran problema es el poco interés que ha tenido hasta ahora el desarrollo de tareas de pruebas para
dispositivos móviles. Este es un gran obstáculo a su crecimiento, más allá de meros prototipos de laboratorio.
En este trabajo nos enfocaremos a investigar estrategias de pruebas para aplicaciones inalámbricas,
independientes de la aplicación y una tecnología especifica.

2
2 Clasificación de Aplicaciones Móviles

Figura 1. Tipos de Aplicaciones Móviles.

2.1 Basadas en Browsers: Son aplicaciones construidas para browsers de móviles, pueden ser accesados
ingresando el URL específico en el browser del móvil. No hay instalación ni actualización implicada en
el proceso.

2.2 Preinstaladas: Son aplicaciones integradas en los dispositivos móviles, aquellas que tienen que lidiar
con la funcionalidad principal del dispositivo y no pueden ser desinstaladas por ningún motivo, la
actualización puede ser automática.

2.3 Instalables: Son aplicaciones cuyos archivos ejecutables pueden ser descargados por direcciones URL,
transferidos por cable USB o recibidos a través de transmisión Bluetooth o Infrarrojos. Pueden ser
actualizadas y desinstaladas en cualquier momento.

3
3 Algunos Tipos de Aplicaciones Wireless

Algunos ejemplos de aplicaciones incluyen:

(1) Dispositivos portátiles: Aplicaciones como control de inventario y envíos.


(2) Pagers: Mensajera instantánea y envío de datos, incluso para aplicaciones como diagnostico médicos.
(3) PDA: Aplicaciones para sincronizar PDAs con notebook o computadores personales, además
aplicaciones para llevar a cabo funciones como por ejemplo el check-in y check-out automatizado en
un hotel.
(4) Peer-to-Peer: Aplicaciones para trabajo y juego en grupo.

4
4 Herramientas y Tecnologías para Aplicaciones Wireless

Para llevar a cabo testing en aplicaciones wireless, necesitamos saber como son desarrollados en términos
de herramientas y tecnologías. Éstas son algunas de las principales:

4.1 Wireless Access Protocol (WAP): Es una iniciativa que fue comenzada por Unwired Planet, Motorola,
Nokia y Ericsson para definir una especificación que permite a los usuarios acceder a la información
instantáneamente vía dispositivos portátiles wireless como los teléfonos móviles, pagers, smartphones y
comunicadores.

4.2 Bluetooth: Una tecnología de radio de corto rango apuntada a simplificar comunicaciones a través de
dispositivos Wireless y entre estos dispositivos y la internet. También apunta a simplificar la
sincronización de los datos entre dispositivos Wireless y otros computadores. Productos con la
tecnología Bluetooth deben pasar el testing de interoperabilidad efectuado por el Bluetooth Special
Interest Group.

4.3 XML (Lenguaje de Marcado Extensible): Es un lenguaje que permite a los diseñadores generar sus
propios tags personalizados, permitiendo la definición, transmisión, validación e interpretación de datos
entre aplicaciones y organizaciones.

4.4 WML (Lenguaje de Marcado Wireless): Es un lenguaje XML utilizado para especificar contenido e
interfaz de usuario para dispositivos WAP. WML es soportado por casi todo browser de teléfono móvil
alrededor del mundo.

Es importante entender que así como las aplicaciones web a menudo son construidas utilizando una
combinación de tecnologías como XML, Java y Java Script, así también lo son las aplicaciones wireless.
La mezcla depende de los objetivos de la aplicación, los objetivos del proyecto y las estrategias de
negocios.

Los desarrolladores de aplicaciones wireless utilizan kits de herramientas provistas por los vendedores de
los dispositivos, como Nokia, Ericsson y Motorola. Estos kits de desarrollo incluyen simuladores que
permiten a los desarrolladores y testers realizar pruebas a aplicaciones wireless en un ambiente controlado.

5
5 Riesgos que Existen para Aplicaciones Móviles.

Un punto de inicio para el testing es examinar los riesgos que existen para las
aplicaciones wireless:

5.1 Usabilidad: Las aplicaciones wireless encojen la interfaz de usuario, por lo que existen dos grandes
preocupaciones en este tema.

 Interfaz: El tamaño de la pantalla de los dispositivos wireless es a menudo muy pequeño.


Esto afecta la capacidad de lectura y de las características que pueda entregar de gran manera.

 Ergonomía: Los dispositivos wireless son compactos y tienen pequeños botones, lo que
implica que puede generar molestias a usuarios con motricidad restringida u otro tipo de
problema relacionado.

5.2 Seguridad: Aunque los protocolos WAP, WEP y otros son diseñados para ser una tecnología segura,
hay una gran diferencia entre la teoría y la práctica cuando se habla de seguridad.

5.3 Rendimiento: Problemas de rendimiento pueden resultar de una variedad de fuentes, incluyendo.

 Lenta Infraestructura: Uno de los desafíos más grandes en cuanto a aplicaciones wireless es
la demanda creciente de ancho de banda. Esta demanda crece diariamente como nuevos
usuarios están entrando en la red, así también los negocios incrementan la cantidad y calidad
de contenido multimedia.

 Cuello de Botella de Clientes: Los problemas de rendimiento pueden remontarse a cuellos de


botella de clientes en aplicaciones WAP, así también en limitaciones del hardware del
dispositivo wireless.

5.4 Integración: Como toda aplicación robusta, sea wireless o no, la integración juega un papel importante
en la habilidad de la aplicación de entregar el resultado correcto y eficiente.

Por ejemplo:
 Sistemas de negocios que deben manejar transacciones generadas por dispositivos wireless.
 Notebooks que deben sincronizarse con PDAs.
 Máquinas Expendedoras que pueden proveer datos de control de inventario a un sistema de
negocio central.
 Unidades portátiles que puedan transmitir datos de inventario o de envíos a un sistema central.

5.5 Flexibilidad: La gente quiere hacer la mayor parte de su inversión en tecnología wireless y están
preocupados de que las aplicaciones puedan volverse obsoletas al poco tiempo, por lo tanto debe ser de
cuidado la facilidad de actualizaciones tanto de hardware como de software, además de la flexibilidad
con variado hardware y sistemas operativos wireless.

6
6 Tipo de Testing para Aplicaciones Móviles.

6.1 Uso de Automatización de Pruebas: El Testing de aplicaciones móviles es realizado tradicionalmente a


través de la ejecución manual de casos de prueba y de la verificación visual de los resultados obtenidos.
Sin embargo, es un proceso extenso y que consume una gran cantidad de tiempo. Automatizar las áreas
apropiadas de la aplicación pueden traer considerables beneficios. Esto se consigue a través de
programas y herramientas capacitadas para llevar a cabo diversas funcionalidades.

 Herramientas de captura y reproducción para GUI (Capture/Playback):


Este tipo de herramientas se centran en la capturar la interacción de un operador con la
aplicación (normalmente se almacena la secuencia de acciones que el operador ha
realizado sobre la GUI), y volcarla a un fichero o soporte similar. Posteriormente,
las secuencias de acciones pueden ser recuperadas y reproducidas sobre el software
real tantas veces como sea necesario.

 Test de Rendimiento: Con el uso de herramientas para pruebas de rendimiento, entre otras
cosas, se puede emular la carga generada por cientos o miles de usuarios en la aplicación sin
requerir la participación de los usuarios finales en sus equipos. Puede repetir fácilmente las
pruebas de carga variando las configuraciones del sistema para alcanzar una aproximación
óptima a los escenarios reales de uso.

Emuladores pueden ser beneficiosos para testear características de las aplicaciones que son independientes
del dispositivo de uso, sin embargo los dispositivos deben ser utilizados para validar los resultados. Los
simuladores sirven para utilizar una representación de un dispositivo determinado para realizar pruebas en él.
Por ejemplo: Simuladores WAP que son entregados por los fabricantes de hardware, como Nokia, Ericsson,
Motorola.
La tecnología Wap tiene importantes ventajas ya que permite acceder a Internet por medio de un
dispositivo que podemos llevar con nosotros a cualquier parte. Un simulador Wap permite experimentar una
consulta en wap sin necesidad de tener un terminal Wap. De esta manera podemos hacernos una idea de cómo
funciona el Wap desde la Web gracias a los simuladores.

7
6.2 Uso de Emuladores/Simuladores y Dispositivos Actuales: Emuladores pueden ser beneficiosos para
testear características de las aplicaciones que son independientes del dispositivo de uso, sin embargo los
dispositivos deben ser utilizados para validar los resultados.

Figura 2. Distintos tipos de Dispositivos Móviles.

 Dispositivos Actuales: Los simuladores son aplicaciones de software que pueden


representar de manera fidedigna un dispositivo móvil.

Figura 3. Dispositivos Moviles con Aplicaciones de hoy en Día.

Por ejemplo: Simuladores WAP que son entregados por los fabricantes de hardware, como Nokia,
Ericsson, Motorola. La tecnología Wap tiene importantes ventajas ya que permite acceder a Internet por
medio de un dispositivo que podemos llevar con nosotros a cualquier parte. Un simulador Wap permite
experimentar una consulta en wap sin necesidad de tener un terminal Wap. De esta manera podemos
hacernos una idea de cómo funciona el Wap desde la Web gracias a los simuladores.

8
6.3 Testing genérico: Pruebas genéricas donde se ponen a prueba características generales de los
dispositivos móviles y su implicancia en el uso de aplicaciones.

Por Ejemplo:

Testing de: Potencia de Red, Velocidad de la Red, Tipos de Red (2G, 3G, Wifi, Planes de Proveedores),
Potencia de la Batería, Consumo de Batería, Uso de Recursos (Memoria), Convivencia con otras
aplicaciones, Manejo de Interrupciones.

Figura 4.Ejemplos de Pruebas de Testing:

 Smoke Test: Es una prueba de Software no-exhaustiva, determinando que las funciones
más críticas de un programa funcione, sin preocuparse de los detalles más finos.

 Critical Path Test: Es una prueba de los flujos de trabajo más críticos de una manera
exhaustiva.

 Sanity Test: Es un breve recorrido por la funcionalidad de una aplicación, para asegurar
que el sistema trabaja como se espera, se utiliza a menudo anterior a una ronda de pruebas
más extensas.

9
 Stress Test: Es una prueba que es utilizada para probar la estabilidad de la aplicación,
implica hacer pruebas por sobre la capacidad operacional, la meta es asegurar que la
aplicación no se bloquea en esas condiciones.

 Load Test: Es una prueba para examinar el tiempo de respuesta de la aplicación en su


ambiente de trabajo normal

 Check links and web Pages: Site Spider: Recorrido que comienza en la Página Principal y
pasa por el sitio completo(excluyendo enlaces externos), chequear status HTTP 2xx, 3xx,
4xx, 5xx, ver fallas graves o estéticas en las páginas (falta de coherencia, etc.).

Figura 5. Lamp-Cam: Aparato para realizar pruebas manuales.

10
7 Conclusiones y Trabajo Futuro.

Investigamos las principales características de los dispositivos móviles y testing genéricos aplicados a ellos.
Sabemos la importancia del testing para asegurar la calidad de las aplicaciones, por lo tanto la planificación
del proceso de testing y la selección de pruebas que se realizaran son pasos fundamentales para el éxito de
este proceso.
En un trabajo futuro podemos investigar frameworks o herramientas de testing en particular, por ejemplo kits
de herramientas de testing para aplicaciones J2ME, iPhon o Windows Mobile. Por ahora sabemos que la
planificación del proceso de testing depende del tipo de aplicación, la plataforma y dispositivos que vamos a
desarrollar.

11

También podría gustarte