FRAMEWORK PARA LA GENERACION DE PRUEBAS

  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

Río Gallegos, 18 de Marzo de 2016 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.

  En base al modelo conceptual y combinando SPL+FOP+AOP se implementó un framework denominado FUsAM, que permite generar e integrar una familia de pruebas de usabilidad en aplicaciones móviles, atendiendo a las consideraciones citadas anteriormente. Además de flexibilizar y facilitar el proceso de evaluación de una aplicación móvil.

  Í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.2.1. Modelo de Características .......................................................................... 50

  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 REFERENCIAS ……………………………………………………………….… 102

  Í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 Figura 6.13. Estructura de Integración de la Prueba ..................................................... 85

  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 FeatureIDE Framework for Feature-Oriented Software Development FM Feature Model

  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

  VDTs Visual Display Terminals

  XML eXtensible Markup Language 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.

  Al evaluar usabilidad en una aplicación, es importante conocer qué significa usabilidad para esa aplicación. Por ejemplo, un programa de control de vuelo debe tener 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.

  Los métodos y métricas actualmente utilizados para medir usabilidad fueron creados para aplicaciones de escritorio, sin embargo estos pueden no ser directamente adecuados o apropiados a entornos móviles (Zhang & Adipat, 2005). Uno de los desafíos consiste en identificar las variables adicionales relacionadas al ambiente de uso (contexto móvil) que pueden impactar en la usabilidad de una aplicación móvil.

  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:

  1. Realizan la captura automática de métricas y de datos relacionados al ambiente real de uso mediante los sensores de los dispositivos móviles, consideran el contexto.

  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. Se detallan los conceptos básicos relacionados a la usabilidad de una aplicación de software. Se describen métricas, modelos y los tipos de pruebas de usabilidad existentes.

  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. Por último, se describen las conclusiones del trabajo desarrollado, beneficios, debilidades y los trabajos futuros. 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

  1

  de usabilidad es la que se expone en la norma ISO 9241-11 , 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 1 software.

  

ISO 9241-11: Ergonomic requirements for office work with visual display terminals (VDTs) – part 11:

Guidance on usability.

  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.

  Satisfacción: Es el grado con que el usuario se siente satisfecho, con actitudes positivas, al utilizar la aplicación para alcanzar objetivos específicos. La satisfacción es un atributo subjetivo, puede ser medido utilizando escalas de calificación de actitud.

  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.

  Diferentes percepciones de usabilidad resultan en una variedad de estructuras de medidas, estas estructuras definen los atributos y sus métricas asociadas. Por ejemplo, Jakob Nielsen, define usabilidad en términos de cinco atributos: facilidad de aprendizaje, eficiencia, memorabilidad, errores y satisfacción (Nielsen, 1992). Nielsen puntualiza que la importancia 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. Accesibilidad: Consideraciones tenidas en cuenta por posibles limitaciones físicas, visuales, auditivas o de otra índole de los usuarios.

  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.

   Cuando una métrica representa una característica que aumenta cuando se presentan  rasgos positivos o que disminuye al encontrar rasgos indeseables, el valor de la métrica debe aumentar o disminuir en el mismo sentido.

   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.

  Cada métrica debe validarse empíricamente en una amplia variedad de contextos antes

  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.

  Métricas de Eficiencia: La mitad de los estudios utiliza como métrica el tiempo que emplea un usuario en completar una tarea dada. Algunos miden la tasa de entrada en base a la velocidad de tipeo para el ingreso de datos. Los patrones de uso también son utilizados para medir eficiencia, un tipo de patrón se puede centrar en el número de veces que una tarea o acción se ha realizado, el número de veces que la ayuda es utilizada. Otro tipo de patrón de uso consiste en medir la desviación de la solución óptima, utilizando la relación entre el comportamiento real del usuario y la óptima solución eficiente de una tarea.

  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 X

  X X Eficiencia Satisfacción

  X X