Requisitos, Calidad y Pruebas

URI permanente para esta colección:

Artículos en la categoría Requisitos, Calidad y Pruebas publicados en las Actas de las XXII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2017).
Notificar un error en esta colección

Examinar

Envíos recientes

Mostrando 1 - 7 de 7
  • Resumen
    Coverage-Aware Test Database Reduction
    Tuya, Javier; de la Riva, Claudio; Suárez-Cabal, María José; Blanco, Raquel. Actas de las XXII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2017), 2017-07-19.
    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
  • Resumen
    A Survey on Metamorphic Testing
    Segura Rueda, Sergio; Fraser, Gordon; Sánchez Jerez, Ana Belén; Ruiz Cortés, Antonio. Actas de las XXII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2017), 2017-07-19.
    S. Segura, G. Fraser, A. B. Sanchez and A. Ruiz-Cortés, A Survey on Metamorphic Testing, in IEEE Transactions on Software Engineering, vol. 42, no. 9, pp. 805-824, Sept. 1 2016. https://doi.org/10.1109/TSE.2016.2532875 Indicadores de calidad: - Revista de referencia en el área de Ingeniería del Software (CS-SE: 20/106). - Ha recibido 9 citas desde su publicación en febrero de 2016 (más otras 5-7 citas por aparecer en las actas del segundo workshop internacional de pruebas metamórficas [1]). - Hemos sido invitados a presentar el trabajo en ICSE17 como parte de la iniciativa journal-first (ver programa de la conferencia [2]). - Colaboración internacional con el profesor Gordon Fraser. [1] https://www.cs.montana.edu/met17/ [2] http://icse2017.gatech.edu/?q=technical-research-accepted
  • Artículo
    Mantenimiento de la Consistencia Lógica en Cassandra
    Suárez-Otero, Pablo; Gutierrez, Javier; de la Riva, Claudio; Tuya, Javier. Actas de las XXII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2017), 2017-07-19.
    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.
  • Resumen
    Assessment of class mutation operators for C++ with the MuCPP mutation system
    Delgado Pérez, Pedro; Medina Bulo, María Inmaculada; Palomo-Lozano, Francisco; García Domínguez, Antonio; Domínguez Jiménez, Juan José. Actas de las XXII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2017), 2017-07-19.
    Context: Mutation testing has been mainly analyzed regarding traditional mutation operators involving structured programming constructs common in mainstream languages, but mutations at the class level have not been assessed to the same extent. This fact is noteworthy in the case of C++ , despite being one of the most relevant languages including object-oriented features. Objective: This paper provides a complete evaluation of class operators for the C++ programming language. MuCPP, a new system devoted to the application of mutation testing to this language, was developed to this end. This mutation system implements class mutation operators in a robust way, dealing with the inherent complexity of the language. Method: MuCPP generates the mutants by traversing the abstract syntax tree of each translation unit with the Clang API, and stores mutants as branches in the Git version control system. The tool is able to detect duplicate mutants, avoid system headers, and drive the compilation process. Then, MuCPP is used to conduct experiments with several open-source C++ programs. Results: The improvement rules listed in this paper to reduce unproductive class mutants have a significant impact in the computational cost of the technique. We also calculate the quantity and distribution of mutants generated with class operators, which generate far fewer mutants than their traditional counterparts. Conclusions: We show that the tests accompanying these programs cannot detect faults related to particular object-oriented features of C++ . In order to increase the mutation score, we create new test scenarios to kill the surviving class mutants for all the applications. The results confirm that, while traditional mutation operators are still needed, class operators can complement them and help testers further improve the test suite. Autores: Pedro Delgado-Pérez, Inmaculada Medina-Bulo, Francisco Palomo-Lozano, Antonio García-Domínguez, Juan José Domínguez-Jiménez Revista: Information and Software Technology, Volume 81, January 2017, Pages 169-184, http://dx.doi.org/10.1016/j.infsof.2016.07.002 Factor de impacto: 1.569 - Q1 (listado JCR 2015)
  • Artículo
    Design Patterns for Software Evolution Requirements
    Capel Tuñón, Manuel I.; Gramán Padua, Anna C.; Garví García, Eladio. Actas de las XXII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2017), 2017-07-19.
    The software Engineering term known as Software Evolution can be understood in two senses. First, as the changes that software experiences over its develop-ment cycle, second, as changes that software goes through in its lifetime. In both cases, software architectures should lead, support and ease any software modifications, reconfiguration or adaptation to a changing environment. At moment, it is widely acknowledged that design and architectural patterns must be used for carrying out any software development focused on quality. We present here the analysis of several design and architectural patterns for sustaining software systems evolution according to two complementary perspectives, one connected with maintainability and the other with dynamicity of any software design.
  • Artículo
    Localización de defectos en aplicaciones MapReduce
    Morán, Jesús; de la Riva, Claudio; Tuya, Javier; Rivas García, Bibiano. Actas de las XXII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2017), 2017-07-19.
    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.
  • Artículo
    Mapas de navegación para la automatización de pruebas de aceptación en aplicaciones móviles
    Valencia-Vásconez, Ginger Janet; Latre, Miguel Ángel; López-Pellicer, Francisco Javier; Nogueras Iso, Javier. Actas de las XXII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2017), 2017-07-19.
    Para que el proceso de pruebas del software resulte eficaz es habitual que tanto la parte proveedora como la parte aceptante colaboren. Esto es especialmente cierto en el nivel de las pruebas de aceptación, donde la responsabilidad principal recae en la parte aceptante. Aunque se ha avanzado mucho en herramientas que facilitan de forma automática la generación de casos de prueba y la ejecución de los mismos, estas están normalmente pensadas para desarrolladores con avanzados conocimientos en programación. Este trabajo presenta un componente, denominado Graph2Test, que pretende facilitar la comunicación entre la parte aceptante y la parte desarrolladora en base a la representación mediante un diagrama de estados de los mapas de navegación de la aplicación objeto de las pruebas. A partir de este mapa de navegación se generan casos de prueba en texto plano (lenguaje Gherkin), que posteriormente se transforman en scripts de prueba utilizando la tecnología Cucumber. El componente está especializado en la prueba de aplicaciones móviles Android y autocompleta parcialmente estos scripts de prueba con instrucciones del entorno de automatización Espresso.