Navegación

Búsqueda

Búsqueda avanzada

El autor Javier Tuya ha publicado 15 artículo(s):

1 - Pruebas basadas en flujo de datos para programas MapReduce

MapReduce es un paradigma de procesamiento masivo de información. Estos programas realizan varias transformaciones de los datos hasta que se obtiene la salida representando la lógica de negocio del programa. En este artículo se elabora una técnica de prueba basada en data flow y que deriva las pruebas a partir de las transformaciones que ocurren en el programa. Se muestran resultados de la ejecución de los casos de prueba derivados de la aplicación de la técnica, los cuales permiten detectar algunos defectos.

Autores: Jesús Morán / Claudio de la Riva / Javier Tuya / 
Palabras Clave: MapReduce - pruebas data flow - Pruebas de Software

2 - Pruebas funcionales en programas MapReduce basadas en comportamientos no esperados

MapReduce es un paradigma de programación que permite el procesamiento paralelo de grandes cantidades de datos. Los programas MapReduce se suelen ejecutar sobre el framework Hadoop, el cual no garantiza que se ejecuten siempre en las mismas condiciones, pudiendo producir comportamientos no esperados desde el punto de vista de su funcionalidad. En este artículo se analizan y describen diferentes tipos de defectos específicos que pueden estar presentes en programas MapReduce sobre Hadoop y se muestra cómo se pueden derivar casos de prueba que permiten la detección de dichos defectos. Lo anterior se ilustra sobre varios programas de ejemplo.

Autores: Jesús Morán / Claudio de la Riva / Javier Tuya / 
Palabras Clave: big data - Hadoop - MapReduce - Pruebas de Software

3 - Multi-dimensional Criteria for Testing Web Services Transactions

Web services (WS) transactions are important in order to reliably compose web services and to ensure that their execution is consistent and correct. This paper addresses the key issue of testing WS transactions by proposing multi-dimensional criteria that provide tester with flexibility of adjusting the method in terms of test efforts and effectiveness. The criteria have been designed, implemented and evaluated through a case study. This work has been published in Journal of Computer and Systems Sciences1.

Autores: Rubén Casado / Muhammad Younas / Javier Tuya / 
Palabras Clave: classification-tree - Testing - transactions - web services

4 - SLACT: a Test Case Generation Tool for Service Level Agreements

SLACT (SLA Combinatorial Testing) tool addresses the testing of Service Level Agreements (SLAs) in the context of applications developed under the Service Oriented Architectures paradigm. From the specification of the SLA, it automatically identifies a set of test requirements that are suitably combined in order to generate feasible and executable test cases. To perform the combinations, SLACT implements standard testing techniques such as the Classification Tree Method (CTM) and Combinatorial Testing.

Autores: Marcos Palacios / Pablo Robles / José García-Fanjul / Javier Tuya / 
Palabras Clave: Classification Tree Method - Combinatorial Testing - Service Based Applications - SLAs - Software Testing

5 - DruidaTest: Herramienta para pruebas de cobertura en aplicaciones de bases de datos

Una de las tareas más laboriosas que se llevan a cabo durante el diseño de casos de prueba para una aplicación de bases de datos es la preparación de un conjunto adecuado de datos de prueba, el cual permita cubrir los diversos aspectos del comportamiento de dicha aplicación. Estos datos deben incluir la información almacenada en la base de datos y los valores suministrados por el usuario en el interfaz de usuario. En este artículo, se presenta la herramienta DruidaTest, la cual permite guiar la generación de datos de prueba a partir de la especificación del sistema, utilizando un criterio de suficiencia basado en MCDC. Para alcanzar este propósito DruidaTest utiliza un modelo denominado IDM (Integrated Data Model), que integra la estructura de la base de datos y el interfaz de usuario, y un modelo denominado IRM (Integrated Rules Model), que representa la funcionalidad requerida mediante un conjunto de reglas de negocio escritas en términos del IDM. DruidaTest procesa estos modelos para derivar las situaciones de interés a ser probadas (requisitos de prueba), evalúa automáticamente la cobertura alcanzada y proporciona retroalimentación al ingeniero de pruebas para que pueda incrementar la cobertura.

Autores: Raquel Blanco / Javier Tuya / Rubén V. Seco / 
Palabras Clave: datos de prueba - evaluación de la cobertura - Herramienta - MCDC - model-based testing - pruebas basadas en la especificación - pruebas de caja negra - pruebas sobre bases de datos

6 - Evaluación de la cobertura en la interacción usuario-base de datos utilizando un enfoque de caja negra

Probar una aplicación de bases de datos es una tarea laboriosa debido a que su comportamiento no sólo depende de los valores suministrados por el usuario a través de un interfaz, sino que también depende de la estructura y la información almacenada en la base de datos. Por ello, durante el diseño de los casos de prueba se debe considerar tanto la interacción con el usuario como la interacción con la base de datos. Además, la estructura de la base de datos puede tener una gran complejidad, lo que dificulta el diseño de datos de prueba de calidad. Este trabajo describe un enfoque basado en la especificación (caja negra) que guía el diseño de los datos de prueba (entradas del usuario y base de datos de prueba) para una aplicación de bases de datos y que evalúa automáticamente la cobertura alcanzada por dichos datos de prueba. Para ello se modela de forma conjunta la estructura de la base de datos y del interfaz del usuario, dando lugar a un modelo llamado Modelo Integrado de Datos (IDM), y se expresa la funcionalidad requerida mediante un conjunto de reglas de negocio, escritas en términos del IDM, que forman el Modelo de Reglas Integrado (IRM). Posteriormente se aplica un criterio de suficiencia basado en MCDC sobre el IRM para derivar automáticamente las situaciones de interés a probar (requisitos de prueba). Finalmente, se evalúa automáticamente la cobertura alcanzada por los datos de prueba diseñados. El enfoque ha sido aplicado a dos aplicaciones de bases de datos y los resultados muestran que permiten diseñar casos de prueba capaces de detectar fallos significativos.

Autores: Raquel Blanco / Javier Tuya / Rubén V. Seco / 
Palabras Clave: datos de prueba - evaluación de la cobertura - MCDC - model-based testing - pruebas basadas en la especificación - pruebas de caja negra - pruebas sobre bases de datos

7 - Testing in Service Oriented Architectures with dynamic binding: A mapping study

This article aims at identifying the state of the art in the research on testing Service Oriented Architectures (SOA) with dynamic binding. Testing SOA presents new challenges to researchers because some traditional testing techniques need to be suitably adapted due to the unique features of this new paradigm, for example, the dynamic behavior that allows discovering, selecting and binding a service at runtime. Testing this dynamic binding is one of the most challenging tasks in SOA because the final bound services cannot be known until the moment of the invocations. Hence, there have been a number of recent studies that aim at improving the quality of the dynamic binding using testing approaches.

Autores: Marcos Palacios / José García-Fanjul / Javier Tuya / 
Palabras Clave:

9 - Coverage-Aware Test Database Reduction

Functional testing of applications that process the information stored in databases often requires a careful design of the test database. The larger the test database, the more difficult it is to develop and maintain tests as well as to load and reset the test data. This paper presents an approach to reduce a database with respect to a set of SQL queries and a coverage criterion. The reduction procedures search the rows in the initial database that contribute to the coverage in order to find a representative subset that satisfies the same coverage as the initial database. The approach is automated and efficiently executed against large databases and complex queries. The evaluation is carried out over two real life applications and a well-known database benchmark. The results show a very large degree of reduction as well as scalability in relation to the size of the initial database and the time needed to perform the reduction. — Datos del artículo — Autores: Javier Tuya, Claudio de la Riva, María José Suárez-Cabal, Raquel Blanco Revista: IEEE Transactions on Software Engineering Year: 2016, Volume: 42, Issue: 10 Pages: 941 – 959, DOI: 10.1109/TSE.2016.2519032 Factor de impacto (JCR 2005): 1,516, Q1 in Computer Science, Software engineering — Nota — Artículo para track Requisitos, Calidad y Pruebas, enviado a otros por conflicto de interés

Autores: Javier Tuya / Claudio de La Riva / María José Suárez-Cabal / Raquel Blanco / 
Palabras Clave: Test coverage of code - Test database reduction - Test design - Testing tools

10 - Localización de defectos en aplicaciones MapReduce

Los programas que analizan grandes cantidades de datos suelen ejecutarse en entornos distribuidos, tal y como ocurre con las aplicaciones MapReduce. Estos programas se desarrollan independientemente de la infraestructura sobre que la que se ejecutan, ya que un framework gestiona automáticamente la asignación de recursos y gestión de fallos, entre otros. Detectar y localizar defectos en estos programas suele ser una tarea compleja ya que diversas funciones se ejecutan simultáneamente en una infraestructura distribuida, difícil de controlar y que cambia continuamente. En este artículo se describe una técnica que, a partir de un fallo detectado en las pruebas, localiza defectos de diseño analizando dinámicamente los parámetros que lo causan.

Autores: Jesús Morán / Claudio De La Riva / Javier Tuya / Bibiano Rivas García / 
Palabras Clave: Big Data Engineering - Localización de defectos - MapReduce - Pruebas del software

11 - Mantenimiento de la Consistencia Lógica en Cassandra

A diferencia de las bases de datos relacionales, en bases de datos NoSQL como Cassandra es muy común que exista duplicidad de los datos en diferentes tablas. Esto es debido a que, normalmente, las tablas son diseñadas en base a las consul-tas y a la ausencia de relaciones entre ellas para primar el rendimiento en las con-sultas. Por tanto, si los datos no se actualizan convenientemente, se pueden pro-ducir inconsistencias en la información almacenada. Es relativamente fácil intro-ducir defectos que originan inconsistencia de datos en Cassandra, sobre todo du-rante la evolución de un sistema en el que se crean nuevas tablas, y éstos son difí-ciles de detectar utilizando técnicas convencionales de pruebas dinámicas. El desarrollador es quien debe preocuparse de mantener esta consistencia incluyendo y actualizando los procedimientos adecuados. Este trabajo propone un enfoque preventivo a estos problemas, estableciendo los procesos necesarios para asegu-rar la calidad de los datos desde el punto de vista de su consistencia, facilitando así las tareas del desarrollador. Estos procesos incluyen: (1) un análisis estático considerando el modelo conceptual, las consultas y el modelo lógico de la aplica-ción, para identificar qué elementos (tablas o columnas) de la base de datos se ven afectados por un cambio, y (2) la determinación y ejecución de las operaciones que aseguren la consistencia de la información.

Autores: Pablo Suárez-Otero / Javier Gutierrez / Claudio de La Riva / Javier Tuya / 
Palabras Clave: Apache Cassandra - Consistencia Lógica - Pruebas Estáticas

12 - Towards an MDE-Based Approach to Test Entity Reconciliation Applications (Summary)

The management of large volumes of data has given rise to significant challenges to the entity reconciliation problem (which refers to combining data from different sources for a unified vision) due to the fact that the data are becoming more un-structured, un-clean and incomplete, need to be more linked, etc. Testing the applications that implement the entity reconciliation problem is crucial to ensure both the correctness of the reconciliation process and the quality of the reconciled data.

In this paper, we have presented a work-in-progress that aims to test applications that implement an entity reconciliation problem to ensure the quality of both the applications and the reconciled data. The approach allows the creation of test models for integration testing, taking into account the problem specification and the data models of the data sources and the solution. These test models are composed of several business rules, called integration rules, which can be used to automatically derive the test requirements. Besides, as the integration rules also describe the business logic of the entity reconciliation process, they can be used to partially derive the implementation of the application.

The proposal is based on two main pillars: MDE and virtual graph. The support of automation of the MDE paradigm allows us to build very scalable solutions at a low cost, whilst the virtual graphs allow us to dynamically build the entity reconciliation solution at runtime.

Autores: J.G. Enríquez / Raquel Blanco / F.J. Domínguez-Mayo / Javier Tuya / M.J. Escalona / 
Palabras Clave:

13 - ARTICULO RELEVANTE:Incremental test data generation for database queries

Título: Incremental test data generation for database queriesAutores: María José Suárez-Cabal, Claudio de la Riva, Javier Tuya, Raquel BlancoRevista de publicación: Automated Software EngineeringNúmero, mes y año de la publicación: 24(4), Diciembre 2017Páginas: 719-755DOI: 10.1007/s10515-017-0212-7Indicios de calidad: Factor de impacto: 2.625 (JCR, 2016) Número de citas: 2 [1] R. Blanco and J. Tuya, “Modelling Test Views for Graph Database Applications”, IEEE Latin America Transactions, vol. 15, no. 7, pp. 1312-1317, 2017. doi: 10.1109/TLA.2017.7959352 [2] W. Castelein, M. Aniche, M. Soltani, A. Panichella, A. Deursen, “Search-Based Test Data Generation for SQL Queries”, Proceedings of the 40th International Conference on Software Engineering (ICSE 2018)

Autores: María José Suárez-Cabal / Claudio De La Riva / Javier Tuya / Raquel Blanco / 
Palabras Clave: Constraint satisfaction problem (CSP) - Database testing - Software Testing - Test coverage - Test database generation

14 - Evaluación del mantenimiento de la consistencia lógica en Cassandra

En las bases de datos NoSQL como Cassandra es común que exista duplicidad de los datos entre las tablas, a diferencia de los modelos relacionales normalizados. Esto se debe a que las tablas son diseñadas en base a consultas y a la ausencia de relaciones entre ellas. Por tanto, si los datos no son modificados convenientemente se pueden producir inconsistencias en la información almace-nada. A su vez, es relativamente fácil que se introduzcan defectos que ocasionen inconsistencias en Cassandra, siendo éstos difíciles de detectar utilizando técnicas convencionales de pruebas dinámicas. Con el objetivo de ayudar al desarro-llador a evitar la producción de inconsistencias, proponemos un nuevo método que, usando un modelo conceptual, es capaz de establecer los procesos necesarios para asegurar la calidad de los datos desde el punto de vista de su consistencia a través de pruebas estáticas. En este trabajo evaluamos la eficiencia de este método ante un caso de estudio en el que insertamos tuplas en entidades y relaciones del modelo conceptual y extraemos qué es necesario para mantener la consistencia en el modelo lógico. Los resultados muestran como la desnormalización de los datos puede aumentar la complejidad del mantenimiento de la consistencia, no solo necesitando saber dónde se debe mantener la consistencia sino también cómo hay que mantenerla.

Autores: Pablo Suárez-Otero / Maria José Suárez-Cabal / Javier Tuya / 
Palabras Clave: Cassandra - Consistencia Lógica - Evaluación - Pruebas Estáticas

15 - Automatización de la localización de defectos en el diseño de aplicaciones MapReduce

Los programas MapReduce analizan grandes cantidades de datos sobre una infraestructura distribuida. En cambio, estos programas pueden desarrollarse independientemente de la infraestructura ya que un framework gestiona automáticamente la asignación de recursos y la gestión de fallos. Una vez que se detecta un defecto, suele ser complicado localizar su causa raíz ya que diversas funciones se ejecutan simultáneamente en una infraestructura distribuida que cambia continuamente y que es difícil tanto de controlar como depurar. En este artículo se describe una técnica que, a partir de un caso de prueba que produce fallo, localiza su causa raíz analizando dinámicamente las características del diseño que se cubren cuando se produce fallo y aquellas que no.

Autores: Jesús Morán / Claudio De La Riva / Javier Tuya / 
Palabras Clave: Localización de defectos - MapReduce - Pruebas del software