• Tidak ada hasil yang ditemukan

FRAMEWORK PARA LA GENERACION DE PRUEBAS

N/A
N/A
Protected

Academic year: 2017

Membagikan "FRAMEWORK PARA LA GENERACION DE PRUEBAS"

Copied!
114
0
0

Teks penuh

(1)

UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL DIRECCIÓN DE POSTGRADO

FRAMEWORK PARA LA

GENERACIÓN DE PRUEBAS DE

CAMPO PARA LA EVALUACIÓN DE

USABILIDAD DE APLICACIONES

MÓVILES

Juan Gabriel Enriquez

Tesis para optar por el grado de Magíster en “Informática y Sistemas”

Directora Sandra Isabel Casas

(2)

RESUMEN

La usabilidad es considerada uno de los factores más importantes dentro de la calidad de un producto de software. Por ello, existe gran interés y necesidad de contar con metodologías y herramientas para evaluar la usabilidad de las aplicaciones.

Con la aparición, el uso masivo y el crecimiento de los dispositivos móviles, especialmente los Smartphones, la evaluación de la usabilidad de aplicaciones móviles se constituyó en un tema de investigación. Los métodos y métricas propuestos para evaluar usabilidad fueron desarrollados para aplicaciones de escritorio, los cuales no son directamente aplicables a este tipo de productos.

Este trabajo examina los métodos y las métricas empleados para evaluar usabilidad y analiza los desafíos que existen al momento de realizar pruebas de usabilidad en aplicaciones móviles, donde el contexto que cambia continuamente pasa a tener un rol preponderante y la variabilidad del hardware de los dispositivos móviles es de consideración.

A partir de las carencias identificadas en los métodos y las pruebas de usabilidad existentes, se propone un modelo conceptual basado en una SPL para desarrollar pruebas de campo para la evaluación de usabilidad de aplicaciones móviles que consideren el contexto de uso y la variabilidad de los dispositivos móviles.

(3)

ÍNDICE DE CONTENIDO

INTRODUCCIÓN ……….… 1

Problemas y Objetivos ... 1

Propuesta y Contribuciones ... 3

Metodología ... 4

Estructura ... 4

CAPÍTULO 1: USABILIDAD ………. 6

1.1. Métricas de Usabilidad ... 10

1.2. Modelos de Usabilidad ... 14

1.2.1. ISO 9241-11 ... 15

1.2.2. MUSiC ... 16

1.2.3. SANe ... 17

1.2.4 QUIM ... 17

1.3. Pruebas de Usabilidad ... 18

1.3.1. Métodos Empíricos ... 20

1.3.2. Métodos de Inspección ... 21

1.3.3. El método MUSiC ... 21

1.3.4. Cuestionarios ... 23

CAPÍTULO 2: APLICACIONES MÓVILES ……….. 25

2.1. Desarrollo de Aplicaciones Móviles ... 26

2.2. Aplicaciones Nativas ... 29

2.3. Aplicaciones Web ... 29

2.4. Android ... 30

CAPÍTULO 3: USABILIDAD EN APLICACIONES MÓVILES ……….. 33

3.1. mGQM (mobile Goal Question Metric) ... 34

3.2. Pruebas de Usabilidad en Aplicaciones Móviles ... 38

3.2.1. Pruebas de Laboratorio ... 38

3.2.2. Pruebas de Campo ... 40

3.2.3. Pruebas Remotas ... 41

3.3. Contexto Móvil ... 42

CAPÍTULO 4: SPL + FOP + AOP………..46

4.1. Línea de Productos de Software (SPL) ... 47

4.2. Programación Orientada a Características (FOP) ... 49

(4)

4.2.2 Diagrama de Características ... 53

4.2.3 Configuración y Generación del Producto ... 54

4.3. Programación Orientada a Aspectos (AOP) ... 56

4.3.1 AspectJ ... 58

CAPÍTULO 5: SPL PARA PRUEBAS DE USABILIDAD MÓVIL ………….. 60

5.1. Requerimientos ... 60

5.2. Propuesta ... 61

5.3. Indicadores de Usabilidad. ... 63

5.4. Modelo de Características para la SPL. ... 64

5.5. Indicadores Contextuales. ... 67

CAPÍTULO 6: FUSAM: FRAMEWORK DE USABILIDAD PARA APLICACIONES MÓVIL ……….. 69

6.1. Diseño e Implementación de FUsAM ... 70

6.2. Herramientas de Soporte de FUsAM ... 73

6.3. FUsAM: Estructura y Funcionamiento ... 74

6.3.1. Preparación e Inicio de FUsAM ... 77

6.3.2. Especificación de Tareas... 80

6.3.3. Mapeamiento de Tareas ... 81

6.3.4. Selección de Características ... 83

6.3.5. Datos Recolectados ... 86

CAPÍTULO 7: CASO DE ESTUDIO Y EVALUACIÓN ……… 88

7.1. Caso de Estudio ... 88

7.1. 1. NotePad ... 89

7.1.2. Implementación del Caso ... 89

7.2. Evaluación de la SPL ... 92

7.2.1. Aplicación del Método ... 93

CAPÍTULO 8: CONCLUSIONES ………. 97

8.1. Contribuciones ... 97

8.2. Beneficios y Debilidades de FUsAM ... 98

8.3. Publicaciones ... 99

8.4. Conclusiones ... 100

8.5. Trabajos Futuros... 101

(5)

ÍNDICE DE FIGURAS

Figura 1.1. Framework de Usabilidad (ISO 9241-11). ... 8

Figura 1.2. Modelo de Usabilidad. ... 14

Figura 1.3. Pasos y Herramientas usadas en el método MUSiC. ... 23

Figura 2.1. Dispositivos Móviles ... 25

Figura 2.2. Fragmentación de Aplicaciones. ... 27

Figura 2.3. Arquitectura Android. ... 31

Figura 3.1. Enfoque GQM ... 35

Figura 3.2. Pruebas de Laboratorio ... 39

Figura 3.3. Pruebas de Campo ... 40

Figura 3.4. Pruebas Remotas ... 41

Figura 3.5. Framework de Usabilidad ... 43

Figura 4.1. Desarrollo de una SPL: Ing. del dominio/Ing. de la Aplicación ... 47

Figura 4.2. Ejemplo de FM ... 51

Figura 4.3. Ejemplo de FD ... 53

Figura 4.4. Generación de Productos ... 54

Figura 4.5. Generación de ejecutable: Enfoque tradicional & AOP ... 57

Figura 5.1. Enfoque Propuesto ... 62

Figura 5.2. Modelo de Características ... 65

Figura 6.1. FUsAM ... 69

Figura 6.2. Diagrama de Aspectos y Clases ... 71

Figura 6.3. Estructura de FUsAM ... 75

Figura 6.4. Especificación de Tareas y generación del aspecto Tareas.aj ... 76

Figura 6.5. Instalación de FeatureIDE y AJDT en Eclipse ... 78

Figura 6.6. Importación de FUsAM a Eclipse ... 78

Figura 6.7. FUsAM en relación con la aplicación móvil a probar (Ej:Note) ... 79

Figura 6.8. Interfaz de FUsAM ... 79

Figura 6.9. Ejemplo de definición de una Tarea... 80

Figura 6.10. Selección de la Característica MetodosApp ... 81

Figura 6.11. Ejemplo de ejecución con MetodosApp.aj ... 83

Figura 6.12. Selección de Características para las Pruebas ... 84

(6)

Figura 6.14. Número de configuraciones válidas que se derivan del modelo ... 86

Figura 7.1. Aplicación NotePad ... 89

ÍNDICE DE TABLAS

Tabla 1.1. Atributos y Entorno de Uso ... 12

Tabla 1.2. Atributos y Métricas Asociadas ... 13

Tabla 5.1. Indicadores de Usabilidad considerados para las pruebas ... 63

Tabla 5.2. Descripción de las Características ... 66

Tabla 7.1. Pruebas Generadas para NotePad ... 90

Tabla 7.2. Usuarios de las Pruebas ... 91

Tabla 7.3. Resumen de los archivos de usabilidad obtenidos en cada prueba ... 92

Tabla 7.4. Modelo de Calidad ... 93

Tabla 7.5. Métricas seleccionadas ... 94

Tabla 7.6. Métrica ratio de activos por Característica ... 94

Tabla 7.7. Métrica cubrimiento funcional de un activo ... 95

Tabla 7.8. Métrica cubrimiento de la variabilidad ... 95

Tabla 7.9. Métrica aplicabilidad acumulativa ... 95

Tabla 7.10. Métrica número de variabilidad en la SPL ... 95

ACRÓNIMOS

AJDT AspectJ Development Tool AOP Aspect Oriented Programming API Application Programming Interface APK Application Package File

CSS Cascading Style Sheets CVs Configuraciones Válidas

DRUM Diagnostic Recorder for Usability Measurement FD Feature Diagram

(7)

FOP Feature Oriented Programming

FUsAM Framework de Usabilidad para Aplicaciones Móvil GPS Global Positioning System

GQM Goal Question Metric

HCI Human-Computer Interaction HTML Hyper Text Markup Language IDE Integrated Development Environment IEC International Electrotechnical Commision IEEE Institute of Electrical and Electronics Engineers ISO International Organization for Standardization JAR Java ARchive

JDK Java Development Kit mGQM mobile Goal Question Metric

MUSiC Metrics for Usability Standards in Computing OO Orientado a Objetos

PE Punto de Entrada

POO Programación Orientada a Objetos

PS Punto de Salida

QUIM Quality in Use Integrated Measurement QUIS Questionnaire for User Interface Satisfaction SANe Skill Acquisition Network

SDK Software Development Kit SMS Short Message Service SPL Software Product Line

SQuaRE Software product Quality Requirements and Evaluation SUMI Software Usability Measurement Inventory

(8)

INTRODUCCIÓN

Problemas y Objetivos

Las aplicaciones móviles son aquellas que fueron desarrolladas para ejecutarse en dispositivos móviles. El término móvil se refiere a poder acceder a los datos, las aplicaciones y los dispositivos desde cualquier lugar. Para desarrollar software de este tipo se tiene que tener en cuenta ciertas restricciones que tiene el hardware de estos dispositivos, como por ejemplo que son de dimensiones reducidas, tienen bajo poder de cómputo, escasa capacidad de almacenamiento, ancho de banda limitado, etc. Algunos ejemplos de aplicaciones móviles son: mapas y navegación, búsqueda, juegos, mensajería, aplicaciones empresariales.

Cuando las aplicaciones son lanzadas al mercado se espera que tengan cierto grado de aceptación entre los usuarios, ese grado va a depender de las características particulares que cada usuario considere importantes. Desde el punto de vista de la Ingeniería de Software, una de las principales características que tiene que tener una aplicación para ser exitosa entre los usuarios es que sea de calidad. Resulta relevante para los desarrolladores de software poder medir esa calidad o realizar pruebas de calidad a las aplicaciones construidas, pero para poder medir se necesita saber qué es lo que hay que medir y cómo medirlo.

La calidad del software es el grado que el software posee de una combinación deseada de atributos, esta combinación de atributos deberá ser claramente especificada. Definir calidad de software para un sistema es equivalente a definir una lista de atributos de calidad del software requeridos para ese sistema (IEEE Std.1061, 1998). Utilizando esta definición se puede afirmar que lo que hay que medir más puntualmente son ciertos atributos del software relacionados a la calidad. Dentro de estos atributos uno de los considerados más importantes es la usabilidad, que indica la facilidad con la que un usuario puede usar una aplicación de software. Por lo tanto resulta de interés poder obtener una medida del grado de usabilidad que tiene una aplicación. No obstante, la usabilidad es en sí misma un atributo altamente subjetivo, relativo y, como consecuencia, es tan difícilmente medible que aventurarse a cuantificarla supone un reto verdaderamente difícil e interesante.

(9)

ciertas características que no tiene un procesador de textos. Esta es la razón del porqué un análisis de los usuarios y sus necesidades es tan importante. La evaluación puede ser realizada en diferentes momentos en el proceso de desarrollo de software. Durante las primeras etapas, las evaluaciones suele hacerse para predecir la usabilidad del producto o para comprobar si el equipo de diseño comprendió los requisitos de los usuarios. Si se realizan en las etapas posteriores al desarrollo, la atención se centra más en la identificación de problemas de usabilidad y en mejorar la interfaz de usuario.

Es significativo tener en cuenta los aspectos relacionados con las tareas en la evaluación de usabilidad. Una tarea es una actividad realizada durante un periodo de tiempo limitado para alcanzar un objetivo. Las tareas tienen diferentes niveles de abstracción, que van desde tareas de alto nivel (como recuperar información sobre proyecciones de películas disponibles en el día de hoy) a tareas de muy bajo nivel (como seleccionar un botón en la pantalla). En ambos casos al evaluar usabilidad se debe considerar las tareas que se pueden o no realizar y el ordenamiento temporal entre las mismas.

La usabilidad no se ha definido de manera consistente a través de los estándares y modelos existentes. La mayoría de estos no cubren todos los aspectos de usabilidad. Tampoco forman parte de las actividades comúnmente realizadas en la Ingeniería de Software actuales, ya que frecuentemente carecen del soporte de herramientas informáticas (Ahmed, Mohammad, Rex & Harkirat, 2006).

Debido a que en los últimos años el uso de dispositivos móviles (teléfonos móviles, reproductores de audio portátil, asistentes personales digitales, navegadores gps, tablets, cámaras digitales, etc.) se ha incrementado de manera considerable, es importante disponer de metodologías y herramientas que permitan realizar estudios de usabilidad específicos para aplicaciones desarrolladas para estos tipos de dispositivos. Este tipo de aplicaciones denominadas aplicaciones móviles son usadas por millones de usuarios, cada uno de estos con diferentes objetivos y niveles de conocimiento.

(10)

Esta tesis se enfoca en considerar los distintos aspectos relacionados con la medición de la usabilidad en general, y particularmente en aplicaciones móviles. Se analizan los métodos y métricas utilizados actualmente en las pruebas de usabilidad de una aplicación e intenta identificar los retos que existen al realizar pruebas de usabilidad en aplicaciones móviles.

Propuesta y Contribuciones

Se propone un modelo conceptual basado en una SPL (Software Product Line) para construir una familia de pruebas haciendo una analogía con la construcción de una familia de productos de software. Los beneficios principales del modelo es la flexibilidad y modularidad de su diseño lo que permite que sea extensible de manera sencilla, otro de los beneficios es la reusabilidad de sus componentes para generar diferentes pruebas.

La familia de pruebas consiste en las distintas variaciones de pruebas de usabilidad que se pueden obtener para una aplicación móvil a partir de un conjunto de características. Estas variaciones están relacionadas según los requisitos del evaluador de las pruebas y según los diferentes dispositivos en donde se van a ejecutar las mismas.

También se presenta FUsAM (Framework de Usabilidad para Aplicaciones Móviles) que implementa el modelo conceptual propuesto, este framework permite generar una familia de pruebas de usabilidad para aplicaciones móviles e integrarlas a las mismas para su posterior ejecución en un emulador o dispositivo móvil. FUsAM gestiona los requisitos del evaluador de las pruebas y la fragmentación de los dispositivos mediante configuración para obtener pruebas personalizadas según la configuración seleccionada por el evaluador. Está orientado a aplicaciones desarrolladas en la plataforma Android sobre un IDE Eclipse.

Las pruebas generadas por FUsAM entran en la categoría de pruebas de campo, son aquellas que capturan los datos de usabilidad en el ambiente real de uso, y poseen las siguientes propiedades:

(11)

2. Son no intrusivas respecto a la aplicación que se prueba. Esto significa que no se debe introducir código en la aplicación para integrar la prueba a la misma.

3. Transparentes para el usuario que utiliza la aplicación. La prueba se incorpora a la aplicación móvil y esta captura los datos de usabilidad en segundo plano, sin necesidad de la intervención por parte del usuario.

Metodología

En este trabajo se han aplicado diversas técnicas de investigación. Como primer paso para construir un adecuado estado del arte de los conceptos que se relacionan tanto al problema (Usabilidad, Métricas, Aplicaciones Móviles), como a la solución (Línea de Productos de Software, Programación Orientada a Características, Programación Orientada a Aspectos) se realizó una recopilación, revisión y selección de la bibliografía relacionada a las áreas de interés en diversas fuentes.

Los resultados obtenidos de la revisión fueron empleados como base para la definición de la SPL y la implementación de FUsAM, puesto que siguen los lineamientos de los enfoques adoptados. Para el diseño de la SPL se empleó el modelado de características y para su implementación se combinó la técnica de Programación Orientada a Características con la Programación Orientada a Aspectos.

Con objeto de evaluar, probar y verificar el correcto funcionamiento de FUsAM se ha desarrollado un caso de estudio generando e integrando una familia de pruebas sobre una aplicación móvil real. Por otro lado, aplicando un método para la evaluación de la calidad de una SPL se evaluó específicamente la característica de mantenibilidad de la SPL definida para FUsAM.

Estructura

Este trabajo está organizado de la siguiente manera: Capítulo 1: Usabilidad.

(12)

Capítulo 2: Aplicaciones Móviles.

Se define que son las aplicaciones móviles, los inconvenientes y las consideraciones que hay que tener en el desarrollo de las mismas, los tipos de aplicaciones y una breve descripción del sistema operativo Android.

Capítulo 3: Usabilidad en Aplicaciones Móviles.

Contiene un análisis de las pruebas de usabilidad que se realizan sobre aplicaciones móviles y las métricas definidas para este tipo de pruebas. Se da una introducción al concepto de contexto móvil.

Capítulo 4: SPL + FOP + AOP.

En este Capítulo se describen los conceptos teóricos relacionados con las SPLs, FOP y AOP. Los beneficios de la combinación de estas metodologías se emplean en el diseño e implementación del framework propuesto.

Capítulo 5: SPL para Pruebas de Usabilidad Móvil.

Se especifica el proceso de diseño de la SPL para generar pruebas de usabilidad móvil. Se definen los indicadores de usabilidad utilizados y el modelo de características que representa la SPL.

Capítulo 6: FUsAM: Framework de Usabilidad para Aplicaciones Móviles.

Se presenta la estructura y la implementación del framework FUsAM, también se describen las herramientas de soporte utilizadas para la construcción del mismo. Se describe el proceso a seguir para la generación de pruebas de usabilidad.

Capítulo 7: Caso de Estudio y Evaluación.

Se desarrolla un caso de estudio mediante la generación e integración de pruebas de usabilidad para una aplicación móvil real. Se realiza una evaluación de calidad de la SPL definida.

Capítulo 8: Conclusiones.

(13)

CAPÍTULO 1

USABILIDAD

La usabilidad en general tiene que ver con la forma en que se usa algún elemento (herramienta, dispositivo electrónico, etc.), es la facilidad con que se usa y si permite hacer lo que se necesita. Particularmente la usabilidad de una aplicación de software se refiere a la facilidad con que los usuarios pueden utilizar la misma para alcanzar un objetivo concreto. Este nivel de usabilidad no puede medirse o ser evaluado directamente, debido a que depende de diferentes factores.

Varios estudios han reportado los beneficios de considerar la usabilidad en el desarrollo de software como por ejemplo en (Landuaer, 1995) y (Mayhew, 1999). Entre los beneficios de disponer de interfaces de usuario usables, se puede mencionar la productividad y el rendimiento humano, disminución de la tasa de errores cometidos por el usuario, la seguridad y la viabilidad comercial. La usabilidad es importante principalmente para aumentar la velocidad y exactitud de las tareas llevadas a cabo por una serie de usuarios de un sistema. El éxito comercial de un producto de software depende de esta propiedad, así como también depende de la actitud de los usuarios. Las actitudes pueden ser influenciadas por factores abstractos tales como la apariencia y cómo el software puede ser personalizado por el usuario (por ejemplo colores, fuentes, comandos).

La usabilidad no se ha definido de forma homogénea, ya sea por los investigadores o por los organismos de normalización. Formalmente, la definición más utilizada o reconocida de usabilidad es la que se expone en la norma ISO 9241-111, en la cual usabilidad se describe como el grado con el que un producto puede ser usado por usuarios específicos para alcanzar objetivos específicos con efectividad, eficiencia y satisfacción, en un contexto de uso especifico (ISO International Standard, 1998). La norma proporciona requisitos y recomendaciones relativas a los atributos de hardware, de software y del entorno, lo cual contribuye a la facilidad de uso, y en relación con los principios ergonómicos subyacentes. Las secciones 3 a 9 tratan de los requisitos y directrices de diseño de hardware, que pueden tener consecuencias para el software. Las Secciones 10 a 17 tratan sobre los atributos de software.

(14)

La Sección 11 de la norma ISO 9241 define como especificar y medir la usabilidad de productos y aquellos factores que tienen un efecto en la misma; también destaca que la usabilidad en terminales con pantalla de visualización es dependiente del contexto de uso y que el nivel de usabilidad alcanzado dependerá de las circunstancias específicas en las que se utiliza el producto. El contexto de uso lo forman los usuarios, las tareas a realizar, el equipamiento (hardware, software y materiales), así como también los entornos físicos y sociales que pueden influir en la facilidad de uso de un producto.

La usabilidad de los productos se puede mejorar mediante la incorporación de características y atributos conocidos para beneficiar a los usuarios en un contexto particular de uso. Con el fin de determinar el nivel de usabilidad logrado, es necesario medir el rendimiento y la satisfacción de los usuarios que trabajan con un producto. Medir la usabilidad es particularmente importante para entender la complejidad de las interacciones entre el usuario, los objetivos, las características de la tarea y los otros elementos del contexto de uso. Un producto puede tener diferentes niveles de usabilidad cuando se utiliza en diferentes contextos.

De la definición de usabilidad en la ISO 9241-11 se puede observar que la misma está relacionada con los atributos de una aplicación o sistema, así como también de su contexto; se entiende por atributo la característica o propiedad de una aplicación de software. En la norma mencionada anteriormente los atributos considerados son los siguientes:

Efectividad: Está relacionada con la precisión y completitud con la que los usuarios utilizan la aplicación para alcanzar objetivos específicos. La calidad de la solución y la tasa de errores son indicadores de efectividad.

Eficiencia: Es la relación entre efectividad y el esfuerzo o los recursos empleados para lograr esta. Indicadores de eficiencia incluyen el tiempo de finalización de tareas y tiempo de aprendizaje. A menor cantidad de esfuerzo o recursos, mayor eficiencia.

(15)

Para poder especificar o medir la usabilidad, es necesario descomponer los atributos y el contexto de uso en componentes medibles y verificables. Las relaciones que existen entre el usuario, el producto, los atributos, el contexto de uso y los objetivos que se quieren lograr se pueden observar en el framework de usabilidad propuesto en la norma citada (Fig. 1.1).

Figura 1.1. Framework de Usabilidad (ISO 9241-11).

Otras definiciones de usabilidad que se pueden encontrar son:

“La capacidad de un producto de software para ser comprendido, aprendido, usado y ser atractivo para el usuario, cuando se utiliza en condiciones específicas” (ISO/IEC 9126-1, 2001).

“La facilidad con la que un usuario puede aprender a operar, preparar entradas e interpretar los resultados de un sistema o componente” (IEEE Std.610.12, 1990).

Un reto con las definiciones de usabilidad es que es muy difícil de precisar cuáles deben ser las características y sus atributos, en particular es debido a la naturaleza de las características y los atributos requeridos que dependen del contexto en que se utiliza el producto.

(16)

de estos atributos variará en función del contexto y de los usuarios finales y sus tareas. Por ejemplo, en un cajero automático, la facilidad de aprendizaje podría ser considerado el atributo principal a evaluar, mientras que en un sistema aeroportuario, la tolerancia y prevención de errores pasa a ser primordial. En muchos casos, sin embargo, los cinco atributos de usabilidad tienden a estar relacionados positivamente en lugar de entrar en conflicto, por este motivo obtener buenos resultados en todos ellos es normalmente un objetivo razonable.

El término atributo de usabilidad es bastante ambiguo, esto genera ciertas diferencias, algunos autores usan diferentes nombres para el mismo atributo, tales como memorabilidad y facilidad de aprendizaje. Existen diferentes opiniones sobre que atributos pueden ser considerados y la manera de combinarlos para componer la usabilidad (Folmer & Bosch, 2004).

Los siguientes son algunos de los atributos utilizados para medir el grado de usabilidad de una aplicación de software:

Facilidad de Aprendizaje: La facilidad con la que los usuarios alcanzan objetivos específicos la primera vez que utilizan la aplicación. La primer experiencia que tienen los usuarios con un nuevo sistema es la de aprender a usarlo.

Memorabilidad: La facilidad para memorizar la forma de utilizar la aplicación y alcanzar objetivos específicos, y la facilidad con que vuelven a utilizar la aplicación después de un tiempo. La curva de aprendizaje debe ser significativamente menor para un usuario que ya utilizó el sistema, que para aquel que lo va a utilizar por primera vez.

Errores: Los errores que comete el usuario al utilizar la aplicación y la gravedad de los mismos. La aplicación debe producir la menor cantidad de errores posibles. Si se producen, es importante que se den a conocer al usuario de forma rápida y clara, además de ofrecer algún mecanismo para recuperarse de ese error.

Contenido: Aspectos relacionados a la distribución del contenido y de los formatos utilizados para mostrar información al usuario.

(17)

Seguridad: Capacidad para alcanzar niveles aceptables de riesgo. Disponibilidad de mecanismos que controlen y protejan la aplicación y los datos almacenados.

Portabilidad: Capacidad de la aplicación de ser transferida de un entorno a otro (diferentes plataformas).

Contexto: Relacionado a los factores o variables del entorno de uso de la aplicación.

A la vez, los atributos de usabilidad, pueden ser clasificados en objetivos y subjetivos (Hornbek, 2006). Los atributos objetivos pueden ser medidos a través de la interacción del usuario con la aplicación, no dependen de la percepción del usuario; en cambio los subjetivos están relacionados con el factor humano, se refiere a la actitud del usuario hacia el uso de la aplicación, está vinculado a las emociones y por lo tanto son más difíciles de medir y cuantificar.

1.1. Métricas de Usabilidad

Debido a que los atributos de una aplicación son conceptos abstractos, estos no pueden ser directamente medidos. Para medirlos se les asocian distintas métricas, por ejemplo, el atributo eficiencia puede ser evaluado mediante la métrica que calcula el tiempo empleado por un usuario en terminar una tarea específica.

Una métrica (medida) es un valor numérico o nominal asignado a características o atributos de un ente computado a partir de un conjunto de datos observables y consistentes con la intuición. Otra posible definición de métrica es una correspondencia o mapeo de un dominio empírico (mundo real) a un mundo formal (matemático). Por lo tanto, una medida es un valor numérico o nominal asignado al atributo de un ente por medio de dicha correspondencia o mapeo (DeMarco, 1986).

Una métrica debe cumplir con ciertas características:  Debe tener características matemáticas deseables.

(18)

 Cada métrica debe validarse empíricamente en una amplia variedad de contextos antes de publicarse o aplicarse en la toma de decisiones.

Una de las clasificaciones para las métricas, es dividirlas en estáticas y dinámicas (Tahir & Ahmad, 2010). Las métricas estáticas son utilizadas para medir las características estáticas de una aplicación, como el tamaño del código o la complejidad del mismo. Las dinámicas permiten medir el comportamiento de la aplicación, como por ejemplo la usabilidad y fiabilidad, las cuales se calculan con la aplicación en ejecución. Cabe aclarar que las métricas no representan un fin por sí mismas, estas revelan datos e información sobre la experiencia personal del usuario cuando hace uso de una aplicación. La información obtenida de las métricas ayuda a realizar un mejor análisis y tomar decisiones más acertadas con respecto a la usabilidad de una aplicación.

Para comprender mejor las prácticas actuales en la medición de usabilidad, se resume un trabajo (Hornbek, 2006) que realiza la revisión de las métricas de usabilidad empleadas en 180 estudios de investigación de la Interacción Humano-Computador (HCI: Human-Computer Interaction). Para obtener una visión general de las métricas empleadas, se las clasifica en tres grupos, eficacia, eficiencia y satisfacción siguiendo la norma ISO 9241-11.

Métricas de Efectividad: Una de las métricas asociadas con efectividad es el número o porcentaje de tareas completadas exitosamente por el usuario. Otra métrica utilizada está relacionada con la exactitud y cuantifica el número de errores cometidos por el usuario durante el proceso de realización de las tareas. La calidad del resultado, es un intento más complejo de medir la efectividad analizando el resultado de las tareas realizadas, se suele utilizar una escala de puntos para calificar la calidad de los mismos. Algunos evaluadores emplean una combinación de estas métricas.

(19)

Métricas de Satisfacción: Los cuestionarios son la forma más empleada para medir la satisfacción de los usuarios, estos se basan en distintos criterios. Algunos incluyen preguntas destinadas a la captura de las actitudes específicas hacia la interfaz, otros capturan la percepción de los usuarios con respecto a los resultados de la interacción. También se utilizan las preferencias de los usuarios para obtener que interfaces o acciones más eligen los mismos al interactuar con una aplicación.

Algunas métricas de usabilidad se orientan a capturar la percepción, actitud o gusto de los usuarios hacia la interfaz, la interacción o la calidad de los resultados; a este tipo de métrica se las llama métricas subjetivas. Otras métricas están relacionadas a las interacciones que no dependen de la percepción del usuario, por el contrario estas medidas pueden obtenerse, discutirse y validarse por medio de evaluadores. A estas últimas, se las llaman métricas de usabilidad objetivas.

Dependiendo de la naturaleza de la aplicación a estimar, en las pruebas se consideran relevantes diferentes atributos. La usabilidad del sistema no es una simple adición del valor de estos atributos, sino que se define para cada sistema como un nivel a alcanzar por cada uno de los atributos especificados para ese sistema. En la Tabla 1.1 se pueden observar distintos atributos utilizados en la medición de usabilidad y el entorno dónde tienen más influencia en la misma. Por ejemplo, el atributo “contenido” es más apropiado considerarlo en la medición de un sitio web que en una aplicación de escritorio; el atributo “contexto” está relacionado a la usabilidad de las aplicaciones móviles, en otros entornos se puede considerar pero este no resulta primordial para la evaluación.

Atributos Aplicaciones de Escritorio Sitios Web Aplicaciones Móviles

Efectividad X X X

Eficiencia X X X

Satisfacción X X X

Facilidad de Aprendizaje X X X

Memorabilidad X X

Errores X X X

Contenido X X

Accesibilidad X

Seguridad X X

Portabilidad X

Contexto X

(20)

La Tabla 1.2 muestra atributos de usabilidad y las métricas comúnmente asociadas a los mismos para poder cuantificarlos.

Atributos Métricas

Efectividad  Tareas resueltas en un tiempo limitado.  Porcentaje total de tareas completadas.

 Porcentaje de usuarios que completan las tareas.  Ratio de éxitos y fracasos.

 Número de veces que los usuarios solicitan la ayuda. Eficiencia  Tiempo empleado en completar una tarea.

 Tiempo transcurrido en cada pantalla.

 Eficiencia relativa en comparación con un usuario experto.  Tiempo productivo.

 Porcentaje o número de errores cometidos. Satisfacción  Nivel de dificultad.

 Agrada o no agrada.  Preferencias.

 Porcentaje de usuarios que recomendarían el producto.

 Proporción de adjetivos positivos o negativos que cada usuario de al producto.

Facilidad de Aprendizaje

 Tiempo usado para terminar una tarea la primera vez.  Cantidad de entrenamiento.

 Curva de aprendizaje.

Memorabilidad  Número de pasos, clicks o páginas usadas para terminar una tarea después de no usar la aplicación por un periodo de tiempo.

Errores  Número de errores.

Contenido  Cantidad de palabras por página.  Cantidad total de imágenes.  Número de páginas. Accesibilidad  Tamaño de letra ajustable.

 Cantidad de imágenes con texto alternativo.

Seguridad  Control de usuario.

 Número de incidentes detectados.  Cantidad de reglas de seguridad.

Portabilidad  Grado con que se desacopla el software del hardware.  Nivel de configuración.

Contexto  Grado de conectividad.

 Ubicación.

(21)

1.2. Modelos de Usabilidad

Diferentes estándares o modelos para cuantificar y evaluar la usabilidad se han propuesto en la HCI y en las comunidades de Ingeniería de Software. Sin embargo, la usabilidad no se ha definido de manera consistente a través de estos estándares y modelos. No definen una guía precisa sobre los atributos, métricas y reglas a utilizar en la medición de usabilidad de una aplicación, tampoco de cómo seleccionar y medir aspectos de la misma. Debido a que los factores relacionados a la usabilidad son diversos, estos estándares y modelos no cubren todos los aspectos de la misma. Tampoco están adecuadamente integrados en las actuales prácticas de la Ingeniería de Software, y por lo general carecen de herramientas informáticas que lo soporten (Ahmed, Mohammad, Rex & Harkirat, 2006).

Una consecuencia de estas deficiencias es que la mayoría de los desarrolladores de software no aplican correctamente un modelo en particular para la evaluación de la usabilidad. Las actuales prácticas suelen ser personalizadas de cada desarrollador, estas opciones pueden no ser óptimas en muchos casos, lo que lleva a que el esfuerzo en medir usabilidad pueda ser desperdiciado por no disponer de un consistente y consolidado modelo. Esto ocurre debido a que existen insuficientes pautas claras acerca de cómo los diversos factores de usabilidad, normas y criterios están relacionados y la forma de medir aspectos específicos de usabilidad en una aplicación de software.

Los modelos de usabilidad esencialmente están formados por la aplicación que se va a evaluar y la interacción que el usuario tiene con esta para alcanzar sus objetivos. La aplicación tiene definidos atributos y métricas asociadas para medir dichos atributos. Estos componentes se encuentran definidos dentro de un cierto contexto de uso (Fig. 1.2).

(22)

1.2.1. ISO 9241-11

Esta norma mencionada anteriormente (ISO International Standard, 1998), explica los beneficios de medir usabilidad en términos de rendimiento (efectividad y eficiencia) y satisfacción del usuario. Estos son medidos por el grado en que los objetivos previstos son alcanzados, los recursos que se han invertido para conseguir esos objetivos, y el grado en que el usuario encuentra aceptable el uso del producto. En la norma se define usabilidad y se explica cómo identificar la información que es necesaria tener en cuenta a la hora de especificar o evaluar la usabilidad de un terminal de pantalla visual. La información necesaria que considera la norma es:

 Una descripción de los objetivos previstos.

 Una descripción de los componentes del contexto de uso, incluyendo los usuarios, las tareas, los equipos y los entornos. Esto puede ser una descripción de un contexto existente, o una especificación de contextos previstos. La descripción del contexto debe ser detallado lo suficiente para que esos aspectos del contexto que pueden tener una influencia significativa en la usabilidad puedan ser reproducidos.

 Los objetivos o valores reales de la efectividad, eficiencia y satisfacción de los contextos previstos.

(23)

El enfoque adoptado en la norma tiene los siguientes beneficios:

 El marco propuesto se puede utilizar para identificar los aspectos de usabilidad y los componentes del contexto de uso que deben tenerse en cuenta al especificar, diseñar o evaluar la usabilidad de un producto.

 El rendimiento y la satisfacción de los usuarios pueden ser usados para medir el grado en que un producto es usable en un contexto particular.

 Las medidas de rendimiento y de satisfacción de los usuarios pueden proporcionar una base para la comparación de usabilidad relativa de productos con diferentes características técnicas que se utilizan en el mismo contexto.

 La usabilidad prevista para un producto se puede definir, documentar y verificar (por ejemplo, como parte de un plan de calidad).

1.2.2. MUSiC

Metrics for Usability Standards in Computing (Macleod, Bowden, Bevan & Curson, 1997), el objetivo principal de este modelo es proporcionar un medio práctico para conseguir datos cuantitativos y datos cualitativos necesarios para dar soporte a la ingeniería de la usabilidad. El modelo contribuye al desarrollo o adaptación de sistemas interactivos, en plazos fijos y con un costo acordado, que cumplan con los criterios especificados para la usabilidad o calidad de uso. El método que describe el modelo ha sido desarrollado y perfeccionado para satisfacer las demandas de las aplicaciones comerciales. Sigue los principios básicos de la ingeniería en usabilidad y testing, que están bien definidos en teoría, pero demasiado ausentes en la práctica. El modelo es soportado por una serie de herramientas que pueden ser elegidas y utilizadas de acuerdo a las necesidades específicas del desarrollo, presupuesto y plazos del proyecto.

(24)

llamado Software Usability Measurement Inventory (SUMI) fue desarrollado para proporcionar medidas de satisfacción global.

1.2.3. SANe

The Skill Acquisition Network (Bösser & Melchior, 1990), es un modelo de análisis de la calidad de uso para dispositivos interactivos. Este enfoque asume un modelo de interacción del usuario que define las tareas del usuario, la dinámica del dispositivo y los procedimientos para la ejecución de tareas de usuario. Específicamente, un modelo de tarea y un modelo de dispositivo se desarrollan simultáneamente y posteriormente son relacionados. A continuación, se simulan los procedimientos de usuario en el modelo tarea-dispositivo generado. Un total de 60 medidas diferentes se describen en este marco, de los cuales 24 se refieren a medidas de calidad. Las puntuaciones de estos últimos se combinan entonces para formar un total de cinco medidas de calidad compuestas, incluyendo: eficiencia, aprendizaje, adaptabilidad, carga cognitiva de trabajo y esfuerzo para la corrección de errores.

1.2.4 QUIM

(25)

En los distintos modelos vistos se observa que existe relativamente poca orientación acerca de cómo aplicar o interpretar el valor de las métricas de usabilidad especificadas. Esta falta de información precisa hace que sea difícil comparar los resultados entre distintos estudios de usabilidad, también hay poca información de cómo seleccionar un conjunto de atributos o métricas de usabilidad, de acuerdo a los objetivos de las pruebas o a las características del software a evaluar. Estos problemas podrían ser mejor abordados si se contara con un buen soporte de herramientas informáticas para el uso de las personas responsables de implementar y realizar la evaluación de usabilidad. Por otro lado, no siempre está claro cómo los factores de usabilidad, criterios y parámetros definidos en varios estándares o modelos están relacionados o si considerar un conjunto de métricas pueden ser más ventajosas que otras.

Para que las pruebas de usabilidad se inserten en las prácticas comunes de los desarrolladores de software es necesario disponer de un modelo de usabilidad unificado y consolidado. Un modelo consolidado debe ser flexible y lo suficientemente genérico para ayudar a los evaluadores que no están familiarizados con las métricas de usabilidad a implementar pruebas para diferentes tipos de aplicaciones. También es importante que un modelo de usabilidad consolidado proporcione directrices para la interpretación de los datos recolectados de las pruebas. Esta característica es esencial para permitir que personas que no son evaluadores, tales como desarrolladores o diseñadores, puedan tomar decisiones basándose en estas directrices. Esta guía puede ayudar a evitar el problema que se produce cuando se recogen datos de múltiples métricas de usabilidad, pero los desarrolladores no están realmente seguros de lo que significan esos valores o el grado de influencia que pueden tener en la usabilidad de la aplicación evaluada.

1.3. Pruebas de Usabilidad

(26)

primeras etapas de diseño. Cada una tiene sus propios requerimientos y generalmente diferentes técnicas cubren diferentes problemas de usabilidad.

Las cuatro formas básicas de evaluación son: automática (se calculan las métricas mediante la ejecución de la aplicación), empírica (la usabilidad es evaluada testeando la aplicación con usuarios reales), formal (usando modelos formales y fórmulas para el cálculo de medidas de usabilidad), e informal (basados en reglas generales y la habilidad y experiencia de los evaluadores). Este proceso de evaluación implica varias actividades en función del método empleado, las actividades comunes que incluyen son: preparación, captura o recolección y análisis (Ivory & Hearst, 2001).

Preparación: La etapa de preparación, consiste en configurar la aplicación o el prototipo para habilitar el registro de los datos necesarios para la evaluación.

Captura: En esta etapa se realiza la recolección de los datos de usabilidad, tales como el tiempo de terminación de una tarea, errores, valores subjetivos, etc.

Análisis: Interpretar los datos recolectados para identificar problemas de usabilidad y sugerir soluciones o mejoras para mitigar los problemas encontrados.

Las pruebas de usabilidad se pueden realizar en diferentes etapas del desarrollo del software. Algunas técnicas de evaluación, sólo se pueden aplicar cuando existe un prototipo de la aplicación, mientras que otras se pueden aplicar a principios de la etapa de diseño. Cada técnica tiene sus propios requerimientos y generalmente diferentes técnicas descubren diferentes problemas.

Los beneficios que se obtienen al realizar pruebas de usabilidad a las aplicaciones son los siguientes:

 Mejorar el diseño del producto de software mediante la información obtenida de la retroalimentación.

 Reducir los costos de desarrollo, al disminuir el número de cambios posteriores requeridos.

(27)

el esfuerzo y mejoran la productividad y la calidad de las acciones.

 Mejorar la calidad del producto: productos de mayor calidad de uso, son más competitivos en un mercado que demanda productos de fácil uso.

Como se mencionó, existen diversas alternativas que permiten evaluar usabilidad. A continuación se describen las características principales de los métodos de evaluación de usabilidad más reconocidos: métodos empíricos, métodos de inspección, el método MUSiC y los cuestionarios.

1.3.1. Métodos Empíricos

Este tipo de pruebas se desarrollan en laboratorios que intentan simular las condiciones reales bajo las cuales se usa la aplicación. Se solicita al usuario que realice tareas previamente definidas, relacionadas con la funcionalidad de la aplicación. La interacción del usuario con la aplicación es evaluada para detectar los problemas que experimentó el usuario con el uso de la misma.

Para realizar la evaluación se necesita analizar la información de usabilidad que se desprende de la interacción. Para capturar esa información, por un lado están las métricas que se van obteniendo en tiempo real al interactuar el usuario con la aplicación. Por otro lado, se puede registrar la forma de realizar las tareas por parte del usuario mediante una grabación de video y de audio; también se pueden efectuar entrevistas o cuestionarios.

(28)

1.3.2. Métodos de Inspección

Inspección de usabilidad es el nombre genérico para un conjunto de formas rentables de evaluación de las interfaces de usuario para encontrar problemas de usabilidad, son muy informales y fáciles de usar.

Este método consiste en formar un grupo de expertos en usabilidad que analizan o inspeccionan la aplicación considerada. Estos realizan un informe comentando sobre distintos aspectos de usabilidad de la aplicación, basándose en su experiencia en el área. Este informe es utilizado para realizar los cambios o ajustes necesarios en la aplicación, para resolver los problemas indicados. Dos de los métodos más utilizados de este tipo son: evaluación heurística y recorrido cognitivo (Chang & Dillon, 2006).

Evaluación heurística: Un grupo de evaluadores inspecciona el diseño de la interfaz basándose en un conjunto de heurísticas de usabilidad (principios de usabilidad establecidos). La evaluación heurística es fácil de realizar, económica y capaz de encontrar varios problemas de usabilidad. Sin embargo, puede no encontrar problemas específicos del dominio. Es por eso que el uso de heurísticas apropiadas es muy significativo.

Recorrido cognitivo: Se utiliza una descripción de la interfaz de usuario, un conjunto de escenarios de trabajo y las acciones específicas que el usuario debe realizar para cumplir las tareas. Los inspectores examinan y analizan cada paso en la secuencia de acciones definidas, documentando los problemas encontrados.

1.3.3. El método MUSiC

(29)

La salida básica del método son medidas relacionadas a la efectividad y la eficiencia. También se pueden generar las siguientes salidas opcionales: eficiencia relativa del usuario (indicador de facilidad de aprendizaje), periodo productivo (proporción de tiempo sin tener problemas en el uso) y tiempo empleado en resolver problemas, en búsquedas de ayuda o en navegación no productivas o a través del sistema.

El uso principal del método es formar parte integral de un proceso de desarrollo basado en prototipos y mejoramiento iterativo. Esto significa que las pruebas de usabilidad deben ejecutarse desde las etapas tempranas del desarrollo hasta la entrega final.

La Figura 1.3 resume la secuencia de pasos requeridos por el método para evaluar usabilidad y obtener las correspondientes medidas. La columna de la derecha muestra las herramientas que proveen el método, las guías y soporte para cada paso. Los pasos 4 a 7 se pueden repetir dentro del proceso.

Para que las evaluaciones se puedan ejecutar sin problemas y eficientemente, es conveniente realizarlas en laboratorios de usabilidad. Como alternativa, los datos pueden ser capturados en el lugar de trabajo, si por ejemplo, los factores claves en un sistema de información o su entorno ambiental no pueden ser adecuadamente replicados en un laboratorio.

(30)
[image:30.612.164.441.74.332.2]

Figura 1.3. Pasos y Herramientas usadas en el método MUSiC.

1.3.4. Cuestionarios

(31)

QUIS (Questionnaire for User Interface Satisfaction) (Chin, Diehl & Norman, 1988) (QUIS, s.f.): Es una técnica de valoración subjetiva enfocada a medir el grado de satisfacción de los usuarios mientras interactúan con la interfaz. El cuestionario fue desarrollado a finales de los años 80 pero está sujeto a una constante renovación para adaptarlo a los tiempos actuales tan cambiantes. El cuestionario, orientado por los aspectos de la interfaz del usuario, consta de 5 secciones, la primera valora las reacciones del usuario mientras utiliza el sistema. Las secciones restantes valoran la pantalla, la terminología, y el sistema de información, de aprendizaje y las capacidades del sistema.

(32)

CAPÍTULO 2

APLICACIONES MÓVILES

Las tecnologías móviles y su continuo avance han generado una nueva generación de aplicaciones, estas son las denominadas “aplicaciones móviles”. Se considera aplicación móvil, a aquel software desarrollado para dispositivos móviles. Con móvil se hace referencia a poder acceder desde cualquier lugar y momento a los datos, las aplicaciones y los dispositivos. Un dispositivo móvil describe un amplio rango de aparatos electrónicos que surgieron en los últimos años, de tamaño reducido, que ofrecen capacidad de procesamiento y almacenamiento de datos y están orientados a realizar una función específica o varias de ellas. Algunos de estos dispositivos se pueden observar en la Figura 2.1.

[image:32.612.165.450.513.656.2]

Las aplicaciones móviles se desarrollan teniendo en cuenta las limitaciones de los propios dispositivos, como el bajo poder de cómputo, la escasa capacidad de almacenamiento, ancho de banda limitado, conexión permanente o intermitente a una red, etc. Los dispositivos móviles son suficientemente livianos como para ser transportados por personas y disponen de la capacidad de batería adecuada para funcionar de forma autónoma. Estos dispositivos están dominados por diferentes plataformas tecnológicas, incluyendo diferentes sistemas operativos. Cada uno tiene sus particularidades en cuanto al manejo por parte del usuario, como así también al momento de desarrollar una aplicación. Los sistemas operativos para móviles son mucho más simples que los de una computadora y están más orientados a la conectividad inalámbrica.

(33)

Estos dispositivos cuentan con un sistema operativo de mayor o menor complejidad que es el responsable de realizar las tareas de gestión de memoria y control de hardware. El sistema operativo destinado a ejecutarse en un dispositivo móvil necesita ser fiable y tener una gran estabilidad, ya que incidencias habituales y toleradas en computadoras personales como reinicios o caídas no tienen lugar en un dispositivo de estas características. Uno de los sistemas operativos móviles más utilizado en la actualidad es Android, es de libre distribución e inicialmente fue desarrollado por Android Inc., empresa que Google respaldó económicamente y posteriormente compró en el 2005.

Otro punto a destacar de las aplicaciones móviles actuales es que pueden aprovechar mucho más el contexto en el que se están ejecutando, principalmente si se las compara con aplicaciones tradicionales. Esto se debe a diferentes factores, entre los que se encuentran las nuevas capacidades de los dispositivos. La capacidad de acceder a la información que el propio dispositivo tiene del usuario (incorporando, de esta manera, las aptitudes o relaciones sociales del mismo) y la capacidad de obtener información del entorno en el momento preciso en que el usuario interactúa con la aplicación móvil, esto se logra mediante los sensores incorporados en los dispositivos móviles.

2.1. Desarrollo de Aplicaciones Móviles

El desarrollo de software para dispositivos móviles se volvió muy popular en los últimos años. Hay una gran variedad de dispositivos en el mercado, cada uno tiene diferentes propiedades en términos de capacidad de memoria, tamaño de pantalla, soporte para audio y video, protocolos de red y sensores de ambiente. Las plataformas de software para estos dispositivos también varían, existen diferentes sistemas operativos.

Para el desarrollador de aplicaciones móviles, la variedad de plataformas y hardware de los dispositivos significa un gran esfuerzo y tiempo destinado a programar aplicaciones que puedan ejecutarse en todos o en la mayoría de los mismos, además de generar un gran número de configuraciones que necesitan ser soportadas.

(34)

control de las diferentes capacidades de los dispositivos. Estas dificultades en gran medida se deben a la fragmentación que existe entre los diferentes entornos de ejecución de las aplicaciones.

[image:34.612.172.441.283.437.2]

La fragmentación es una situación, o el conjunto de condicionantes de una situación, en la que no es posible compartir una misma aplicación entre diferentes entornos o escenarios de uso. Esta situación puede ocurrir por varios factores: hardware diferente, plataforma diferente, diferencias en las implementaciones, variaciones de las funcionalidades, preferencias de usuario o diversidad del entorno. Para cada caso de fragmentación o escenario se realiza todo un desarrollo de la aplicación móvil o se deriva del mismo a un nuevo escenario (Fig. 2.2).

Figura 2.2. Fragmentación de Aplicaciones.

La derivación es una estrategia comúnmente utilizada en el desarrollo de aplicaciones móviles. Según esta estrategia, una parte de la aplicación es común a todos los escenarios, y para cada uno de ellos se puede definir la parte específica correspondiente. Existen diversas variantes de esta estrategia, en función de cómo se realiza la derivación a los diferentes escenarios. Estas derivaciones efectúan los cambios específicos de cada escenario para que todos funcionen de la misma manera.

(35)

 Distintas velocidades y características de la red. Al ser dispositivos móviles atravesarán distintas redes.

 Errores de red. La falta de una red de datos disponible es muy probable, en estos casos la aplicación debe tener un modo fuera de línea.

 Variación del rendimiento de la plataforma de hardware. Lo ideal es que la aplicación esté disponible para tantos dispositivos como sea posible. Esto significa soportar diferentes dispositivos y diferentes plataformas.

 Distintos tamaños y resoluciones de pantallas. Los diferentes dispositivos cuentan con diferentes pantallas con distintas funcionalidades.

 Difícil de probar las aplicaciones por completo. Dada la variedad de dispositivos, se torna difícil probar todos los dispositivos actuales y los nuevos que ingresan al mercado.

Las aplicaciones de este tipo tienen que manejar ciertos requerimientos (Wasserman, 2010):

 Potencial interacción con otras aplicaciones.

 Manejo de sensores como por ejemplo el acelerómetro para responder a movimientos del dispositivo o pantalla táctil para responder a gestos.

 Seguridad en la aplicación. Numerosos dispositivos utilizan software embebido, por lo tanto son cerrados y no resulta sencillo invadir el software incorporado. En cambio las plataformas móviles son abiertas, lo que permite instalación de software malicioso que puede afectar el funcionamiento general del dispositivo.

 Bajo consumo de energía. Muchos aspectos de una aplicación afectan el consumo de energía, con esto se ve afectada la capacidad de la batería, es decir la vida útil del dispositivo.

(36)

2.2. Aplicaciones Nativas

Las aplicaciones nativas son desarrolladas específicamente para un tipo de dispositivo y su sistema operativo, se basan en la instalación de código ejecutable en el dispositivo del usuario. Estas tienen las siguientes ventajas:

 Acceso al contexto de uso mediante el hardware del dispositivo móvil, con todas las posibilidades que eso conlleva.

 Posibilidad de gestionar eventos de la aplicación o en las capacidades del dispositivo. Desde saber si tenemos conexión de datos o conexión de localización hasta tener información sobre la batería.

 Son relativamente fáciles de desarrollar si solo se contempla una plataforma.  Acceso a las funciones del dispositivo, como: almacenamiento, GPS (sistema de

posicionamiento global), SMS (servicio de mensajes cortos), mails, etc.

Existen repositorios de los cuales se pueden descargar e instalar este tipo de aplicaciones, según el sistema operativo. El principal inconveniente de estas aplicaciones es que se deben desarrollar para cada plataforma y por lo tanto incrementa el tiempo de desarrollo, costo y esfuerzo. Portar aplicaciones de este tipo complica el desarrollo debido a los problemas de fragmentación. Estas aplicaciones son las que mayor potencial tienen, debido a que aprovechan al máximo los dispositivos y consiguen, de esa manera, una mejor experiencia de usuario.

2.3. Aplicaciones Web

(37)

Las ventajas que tiene desarrollar aplicaciones móviles Web son las siguientes:  Fáciles de implementar y de integrar con aplicaciones existentes.

 Necesitan menos requerimientos del hardware de los dispositivos móviles.  Uso de estándares de la web, claramente definidos.

 Desarrollo, distribución y pruebas sencillas.

El principal problema que tienen estas aplicaciones es que no pueden acceder a las funcionalidades propias del dispositivo, no se puede acceder al hardware del mismo. Por ejemplo, una aplicación web no puede emplear la cámara de un Smartphone, en el caso que la tuviera, para capturar imágenes o realizar una filmación.

2.4. Android

Android está basado en el kernel de Linux, un núcleo de sistema operativo libre, gratuito y multiplataforma, diseñado principalmente para dispositivos móviles con pantalla táctil. Todas las aplicaciones para Android se programan en lenguaje Java y son ejecutadas en una máquina virtual especialmente diseñada para esta plataforma denominada Dalvik. El sistema operativo proporciona todas las interfaces necesarias para desarrollar aplicaciones que accedan a las funciones del teléfono (como el GPS, las llamadas, la agenda, etc.) de una forma muy sencilla.

La arquitectura de Android (Fig. 2.3) está formada por capas de software donde cada una puede utilizar los servicios de la capa inferior. En la capa inferior se encuentra el conjunto de drivers necesarios para que cualquier componente hardware pueda ser utilizado mediante las llamadas correspondientes, esta capa no es pública. Siempre que un fabricante incluya un nuevo elemento de hardware, lo primero que se debe realizar para que pueda ser utilizado desde Android es crear las librerías de control o drivers necesarios dentro de este kernel de Linux embebido en el propio Android.

(38)

El último nivel del diseño arquitectónico de Android son las aplicaciones. Éste nivel incluye tanto las incluidas por defecto de Android como aquellas que el usuario vaya añadiendo posteriormente, ya sean de terceras empresas o de su propio desarrollo. Todas estas aplicaciones utilizan los servicios, las API y librerías de los niveles anteriores.

Las principales características de Android son:

 Busca el desarrollo rápido de aplicaciones, que sean reutilizables y verdaderamente portables entre diferentes dispositivos.

 Cuenta con su propia máquina virtual, Dalvik, que interpreta y ejecuta código escrito en Java.

 Posibilita el uso de bases de datos.

 Controla los diferentes elementos hardware: Bluetooth, Wi-Fi, cámara fotográfica o de vídeo, GPS, acelerómetro, infrarrojos, etc., siempre y cuando el dispositivo móvil lo contemple.

 Cuenta con un entorno de desarrollo muy cuidado mediante un SDK disponible de forma gratuita.

[image:38.612.130.484.432.685.2]
(39)
(40)

CAPÍTULO 3

USABILIDAD EN APLICACIONES MÓVILES

En las tecnologías móviles a diferencia de otras (Web, escritorio, TV digital), la usabilidad es un problema más significativo, esto es debido a que la gran mayoría de las aplicaciones móviles son difíciles de usar, son poco flexibles y no son robustas.

Debido a la movilidad que permiten estos dispositivos las pruebas de usabilidad en un ambiente real de uso pueden resultar una tarea compleja y costosa. En primer lugar, no es sencillo establecer estudios realistas que reflejen la riqueza del contexto de uso. En segundo lugar, está lejos de ser trivial aplicar técnicas de evaluación clásicas, cuando la prueba se realiza en condiciones reales de uso. Además, las pruebas en un entorno real complican la recolección de datos y limitan el control sobre estás y sobre el usuario, ya que el mismo se está moviendo físicamente en un contexto con un número de variables desconocidas que afectan potencialmente la evaluación (Beck, Christiansen, Kjeldskov, Kolbe & Stage, 2003).

Las pruebas de este tipo más comunes recogen información adjuntando al dispositivo móvil una cámara externa para obtener una vista de la pantalla del móvil o por medio del registro de eventos en archivos de logs. Utilizar una cámara externa para monitorear la pantalla del dispositivo móvil es todo un reto debido al hecho de que la pantalla es pequeña y la mayoría del tiempo el usuario está obstruyendo la misma, además de desnaturalizar la utilización del dispositivo. Una alternativa es utilizar un software de captura de pantalla similar a los disponibles para las computadoras de escritorio, sin embargo, debido a las limitaciones de los dispositivos móviles, es difícil encontrar este tipo de aplicaciones que puedan ser precisas y eficientes.

(41)

Para el dominio de las aplicaciones móviles cuyo contexto de uso cambia continuamente, como se plantea en (Zhang & Adipat, 2005), existen algunos desafíos al momento de examinar la usabilidad:

Entorno móvil: Se puede definir como cualquier información que caracteriza una situación relacionada con la interacción entre usuarios, aplicaciones y sus alrededores. Esto incluye la ubicación, las identidades de las personas cercanas, objetos, elementos del entorno que pueden distraer la atención del usuario, etc. Este puede estar cambiando continuamente.

Conectividad: El ancho de banda limitado y la baja confiabilidad de las conexiones, son características comunes en la conectividad de estos tipos de dispositivos. Este problema afecta principalmente a los tiempos de descarga de datos y la calidad de la transmisión de audio y video. La intensidad de la señal y la velocidad de transferencia de la red pueden variar en diferentes momentos y lugares, agravadas también por la movilidad del usuario.

Capacidad de procesamiento: El poder computacional y la capacidad de memoria de los dispositivos móviles son reducidos con respecto a dispositivos considerados de escritorio.

Pantallas pequeñas: Las limitaciones físicas propias de los dispositivos móviles, como el tamaño pequeño de las pantallas afectan la usabilidad de una aplicación.

Pantallas con diferentes resoluciones: La baja resolución de la pantalla puede degradar la calidad de la información multimedia mostrada. Como resultado, diferentes resoluciones de pantalla puede causar diferentes grados de usabilidad.

Método de entrada de datos: El ingreso de datos en estos dispositivos no es una tarea sencilla. Diminutos botones y etiquetas limitan la eficacia y eficiencia de los usuarios en la introducción de datos, esto reduce la velocidad de entrada y aumenta los errores. En general no es eficiente y nada amigable.

3.1. mGQM (mobile Goal Question Metric)

(42)
[image:42.612.111.506.151.276.2]

proporciona una manera útil para definir métricas tanto del proceso como de los resultados de un proyecto. Se basa en tres niveles: Objetivos, Preguntas y Métricas, se define un objetivo en preguntas y se definen métricas que intentan dar información para responder a esas preguntas (Fig. 3.1). El enfoque se puede adecuar a diferentes organizaciones y entornos.

Figura 3.1. Enfoque GQM.

El enfoque mGQM plantea un conjunto de métricas objetivas y subjetivas para evaluar usabilidad en aplicaciones móviles. Los usuarios pueden seleccionar los objetivos de usabilidad para centrarse en ciertas áreas de evaluación. Por ejemplo, si quieren evaluar sólo la atracción de una aplicación móvil, pueden obviar o borrar los objetivos restantes. En mGQM se definen las siguientes métricas:

Métricas Objetivas

 Tiempo requerido para introducir los datos: Esta métrica mide el tiempo tomado por el usuario para ingresar datos de entrada.

 Número de errores al teclear los datos: Esta métrica mide el número de errores cometidos, mientras el usuario introduce datos al utilizar la aplicación.

 Tiempo empleado para instalar: Esta métrica mide el tiempo empleado por cada aplicación que se instala en el dispositivo móvil.

 El número de interacciones durante la instalación de la aplicación: Esta métrica mide la cantidad de interacciones entre el usuario y el dispositivo móvil cuando se está instalando una aplicación.

 Tiempo necesario para aprender: Este indicador mide el tiempo empleado por los usuarios para aprender a utilizar la aplicación.

(43)

 Número de errores: Este indicador mide si la aplicación es precisa o imprecisa.  Tiempo necesario para completar la tarea: Este indicador medirá el tiempo

empleado por el usuario para completar las tareas dadas.

 Número de tareas exitosas en el primer intento: Esta métrica indica el número de tareas terminadas con éxito en el primer intento.

 Número de tareas exitosas en el tiempo dado: Este indicador proporciona información sobre si los usuarios están familiarizados con la aplicación mediante el recuento del número de tareas completadas con éxito en un tiempo dado.

 Tiempo necesario para iniciar la aplicación: Este indicador mide el tiempo empleado por los dispositivos móviles para iniciar una aplicación.

 Tiempo necesario para responder: Esta métrica mide el tiempo empleado por una aplicación para responder a la entrada del usuario.

 Tiempo necesario para conectarse a la red (vía satélite o Wi-Fi): El tiempo empleado por la aplicación para conectarse a la red es una medida esencial porque refleja la satisfacción de los usuarios.

 Número de recursos del sistema mostrados: Esta métrica cuenta el número de recursos del sistema (nivel de la señal o de la batería) que se muestra durante el estudio de usabilidad.

 Número de solicitudes de actualización de la aplicación: Esta métrica cuenta el número de solicitudes de las aplicaciones para actualizar la versión.

 Porcentaje de la batería usada durante la instalación: Este indicador mide el porcentaje de batería que se utiliza cuando se instalan una aplicación en un dispositivo móvil.

 Porcentaje de la batería usada: Este indicador mide el porcentaje de la batería usada por una aplicación para una tarea determinada.

Métricas Subjetivas

 Satisfacción con el teclado virtual: Este indicador mide el grado de satisfacción del usuario con el teclado proporcionado por la aplicación móvil o por el dispositivo móvil.

(44)

 Satisfacción con el proceso de instalación: Este indicador mide el nivel de satisfacción de los usuarios cuando instalan aplicaciones en los dispositivos móviles.

 Satisfacción con la optimización del tamaño de pantalla: Este indicador mide el nivel de satisfacción de los usuarios con la optimización del tamaño de la pantalla.  Satisfacción con la ayuda: Este indicador mide el grado de satisfacción de los

usuarios con la ayuda proporcionada por las aplicaciones.

 Satisfacción con los contenidos: Satisfacción con el contenido es una medida esencial para asegurar que los contenidos suministrados cumplirán las necesidades de los usuarios.

 Placer: Esta métrica mide el disfrute de los usuarios cuando utilizan las aplicaciones móviles.

 Satisfacción con la interfaz: Satisfacción con la interfaz es también una medida importante porque una buena interfaz atraerá a más usuarios a utilizar la aplicación.  Seguridad durante la conducción: Este indicador mide el nivel de seguridad para las

personas que utilizan las aplicaciones móviles mientras conducen.

 Facilidad para encontrar ayuda: Esta métrica mide cuán fácil es para los usuarios encontrar ayuda en las aplicaciones.

 Estrés: Esta métrica mide el nivel de estrés que sienten los usuarios cuando usan las aplicaciones móviles.

 Satisfacción con el indicador de señal: Esta medida indica la satisfacción del usuario con el indicador de señal proporcionada por las aplicaciones móviles.  Satisfacción con el joystick virtual: Esta métrica indica el nivel de satisfacción de

los usuarios con el joystick virtual.

 Satisfacción mientras aprenden: Este indicador mide el nivel de satisfacción de los usuarios cuando aprenden a utilizar las aplicaciones.

 Satisfacción con el texto: Este indicador mide el nivel de satisfacción de los usuarios con el texto que muestran las aplicaciones.

 Satisfacción con el sistema de navegación: Este indicador mide el grado de satisfacción con el sistema de navegación (como los usuarios pasan de un menú a otro menú o submenú).

(45)

 Satisfacción con el botón de menú: Esta medida indica el nivel de satisfacción de los usuarios con el botón de menú.

3.2. Pruebas de Usabilidad en Aplicaciones Móviles

Existen dos formas de realizar las pruebas de usabilidad en las aplicacione

Gambar

Figura 1.3. Pasos y Herramientas usadas en el método MUSiC.
Figura 2.1. Dispositivos Móviles.
Figura 2.2. Fragmentación de Aplicaciones.
Figura 2.3. Arquitectura Android.
+7

Referensi

Dokumen terkait

Berdasarkan Keputusan Panitia Pengadaan Barang/Jasa Sekretariat Daerah Kabupaten Sidoarjo Nomor 027/10.13.4/SS/2011 tanggal 13 Oktober 2011 tentang Penetapan Daftar

Pada pembelajaran matematika harus terdapat keterkaitan antara pengalaman belajar siswa sebelumnya dengan konsep yang akan diajarkan. 16 Artinya semua konsep yang

Hasil uji t pada masing-masing dimensi menunjukkan bahwa variabel entrepreneur motivation tidak memiliki perbedaan antara pengusaha sektor formal dan sektor

Nilai derajat penyebaran dan derajat kepekaan subsektor peternakan (ternak, unggas, dan hasil-hasilnya) di Provinsi Maluku sebesar 1,7 dan 1,9, bila di- gambarkan pada pemetaan daya

Puji syukur pada Allah SWT atas rahmat dan karunia-Nya sehingga praktikan dapat menyelesaikan kegiatan Praktik Pengalaman Lapangan (PPL) dengan baik yang terdiri atas dua tahap,

(2015), dalam penelitiannya Pengaruh Komitmen Organisasi, Budaya Kerja, Motivasi dan Iklim Organisasi terhadap Kepuasan Kerja dan Dampaknya pada Kinerja Dinas Kesehatan Kabupaten

dengan Volume 100 halaman dilengkapi dengan gambar yang sangat berfungsi memper- jelas pembahasan yang sudah bagus, san- gat tepat sebagaimana isi yang dikand- ungnya.. (D)

Hubungan tingkat pendidikan formal ayah siswa terhadap prestasi belajar. pendidikan agama islam