+ All Categories
Home > Documents > Test suite for a generator of TVDI applications using ... · multimedia/hipermedia desarrolladas...

Test suite for a generator of TVDI applications using ... · multimedia/hipermedia desarrolladas...

Date post: 17-Aug-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
17
Suite de pruebas para un generador de aplicaciones TVDI usando modelos de características Test suite for a generator of TVDI applications using features models Víctor Valentín, Sandra Casas, Franco Herrera, Franco Trinidad y Fernanda Oyarzo GISP. Instituto de Tecnología Aplicada. [email protected] Universidad Nacional de la Patagonia Austral, Unidad Académica Río Gallegos 14 de Febrero de 2017 RESUMEN Un generador de aplicaciones es una herramienta cuya salida es una especificación de código. La prueba de un generador de código implica identificar las entradas válidas e inválidas que producen esas especificaciones de salida. A la vez, cuando los procesos de construcción son incrementales y producen versiones de los productos de software en las distintas etapas, se requieren estrategias de generación de prueba que sistemáticamente puedan ser aplicadas y replicadas para generar los test. Dr Nau es un generador de aplicaciones interactivas para TV Digital, basado en el uso de patrones de diseño de interacción centrados en el usuario, que se construye a partir de incrementos, obteniendo en cada uno de estos, una versión funcional de la herramienta. Este trabajo presenta una suite de pruebas para el primer incremento de Dr Nau, creada a partir de modelos de características y los diferentes patrones de diseño. La suite representa el conjunto de posibles aplicaciones que puede desarrollar Dr Nau en la etapa en que se encuentra. Al ser elaborada por medio de modelos de características, es posible determinar su completitud y exactitud por medio de software automatizado para tal fin, como Fama test suite, que es el que se utilizó en esta oportunidad. Se demuestra así que el trabajo realizado manualmente es efectivo y contempla la totalidad de posibles aplicaciones. Palabras clave: TV Digital; aplicaciones interactivas; generador de aplicaciones; modelo de características; patrones de diseño de interacción; Líneas de producto de software. ABSTRACT An application generator is a tool whose output is a code of specification. Testing a code generator involves identifying the valid and invalid inputs that these output specifications produce. At the same time, when construction processes are incremental and produce versions of software products in distant stages, test generation strategies are required that can be systematically applied and replicated to generate the tests. Dr Nau is an interactive application generator for Digital TV, based on the use of user-centered interaction design patterns, which is built from increments, obtaining in each one of them a functional version of the tool. This work presents a suite of tests for the first increment of Dr Nau, created from models of characteristics and the different design patterns. The suite represents the set of possible applications that Dr Nau can develop in the stage in which it is. Thus, it is possible to determine their completeness and accuracy by the use of an automated software for such purpose, like Fama test suite, that is the one that was used in this opportunity. Therefore we Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivar 4.0 Internacional. 115 ICT-UNPA-162-2017 ISSN: 1852-4516 Aprobado por Resolución N° 0343/17-R-UNPA
Transcript
Page 1: Test suite for a generator of TVDI applications using ... · multimedia/hipermedia desarrolladas sobre el paradigma declarativo, escritas en el lenguaje NCL y el lenguaje de scripting

Suite de pruebas para un generador de aplicaciones TVDI usando modelos

de características

Test suite for a generator of TVDI applications using features models

Víctor Valentín, Sandra Casas, Franco Herrera, Franco Trinidad y Fernanda Oyarzo

GISP. Instituto de Tecnología Aplicada.

[email protected]

Universidad Nacional de la Patagonia Austral, Unidad Académica Río Gallegos

14 de Febrero de 2017

RESUMEN

Un generador de aplicaciones es una herramienta cuya salida es una especificación de código.

La prueba de un generador de código implica identificar las entradas válidas e inválidas que

producen esas especificaciones de salida. A la vez, cuando los procesos de construcción son

incrementales y producen versiones de los productos de software en las distintas etapas, se

requieren estrategias de generación de prueba que sistemáticamente puedan ser aplicadas y

replicadas para generar los test. Dr Nau es un generador de aplicaciones interactivas para TV

Digital, basado en el uso de patrones de diseño de interacción centrados en el usuario, que se

construye a partir de incrementos, obteniendo en cada uno de estos, una versión funcional de

la herramienta. Este trabajo presenta una suite de pruebas para el primer incremento de Dr

Nau, creada a partir de modelos de características y los diferentes patrones de diseño. La suite

representa el conjunto de posibles aplicaciones que puede desarrollar Dr Nau en la etapa en

que se encuentra. Al ser elaborada por medio de modelos de características, es posible

determinar su completitud y exactitud por medio de software automatizado para tal fin, como

Fama test suite, que es el que se utilizó en esta oportunidad. Se demuestra así que el trabajo

realizado manualmente es efectivo y contempla la totalidad de posibles aplicaciones.

Palabras clave: TV Digital; aplicaciones interactivas; generador de aplicaciones; modelo de

características; patrones de diseño de interacción; Líneas de producto de software.

ABSTRACT

An application generator is a tool whose output is a code of specification. Testing a code

generator involves identifying the valid and invalid inputs that these output specifications

produce. At the same time, when construction processes are incremental and produce versions

of software products in distant stages, test generation strategies are required that can be

systematically applied and replicated to generate the tests. Dr Nau is an interactive application

generator for Digital TV, based on the use of user-centered interaction design patterns, which

is built from increments, obtaining in each one of them a functional version of the tool. This

work presents a suite of tests for the first increment of Dr Nau, created from models of

characteristics and the different design patterns. The suite represents the set of possible

applications that Dr Nau can develop in the stage in which it is. Thus, it is possible to

determine their completeness and accuracy by the use of an automated software for such

purpose, like Fama test suite, that is the one that was used in this opportunity. Therefore we

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivar 4.0 Internacional.

115

ICT-UNPA-162-2017ISSN: 1852-4516

Aprobado por Resolución N° 0343/17-R-UNPA

Page 2: Test suite for a generator of TVDI applications using ... · multimedia/hipermedia desarrolladas sobre el paradigma declarativo, escritas en el lenguaje NCL y el lenguaje de scripting

conclude that the work done manually is effective and contemplates the totality of possible

applications.

Key words: Digital TV; Interactive Applications; Application Generator; Feature Model;

Interaction Design Patterns; Software Product Lines.

1 INTRODUCCION

Este trabajo aborda el problema de la generación de una suite de pruebas para un generador de

aplicaciones interactivas para TV Digital (TVDi), denominado Dr. Nau. Una aplicación TVDi

es un software multimedia a través del cual el televidente puede interactuar vía control

remoto. Significa que puede recibir video, audio, software, que posibilitan la interacción del

televidente con el contenido (Rodrigues y Soares, 2006). Se emplean diferentes medias (texto,

imágenes, sonido, animación y video) para informar al televidente, cuya creación es uno de

los aspectos que mayor tiempo demanda en el desarrollo de aplicaciones TVDi. NCL (Sitio

Oficial NCL) es un lenguaje de etiquetas para la codificación de aplicaciones TVDi,

interpretables por el middleware Ginga (Sitio Oficial Ginga.ar).

Un generador de aplicaciones es una herramienta que a partir de especificaciones de muy alto

nivel genera automática o semi-automáticamente el código (fuente o ejecutable) de otras

aplicaciones en un dominio especifico (Cleaveland, 1988).

Dr. Nau tiene dos objetivos principales, posibilitar que a partir de la selección y

parametrización de características de los elementos de la interfaz y/o interacción con el

televidente obtener automáticamente el código NCL. De esta forma, Dr. Nau brinda la

posibilidad de desarrollo fácil, rápido y a bajo costo de aplicaciones de TVDi a usuarios

carentes o con escasos conocimientos de programación, tales como productores de TV,

periodistas, etc. El otro objetivo importante de Dr. Nau, es garantizar que las aplicaciones

generadas cumplan con criterios de usabilidad aceptables. De manera que, estas reglas y

normas de usabilidad deben estar embebidas en la lógica de la herramienta, evitando que el

usuario requiera conocerlas para su aplicación. Por ello, las abstracciones de alto nivel, y las

especificaciones de entrada del generador, siguen y permiten aplicar patrones de diseño de

interactividad centrados en el usuario para TVDi (Kunert, 2009).

En este contexto, se plantea la necesidad de aplicar un método para la creación de los test de

prueba, que permitan validar la herramienta, que pueda ser replicado sistemáticamente en las

diferentes etapas del proyecto con las diferentes versiones de la misma.

Debido a que existen conceptualmente similitudes entre los generadores de aplicaciones y las

líneas de productos de software (LPS) (Clements y Northrop, 2001), proponemos adoptar una

estrategia coincidente para la creación de la suite de pruebas de Dr. Nau. Es así que

planteamos la generación de la suite de pruebas (sub-conjunto de aplicaciones y sus

especificaciones de alto nivel) a partir del modelado y diseño de modelo de características Sitio

(Oficial Lenguaje LUA).

A continuación se presentan los conceptos preliminares de TV Digital, Ginga, NCL, los

Patrones de diseño de interactividad centrados en el usuario para aplicaciones TVDi y Modelo

de Características. En la sección tercera se presentan trabajos relacionados, seguidos, en la

sección cuarta, por una breve reseña del Proyecto Dr-Nau. y la propuesta de la suite de

prueba En la sección quinta, se expone la validación de los resultados obtenidos a partir de la

utilización de la herramienta FAMA test suite, finalizando con las y conclusiones.

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivar 4.0 Internacional.

116

ICT-UNPA-162-2017ISSN: 1852-4516

Aprobado por Resolución N° 0343/17-R-UNPA

Page 3: Test suite for a generator of TVDI applications using ... · multimedia/hipermedia desarrolladas sobre el paradigma declarativo, escritas en el lenguaje NCL y el lenguaje de scripting

2 NOCIONES PRELIMINARES

2.1 TV DIGITAL

La TV Digital (Sitio Oficial Red AUTI) es el conjunto de tecnologías de generación,

transmisión y recepción de imagen y sonido a través de información digital. Esto permite que

los errores en la transmisión y recepción de la TV analógica (“fantasmas” y “lluvia”) se

corrijan y de esta manera no existan interferencias ni distorsiones en pantalla, generando una

imagen y sonido superior a la TV actual (analógica).

El Sistema Argentino de Televisión Digital Terrestre (SATVD-T) (Sitio Oficial Red AUTI),

como todos los otros sistemas de televisión, respeta el modelo broadcasting. Este modelo se

basa en la existencia de: un conjunto reducido de emisores de contenido (canales de

televisión) y un conjunto suficientemente grande de receptores (televidentes). En este modelo,

los receptores no tienen control directo sobre el contenido emitido, sino que, lo tienen sobre la

sintonización de un programa dado. Esto implica que el modelo puede implementarse sin un

canal de retorno que conecte a los televidentes a los emisores u otros servicios.

El SATVD-T está basado en la norma Integrated Service Data Broadcasting (ISDB-Tb) o

Transmisión Digital de Servicios Integrados. El mismo consiste en un conjunto de normas

japonesas adaptadas por Brasil, que definen formas para transmitir contenidos digitales por

aire. Esta norma utiliza el middleware denominado Ginga (Sitio Oficial Ginga Brasil) que

permite ejecutar aplicaciones NCL (Sitio Oficial NCL)/ LUA (Oficial Lenguaje LUA).

El decodificador (o set-top-box) es un dispositivo que permite la recepción tanto de la señal

digital como la analógica, y genera la señal de video y audio que alimenta el televisor o

display. Su objetivo es realizar todas las operaciones necesarias para que las señales recibidas

a modo de radio frecuencia se transformen en video y audio: captación de las señales,

decodificación, descompresión, etc. El set-top-box del SATVD-T implementa el middleware

Ginga.ar (Sitio Oficial Ginga.ar).

Las aplicaciones que son parte de la transmisión digital respetan el mismo modelo, pero son

los televidentes los que tienen el control sobre el uso de las mismas, dado que generalmente la

aplicación puede ser desactivada, o el televidente puede cancelar la ejecución de la aplicación

cambiando el canal que sintoniza. Las mismas están asociadas al video principal del canal en

el cual se transmiten y por ende aumenta la experiencia del televidente respecto de la

televisión tradicional, con nuevos tipos de interacciones entre el cliente y los contenidos. Es

por esto que suele hablarse de TV Digital interactiva.

2.2 GINGA

Ginga (Barbosa y Soares, 2008) es el nombre que recibe el middleware que permite ejecutar

aplicaciones interactivas dentro de un STB (Set-Top Box). Cómo en el mercado existen STBs

de distintos fabricantes y puede variar la plataforma de hardware/software de los mismos,

surge la necesidad de contar de un middleware que permita correr aplicaciones sin importar

que STB se disponga.

El middleware abierto Ginga se subdivide en dos subsistemas principales interrelacionados,

que permiten el desarrollo de aplicaciones siguiendo dos paradigmas de programación

diferentes. Estos dos subsistemas se llaman Ginga-J (para aplicaciones procedurales Java) y

Ginga- NCL (para aplicaciones NCL).

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivar 4.0 Internacional.

117

ICT-UNPA-162-2017ISSN: 1852-4516

Aprobado por Resolución N° 0343/17-R-UNPA

Page 4: Test suite for a generator of TVDI applications using ... · multimedia/hipermedia desarrolladas sobre el paradigma declarativo, escritas en el lenguaje NCL y el lenguaje de scripting

En Argentina, se trabaja sobre la versión Ginga-NCL (Soares y Otros, 2007) y esto se debe a

que Ginga-NCL es en la actualidad el único middleware estándar internacional tanto para

IPTV como para TV Digital (en todos los tipos de dispositivo). Y también es el único

estándar abierto. El mismo fue creado en la Pontifícia Universidade Católica do Río de

Janeiro (PUC-Rio) y ofrece una infraestructura de presentación de aplicaciones de

multimedia/hipermedia desarrolladas sobre el paradigma declarativo, escritas en el lenguaje

NCL y el lenguaje de scripting LUA.

Prácticamente todos los middleware para TV Digital terrestre ofrecen soporte para el

desarrollo de aplicaciones usando dos paradigmas de programación.

Ginga.ar (Sitio Oficial Ginga.ar) es una implementación estándar Ginga-NCL, desarrollada

por el equipo de TV Digital del LIFIA-UNLP, a partir de la implementación de referencia

Ginga-NCL. El middleware Ginga.ar fue portado a la arquitectura ST e instalado en Set Top

Boxes comerciales diseñados y producidos en Argentina. Estos Set Top Boxes son

distribuidos por el proyecto de TV Digital del Gobierno Argentino. Ginga.ar es Software

Libre, las licencias utilizadas son GPLv2 y LGPLv2, e incluye librerías con otras licencias

libres.

2.3 NEXTED CONTEXT LANGUAJE (NCL)

NCL (Soares y Rodrigues, 2005) (Sitio Oficial club NCL) es un lenguaje declarativo basado

en el modelo conceptual NCM (Fig. 1), básicamente es un documento XML. El lenguaje

define claramente cómo los objetos media (elementos de contenido multimedial, es decir, los

elemento a mostrar como por ejemplo videos, imágenes, sonidos, etc.) son estructurados y

relacionados, en el tiempo y en espacio.

Como es un lenguaje de marcado, no especifica los tipos del contenido de los objetos media

de una aplicación.

Figura 1: Entidades NCM y elementos del lenguaje NCL

2.4 PATRONES DE DISEÑO DE INTERACCION CENTRADOS EN EL USUARIO PARA

APLICACIONES TVDi

Kunert (Kunert, 2009) ha propuesto patrones de diseño de interacción centrados en el usuario

para aplicaciones TVDi. Presenta 41 patrones, organizados en diez grupos, que contemplan

usabilidad e identificación de las tareas que el usuario realiza de manera habitual. Los cuales

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivar 4.0 Internacional.

118

ICT-UNPA-162-2017ISSN: 1852-4516

Aprobado por Resolución N° 0343/17-R-UNPA

Page 5: Test suite for a generator of TVDI applications using ... · multimedia/hipermedia desarrolladas sobre el paradigma declarativo, escritas en el lenguaje NCL y el lenguaje de scripting

han sido muy empleados en aplicaciones TVDi que ofrece la Corporación Británica de

Radiodifusión (BBC - British Broadcasting Corporation). Estos se basan en el método de

enfoque de grupo; este concepto permite el análisis de tareas y necesidades de los contenidos

de los usuarios en aplicaciones de TVDi. Los resultados de los grupos se refieren a tipos

específicos de contenido y se clasifican en tareas de usuarios genéricas de TVDi, requisitos de

contenido general y en requisitos generales de usabilidad. A continuación se indican los

grupos y patrones correspondientes.

A. PAGE LAYOUT (Diseño de pantalla): Según el contenido se clasifican en:

Superposición (overlay): el video se sigue transmitiendo en el fondo de la pantalla,

mientras la aplicación se ejecuta sobre el video cubriendo una parte pequeña de la pantalla,

dejando el video visible.

Pantalla completa con video: el video ocupa ¼ de tamaño de la pantalla, mientras que

la aplicación ocupa el resto.

Pantalla completa sin video: la aplicación cubre toda la pantalla, mientras que el video

queda detrás de la aplicación, solo se escucha el audio.

B. NAVIGATION (Navegación): a partir del diseño de pantalla seleccionado se elige la forma

de navegar:

Menú: proporciona acceso a diversos contenidos y funciones organizadas

jerárquicamente. Un elemento del menú lleva al submenú.

Vídeo Multi-Pantalla: una pantalla múltiple ofrece acceso a varios flujos de vídeo

presentados simultáneamente.

Índice: permite acceder a una visión general organizada alfabéticamente de los

elementos de contenido y funciones.

Números de página: proporcionan acceso directo a las páginas individuales. Al igual

que en el teletexto analógico, determinados tipos de contenido tienen números de página

consistentes a través de aplicaciones.

Tabs: son pestañas que facilita el acceso a los elementos y funciones de contenido,

similar al menú.

C. REMOTE CONTROL KEYS (Teclas de control remoto): a partir del diseño de pantalla y

navegación se elige la configuración de las teclas de uso:

Teclas de flechas: en un control remoto estándar son cuatro las teclas: arriba, abajo,

izquierda y derecha.

Teclas Ok-Select: es la tecla OK, generalmente se encuentra en el centro de las cuatro

teclas de flecha, muchas veces no etiquetado.

Teclas de color: en un control remoto estándar son cuatro las teclas de colores: rojo,

verde, amarillo y azul. No solo los colores están estandarizados, sino también, el orden que

se encuentran alineados en forma horizontal.

Teclas numéricas: se cuenta con diez teclas del 0 al 9 en un control remoto estándar y

generalmente, están puestas en una cuadrícula de 3 por 3 con el 0 centrada.

Teclas especiales: algunos controles ofrecen este tipo de teclas, pueden ser, “text”,

“interactive”.

D. BASIC FUNTIONS (Funciones básicas): a partir de la elección de los tres primeros grupos

se clasifica en:

Inicio (Starting): la aplicación tiene que ser fácil para que el usuario no la abandone.

Indicador de carga: los usuarios deben ser informados que la aplicación se está

cargando. Esto se debe al tiempo de los STB.

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivar 4.0 Internacional.

119

ICT-UNPA-162-2017ISSN: 1852-4516

Aprobado por Resolución N° 0343/17-R-UNPA

Page 6: Test suite for a generator of TVDI applications using ... · multimedia/hipermedia desarrolladas sobre el paradigma declarativo, escritas en el lenguaje NCL y el lenguaje de scripting

Salida (Exiting): es una forma de aviso que finaliza la aplicación.

Ocultar la aplicación.

Subir un nivel: indica en qué lugar se encuentra el usuario dentro de la aplicación.

E. CONTENT PRESENTATION (Presentación de contenido): a partir de la elección de los

tres primeros grupos se clasifica en:

Caja de contenido (ContentBox): presenta el tipo de media, diseño de página,

transparencia, audio

Paginado.

Barras de Desplazamiento: permite desplazarse por la pantalla en forma vertical u

horizontal

Switch entre ítems de contenido

Contenido sincronizado (Synchronised)

F. USER PARTICIPATION (Participación de usuario): le permite al usuario la votación y

elección de opción múltiple, asignación de temas y completar texto.

Votación y selección múltiples

Ubicación de ítems

Completado de texto

Aprobación para conectar

G. TEXT INPUT (Entrada de textos)

Teclado en pantalla

Teclado de dispositivo móvil

H. HELP (Ayuda)

Instrucciones en pantalla

Sección de ayuda

I. ACCESSIBILITY & PERSONALISATION (Accesibilidad y personalización)

Accesibilidad

Personalización

J. SPECIFIC USER

2.5 MODELO DE CARACTERISTICAS Un modelo de características (MC) es definido formalmente como una estructura de árbol

representada como una tupla de 6 componentes (característica, característica raíz,

características obligatorias, características opcionales, relaciones alternativas, relaciones

disyuntivas). Un MC permite identificar las funcionalidades comunes y variantes entre los

productos de una LPS y establecer las relaciones entre las mismas (González y Otros, 2014).

El concepto principal de esta técnica es denominado “característica” (feature). Las

características son propiedades identificables unívocamente de un dominio de aplicación

según el punto de vista del usuario o desarrollador. Es la unidad funcional en la que se

descompone un sistema de software para satisfacer un requisito, representa una decisión de

diseño, y proporciona una potencial opción de configuración.

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivar 4.0 Internacional.

120

ICT-UNPA-162-2017ISSN: 1852-4516

Aprobado por Resolución N° 0343/17-R-UNPA

Page 7: Test suite for a generator of TVDI applications using ... · multimedia/hipermedia desarrolladas sobre el paradigma declarativo, escritas en el lenguaje NCL y el lenguaje de scripting

Por lo general, a partir de un conjunto de características, muchos sistemas de software

diferentes pueden ser generados compartiendo características comunes y difiriendo en otras.

El MC aparece estrechamente ligado al concepto de un LPS dado que la primera es un

excelente mecanismo para modelar, diseñar e implementar el segundo. Usando MC, muchas

de las variabilidades existentes en una LPS pueden implementarse como características.

Los MC organizan el conjunto de características en una estructura jerárquica en forma de

árbol mediante relaciones entre ellas:

1- Relación Jerárquica: es definida entre una característica padre y un conjunto de

características hijas o sub-características. Una característica hija solamente puede formar

parte de los productos en los que la característica padre aparece. Fueron propuestas cinco

tipos de relaciones jerárquicas:

Obligatoria (Mandatory): indica que cuando la característica padre es parte de un producto

particular, la característica hija también debe ser parte del producto.

Opcional (Optional): indica que cuando la característica padre es parte de un producto

particular, la característica hija, puede o no, ser incluida en el producto.

Alternativa (Alternative): es la relación entre una característica padre y un conjunto de

característica hijas que indica que cuando la característica padre forma parte de un producto

particular, sólo una de las características del grupo de hijas debe formar parte del producto.

Relación-OR (OR-Relation): la característica hija en una relación OR puede o no formar

parte de un producto si su característica padre está incluida. Entonces, al menos una

característica del conjunto de características hijas puede estar presente en el producto.

Relación-AND (AND-Relation): si la característica padre forma parte de un producto,

entonces todas las características hijas deben ser incluidas.

2- Relación no Jerárquica: Si la característica A aparece, entonces la característica B se debe

incluir (o excluir) o una característica A requiere de una B.

Excluye (Excludes): Una característica X que excluye a la característica Y significa que si la

característica X es incluida en el producto, la característica Y no debe ser incluida, y

viceversa. La selección de una de ellas (no importa cuál) implica que la otra característica no

será incluida en el producto.

Requiere (Requires): Una característica X que requiere de una característica Y, significa que

si la característica X es incluida en el producto, la característica Y también debe ser incluida,

pero no viceversa.

Una vez que todas las características identificadas en el análisis son definidas, entonces un

modelo jerárquico puede ser creado clasificando y estructurando las características utilizando

la relación “se-compone-de”. Para esto se utiliza lo que se denomina un modelo de

características (feature model) que describe todas las posibles variantes de productos de

software que se pueden obtener.

La Figura 2 muestra un MC que describe las variantes que pueden existir en la producción de

un automóvil. La raíz del árbol denota el concepto que es modelado, las otras cajas

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivar 4.0 Internacional.

121

ICT-UNPA-162-2017ISSN: 1852-4516

Aprobado por Resolución N° 0343/17-R-UNPA

Page 8: Test suite for a generator of TVDI applications using ... · multimedia/hipermedia desarrolladas sobre el paradigma declarativo, escritas en el lenguaje NCL y el lenguaje de scripting

representan características en donde las características hijas dependen de las características

padres. Cada automóvil tiene un cuerpo, la transmisión y el motor (círculo relleno), pero no

todos tienen necesariamente un enganche para remolque (círculo vacío) o el motor puede ser

alimentado con gasolina o con electricidad o con ambos (arco lleno), las características de

transmisión automática y manual de un automóvil son alternativas y mutuamente excluyentes

(arco vacío).

Figura 2: Ejemplo de MC

3 TRABAJOS RELACIONADOS Los modelos de características se han difundido masivamente para el desarrollo y

construcción de Líneas de Producto Software (LPS), en diversos dominios como textil,

automotriz, telefonía móvil, robótica, aplicaciones geográficas, gestores de venta y otros.

(González, 2012) (Deursen y Klint, 2002) (Gherardi y Brugali, 2011) (González y Otros,

2014) (Kang y Otros, 1990) (Capilla y Otros, 2014) (Clements y Northrop, 2002) (Garcés y

Otros, 2007). El uso de modelos de características para obtener aplicaciones de pruebas no ha

sido muy difundido. Por otro lado, una suite de pruebas consiste del conjunto de pruebas al

que se va someter una aplicación, generalmente obtenidas con técnicas tradicionales de

pruebas de software. No ha sido posible acceder a métodos para desarrollar suite de pruebas

para generadores de código.

4 PROYECTO DR. NAU Y PROPUESTA

Dr. Nau, es un proyecto de I+D, ejecutado por el Laboratorio de TV Digital de la UNPA(*)

, el

mismo está acreditado como Proyecto de Desarrollo Tecnológico y Social – PDTS – CIN –

CONICET, en el Banco de PDTS nacional del Ministerio de Ciencia, Tecnología e

Innovación Productiva Argentina.

Dr. Nau tiene dos objetivos principales. El primero de ellos es posibilitar que a partir de la

selección y parametrización de características de los elementos de la interfaz y/o interacción

producir automáticamente el código NCL. De esta forma Dr. Nau brinda la posibilidad de

desarrollo fácil, rápido y a bajo costo de aplicaciones de TVDi a usuarios carentes o con

escasos conocimientos de programación, tales como productores de TV independientes,

cooperativas y asociaciones pequeñas y medianas de producción de contenidos audiovisuales,

etc. El otro objetivo importante de Dr. Nau, es garantizar que las aplicaciones generadas

cumplan con criterios de usabilidad aceptables. De manera que, estas reglas y normas de

usabilidad deben estar embebidas en la lógica de herramienta, evitando que el usuario

requiera conocerlas para su aplicación.

_____________________________________ (*)

https://sites.google.com/site/laboratoriodetvdigital/

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivar 4.0 Internacional.

122

ICT-UNPA-162-2017ISSN: 1852-4516

Aprobado por Resolución N° 0343/17-R-UNPA

Page 9: Test suite for a generator of TVDI applications using ... · multimedia/hipermedia desarrolladas sobre el paradigma declarativo, escritas en el lenguaje NCL y el lenguaje de scripting

Por ello, las abstracciones de alto nivel, y las especificaciones de entrada del generador,

siguen y permiten aplicar patrones de diseño de interactividad centrados en el usuario para

TVDi. (Kunert, 2009).

La construcción de Dr. Nau está dividida en etapas (incrementos o iteraciones), por lo que al

finalizar cada una se obtiene una versión de la herramienta, que tiene sentido funcional para el

usuario, dado que permite obtener un subconjunto de aplicaciones de TVDi. A partir del

primer incremento se plantea el requerimiento de probar su funcionalidad. Para ello, se debe

diseñar una suite de pruebas que permita probar su correcta funcionalidad en la generación

del sub-conjunto de las aplicaciones TVDi objeto de la primer versión.

En este sentido, es que se plantea la necesidad de usar y aplicar un método que pueda ser

replicado sistemáticamente para las próximas versiones obtenidas de los consecuentes

incrementos.

Debido a que existen conceptualmente similitudes entre los generadores de aplicaciones y las

líneas de productos software (LPS) (Clements y Northrop, 2001), como ser:

Ambos enfoques tienen por objeto crear productos o aplicaciones software en un

dominio específico, a partir de un conjunto de elementos comunes, que se diferencian

en otros elementos anticipadamente conocidos (variabilidad).

Ambos enfoques buscan la reutilización de esquemas de diseño y código. Dado que el

desarrollo de software orientado en características (FOSD) es un paradigma para la

construcción, la personalización y la síntesis de las LPS (Apel S. y Otros, 2013).

Proponemos aplicar una estrategia coincidente para la creación de la suite de pruebas de Dr.

Nau. Es así que planteamos la generación de la suite de pruebas (sub-conjunto de aplicaciones

y sus especificaciones de alto nivel) a partir del modelado y diseño de modelo de

características (González y Otros, 2014).

4.1 SUITE DE PRUEBAS PARA DR. NAU El primer incremento de Dr. Nau, cumple con el requerimiento de generar aplicaciones de

TVDi que apliquen los patrones indicados en la Tabla 1.

Tabla 1: Patrones utilizados en la generación de la suite de pruebas

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivar 4.0 Internacional.

123

ICT-UNPA-162-2017ISSN: 1852-4516

Aprobado por Resolución N° 0343/17-R-UNPA

Page 10: Test suite for a generator of TVDI applications using ... · multimedia/hipermedia desarrolladas sobre el paradigma declarativo, escritas en el lenguaje NCL y el lenguaje de scripting

Por lo tanto la suite de pruebas para esta primer versión del generador debe consistir en el

conjunto de aplicaciones de TVDi que se pueden desarrollar a partir de la aplicación de estos

patrones.

Se han adoptado algunas convenciones para la construcción del MC. En cuanto a la

derivación (mapeo) de patrones a características, y teniendo en consideración además las

futuras versiones, se analiza hacer una correspondencia:

En el primer nivel (raíz) la aplicación de prueba

En el segundo nivel las características corresponden a los grupos de patrones

Desde el tercer nivel, los patrones y sus variantes son características concretas.

Las decisiones para el diseño del DF originan el diagrama de la Figura 2.

Figura 3: Modelo de Características para Dr. Nau (primera versión)

Para el diseño y construcción del MC se establecieron las siguientes reglas:

Regla 1: Todas las aplicaciones TVDi de prueba presentan un diseño de pantalla, uso de

teclas de control remoto para la interacción con el usuario, funciones para iniciar y finalizar la

interactividad como también manejo y sincronización del contenido, por lo que estas

características son obligatorias.

Regla 2: El MC expresa que todas las aplicaciones TVDi comparten como características

comunes, los patrones Overlay, Color, Starting, exiting ContentBox y Synchronised (núcleo

de Dr. Nau - etapa 1).

Regla 3: Grupo PAGELAYOUT (Abstracto), este posee tres patrones como características

secundarias concretas (Overlay, Full-Screen With Video y Full-Screen Without Video). Dada

esta etapa de Dr. Nau, solo es posible seleccionar Overlay, que presenta tres opciones como

características secundarias, de ubicación en pantalla (Bottom, Left y Right) y cada una de

estas posee tres características más, de contenido (Texto, Imagen o Texto e Imagen).

Regla 4: Grupo REMOTECONTROL (Abstracto), solo cuenta con un patrón como

característica secundaria (Color) y es de tipo mandatory, se repetirá en la totalidad de las

posibles aplicaciones.

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivar 4.0 Internacional.

124

ICT-UNPA-162-2017ISSN: 1852-4516

Aprobado por Resolución N° 0343/17-R-UNPA

Page 11: Test suite for a generator of TVDI applications using ... · multimedia/hipermedia desarrolladas sobre el paradigma declarativo, escritas en el lenguaje NCL y el lenguaje de scripting

Regla 5: Grupo BASICFUNTIONS (Abstracto), cuenta con dos patrones como características

secundarias (Starting y Exiting), relacionadas mediante AND, y su característica padre es de

tipo mandatory, por ello estarán presentes en todas las aplicaciones de prueba.

Regla 6: Grupo CONTENT PRESENTATION (Abstracto), en este caso hay tres patrones

como características secundarias (TextDesing, ContentBox y Sinchronised ), la característica

padre es de tipo mandatory, pero solo ContentBox y Sinchronised son mandatory y deben

estar incluidas, TextDesing es optional, su presencia está condicionada por una

RESTRICCION en función de la existencia de únicamente texto en el patrón OVERLAY.

Manualmente se derivan las aplicaciones que forman parte de la suite de pruebas, a partir de

la especificación del diagrama y se documentan en forma aplanada y matricial (). El plan de

pruebas queda conformado por 9 aplicaciones, cuya especificación se presenta en el apartado

siguiente.

Tabla 2: Patrones utilizados en la generación de la suite de pruebas

4.2 SUITE DE PRUEBAS

La Suite de pruebas queda conformada por 9 pruebas (aplicaciones), a partir de una simple

plantilla es posible especificarlas.

ID: Aplicación uno (App1)

Entradas: {Overlay [Botton, Texto], Colour, Starting, Exiting, TextDesign, ContentBox, Synchronise}

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivar 4.0 Internacional.

125

ICT-UNPA-162-2017ISSN: 1852-4516

Aprobado por Resolución N° 0343/17-R-UNPA

Page 12: Test suite for a generator of TVDI applications using ... · multimedia/hipermedia desarrolladas sobre el paradigma declarativo, escritas en el lenguaje NCL y el lenguaje de scripting

Salida esperada:

Una sección de texto se desplegara horizontalmente en la parte inferior de la pantalla con formatos de fuente pre-

seleccionados.

-------------------------------------------------------------------------------------------------------------------------------------------------------

ID: Aplicación dos (App2)

Entradas: {Overlay [Botton, Imagen], Colour, Starting, Exiting, ContentBox, Synchronise}

Salida esperada:

Descripción: La aplicación de prueba se despliega sobre el video (programa de tv) que figura en el fondo de la

pantalla, presentará un botón en el extremo inferior izquierdo para inicializar, que aparece por intervalos de tiempo pre-

seleccionados.

Iniciada la interacción, el mismo botón cambia su función a finalización de la interactividad.

Una sección de imagen se desplegará horizontalmente en la parte inferior de la pantalla. -------------------------------------------------------------------------------------------------------------------------------------------------------

ID: Aplicación tres (App3)

Entradas: {Overlay [Botton, Imagen/Texto], Colour, Starting, Exiting, TextDesign, ContentBox, Synchronise}

Salida esperada:

Descripción: La aplicación de prueba se despliega sobre el video (programa de tv) que figura al fondo de la pantalla,

presentará un botón en el extremo inferior izquierdo para inicializar, que aparece por intervalos de tiempo pre-

seleccionados.

Iniciada la interacción, el mismo botón cambia su función a finalización de la interactividad.

Descripción: La aplicación de prueba se despliega sobre el video (programa de tv) que figura al fondo de la pantalla,

presentará un botón en el extremo inferior izquierdo para inicializar, que aparece por intervalos de tiempo pre-

seleccionados. Iniciada la interacción, el mismo botón cambia su función a finalización de la interactividad.

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivar 4.0 Internacional.

126

ICT-UNPA-162-2017ISSN: 1852-4516

Aprobado por Resolución N° 0343/17-R-UNPA

Page 13: Test suite for a generator of TVDI applications using ... · multimedia/hipermedia desarrolladas sobre el paradigma declarativo, escritas en el lenguaje NCL y el lenguaje de scripting

Una sección de imagen y texto se desplegará horizontalmente en la parte inferior de la pantalla con formatos de fuente

pre-seleccionados.

----------------------------------------------------------------------------------------------------------------------------------------

ID: Aplicación cuatro (App4)

Entradas: {Overlay [Left, Texto], Colour, Starting, Exiting, TextDesign, ContentBox, Synchronise}

Salida esperada:

Descripción: La aplicación de prueba se despliega sobre el video (programa de tv) que figura al fondo de la pantalla,

presentará un botón en el extremo inferior izquierdo para inicializar, que aparece por intervalos de tiempo pre-

seleccionados.

Iniciada la interacción, el mismo botón cambia su función a finalización de la interactividad.

Una sección de texto se desplegara verticalmente sobre el margen izquierdo de la pantalla con formatos de fuente pre-

seleccionados.

-------------------------------------------------------------------------------------------------------------------------------------------------------

ID: Aplicación cinco (App5)

Entradas: {Overlay [Left, Imagen], Colour, Starting, Exiting, ContentBox, Synchronise}

Salida esperada:

Descripción: La aplicación de prueba se despliega sobre el video (programa de tv) que figura al fondo de la pantalla,

presentará un botón en el extremo inferior izquierdo para inicializar, que aparece por intervalos de tiempo pre-

seleccionados.

Iniciada la interacción, el mismo botón cambia su función a finalización de la interactividad.

Una sección de imagen se desplegara verticalmente sobre el margen izquierdo de la pantalla.

-------------------------------------------------------------------------------------------------------------------------------------------------------

ID: Aplicación seis (App6)

Entradas: {Overlay [Leftt, Imagen/Texto], Colour, Starting, Exiting, TextDesign, ContentBox, Synchronise}

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivar 4.0 Internacional.

127

ICT-UNPA-162-2017ISSN: 1852-4516

Aprobado por Resolución N° 0343/17-R-UNPA

Page 14: Test suite for a generator of TVDI applications using ... · multimedia/hipermedia desarrolladas sobre el paradigma declarativo, escritas en el lenguaje NCL y el lenguaje de scripting

Salida esperada:

Descripción: La aplicación de prueba se despliega sobre el video (programa de tv) que figura al fondo de la pantalla,

presentará un botón en el extremo inferior izquierdo para inicializar, que aparece por intervalos de tiempo pre-

seleccionados.

Iniciada la interacción, el mismo botón cambia su función a finalización de la interactividad.

Una sección de imagen y texto se desplegará verticalmente sobre el margen izquierdo de la pantalla con formatos de

fuente pre-seleccionados.

-------------------------------------------------------------------------------------------------------------------------------------------------------

ID: Aplicación siete (App7)

Entradas: {Overlay [Right, Texto], Colour, Starting, Exiting, TextDesign, ContentBox, Synchronise}

Salida esperada:

Descripción: La aplicación de prueba se despliega sobre el video (programa de tv) que figura al fondo de la pantalla,

presentará un botón en el extremo inferior izquierdo para inicializar, que aparece por intervalos de tiempo pre-

seleccionados.

Iniciada la interacción, el mismo botón cambia su función a finalización de la interactividad.

Una sección de texto se desplegará verticalmente sobre el margen derecho de la pantalla con formatos de fuente pre-

seleccionados.

-------------------------------------------------------------------------------------------------------------------------------------------------------

ID: Aplicación ocho (App8)

Entradas: {Overlay [Right, Imagen], Colour, Starting, Exiting, ContentBox, Synchronise}

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivar 4.0 Internacional.

128

ICT-UNPA-162-2017ISSN: 1852-4516

Aprobado por Resolución N° 0343/17-R-UNPA

Page 15: Test suite for a generator of TVDI applications using ... · multimedia/hipermedia desarrolladas sobre el paradigma declarativo, escritas en el lenguaje NCL y el lenguaje de scripting

Salida esperada:

Descripción: La aplicación de prueba se despliega sobre el video (programa de tv) que figura al fondo de la pantalla,

presentará un botón en el extremo inferior izquierdo para inicializar, que aparece por intervalos de tiempo pre-

seleccionados.

Iniciada la interacción, el mismo botón cambia su función a finalización de la interactividad.

Una sección de imagen se desplegara verticalmente sobre el margen derecho de la pantalla.

-------------------------------------------------------------------------------------------------------------------------------------------------------

ID: Aplicación nueve (App9)

Entradas: {Overlay [Right, Imagen/Texto], Colour, Starting, Exiting, TextDesign, ContentBox, Synchronise}

Salida esperada:

Descripción: La aplicación de prueba se despliega sobre el video (programa de tv) que figura al fondo de la pantalla,

presentara un botón en el extremo inferior izquierdo para inicializar, que aparece por intervalos de tiempo pre-

seleccionados.

Iniciada la interacción, el mismo botón cambia su función a finalización de la interactividad.

Una sección de imagen y texto se desplegará verticalmente sobre el margen derecho de la pantalla con formatos de

fuente pre-seleccionados.

5 VALIDACION

La suite de pruebas obtenida fue validada mediante el software FAMA TEST SUITE (Segura

y Otros, 2009), que implementa el análisis de modelos de características de manera

automática, dicho software puede ser implementado de diferentes maneras, en este caso, fue

implementado como Plug-in del IDE Eclipse.

En principio recibe como entrada un archivo de extensión XML, que representa el modelo de

características y un archivo de extensión FM, especificando relaciones y restricciones entre

características del modelo.

Valiéndose de los métodos propios de FAMA, se validó el modelo, lo que determinó que este

bien formado, luego se determinó el número posible de productos y su conformación, que

para este problema constituyen el conjunto de pruebas y el resultado fue el que se presenta en

la figura 4.

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivar 4.0 Internacional.

129

ICT-UNPA-162-2017ISSN: 1852-4516

Aprobado por Resolución N° 0343/17-R-UNPA

Page 16: Test suite for a generator of TVDI applications using ... · multimedia/hipermedia desarrolladas sobre el paradigma declarativo, escritas en el lenguaje NCL y el lenguaje de scripting

Figura 4: Resultados calculados por F.A.M.A.

Se observan 9 productos posibles, descriptos como aplicaciones (APP) y entre { }

especificando cada característica participante.

De esta manera validamos automáticamente la suite de pruebas obtenida de forma manual.

6 CONCLUCIONES

La aplicación de modelos de características para la generación de una suite de pruebas

permite diseñar y modelar el conjunto de especificaciones de cada aplicación que es parte de

la suite. Además favorece la identificación de distintos tipos de relaciones entre las

propiedades y elementos funcionales de la herramienta a probar. La modificación del modelo

de características, para incorporar nuevas características (patrones) para versiones futuras de

Dr. Nau es un proceso de bajo costo y esfuerzo y por ende replicable a todo el proceso de

desarrollo de Dr. Nau.

El trabajo a futuro refiere a continuar refinando la suite de pruebas generada. El proceso que

sigue, busca encontrar para cada prueba obtenida las posibles variantes de pruebas, para lo

cual en principio planteamos aplicar técnicas convencionales de la teoría de pruebas.

REFERENCIAS

APEL S., BATORY D., KÄSTNER C., and SAAKE G. (2013) Feature-Oriented Software

Product Lines: Concepts and Implementation, Springer. https://doi.org/10.1007/978-3-

642-37521-7 BARBOSA S.D.J. y SOARES L.F.G. (2008) TV digital interativa no Brasil se faz com

Ginga: Fundamentos, Padroes, Autoria Declarativa e Usabilidade. Em T.

Kowaltowsky & K Breitman (orgs). Atualizacoes em Informática 2008. Rio de

Janeriro, RJ. Editora PUC-Rio. pp 105-174.

CAPILLA R., BOSCH J., TRINIDAD P., RUIZ CORTÉS A. y HINCHEYD M. (2014) An

overview of Dynamic Software Product Line architectures and techniques:

Observations from research and industry, The Journal of Systems and Software 91, pp.

3–23. https://doi.org/10.1016/j.jss.2013.12.038

CLEAVELAND J. (1988) Building application generators. IEEE Software. 5, 4, 25–33. https://doi.org/10.1109/52.17799

CLEMENTS P., NORTHROP L. (2001) Software Product Lines: Practices and Patterns,

Addison-Wesley.

CLEMENTS P., NORTHROP L. (2002) Software Product Lines: Practices and Patterns

Journal of Advanced Nursing, Addison-Wesley Professional, ISBN: 0201703327, pp.

608.

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivar 4.0 Internacional.

130

ICT-UNPA-162-2017ISSN: 1852-4516

Aprobado por Resolución N° 0343/17-R-UNPA

Page 17: Test suite for a generator of TVDI applications using ... · multimedia/hipermedia desarrolladas sobre el paradigma declarativo, escritas en el lenguaje NCL y el lenguaje de scripting

DEURSEN A., KLINT P. (2002) Domain-Specific Language Design Requires Feature

Descriptions, Journal of Computing and Information Technology. Vol 10, pp.1-17. https://doi.org/10.2498/cit.2002.01.01

GARCÉS K., PARRA C., ARBOLEDA H., YIE A. y CASALLAS R. (2007) Administración

de Variabilidad en una línea de producto basado en modelo, Congreso Colombiano de

Computación, Bogotá, Colombia.

GHERARDI L., BRUGALI D. (2011) An eclipse-based Feature Models toolchain. An

eclipse-based feature diagrams toolchain, The Sixth Workshop of the Italian Eclipse

Community, pp. 242-253. In Eclipse-IT.

GONZÁLEZ A., LUNA C., ZORZAN F. y SZASZ N. (2014) Automatic Derivation of

Behavior of Products in a Software Product Line, IEEE LATIN AMERICA

TRANSACTIONS, Vol 12, No 6. https://doi.org/10.1109/TLA.2014.6894009

GONZÁLEZ C. (2012) Software product lines using FODA: a formal approach.

KANG K., COHEN S., HESS J., NOVAK W. y PETERSON S. (1990) Feature-oriented

domain analysis (FODA) feasibility study (No. CMU/SEI-90-TR-21). Carnegie-

Mellon Univ Pittsburgh Pa Software Engineering Inst.

KUNERT T. (2009) User-Centered Interaction Design Patterns for Interactive Digital

Television Applications, Springer – ISBN 978-1-84882-274-0. https://doi.org/10.1007/978-1-84882-275-7

RODRIGUES R. y SOARES R. (2006) Producción de Contenido Declarativo para TV

Digital. XXXIII SemiSH, Brasil.

SEGURA S., BENAVIDES D. and RUIZ-CORTÉS A. (2009) Applied Software Engineering

Research Group University of Seville, Technical Report ISA-09-TR-01, Spain

February.

Sitio Oficial club NCL http://club.ncl.org.br/

Sitio Oficial Ginga.ar (LIFIA) http://tvd.lifia.info.unlp.edu.ar/ginga.ar/

Sitio Oficial Ginga Brasil. http://www.ginga.org.br

Sitio Oficial Lenguaje LUA. http://www.lua.org

Sitio Oficial NCL http://www.ncl.org.br/

Sitio Oficial Red AUTI (Red Temática en Aplicaciones y Usabilidad en Televisión Digital

Interactiva) http://redauti.net/

SOARES L.F.G, RODRIGUES R.F. y MORENO M.F. (2007) Ginga-ncl: the declarative

environment of the brazilian digital TV system. In Journal of the Brazilian Computer

Society, v.12,pp 37-46. http://www.telemidia.puc-rio.br/ https://doi.org/10.1590/S0104-

65002007000100005 SOARES L.F.G y RODRIGUES R.F. (2005) Nested Context Model 3.0: Part 1 – NCM

Core, Technical Report, Departamento de Informática. PUC-Rio. ISSN:0103-9741

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivar 4.0 Internacional.

131

ICT-UNPA-162-2017ISSN: 1852-4516

Aprobado por Resolución N° 0343/17-R-UNPA


Recommended