Calidad y Pruebas

URI permanente para esta colección:

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

Examinar

Envíos recientes

Mostrando 1 - 8 de 8
  • Artículo
    Generación y Ejecución de Escenarios de Prueba para Aplicaciones MapReduce
    Morán, Jesús; De La Riva, Claudio; Tuya, Javier. Actas de las XXI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2016), 2016-09-13.
    Los programas que procesan grandes cantidades de datos se suelen ejecutar sobre una infraestructura distribuida, como es el caso de las aplicaciones implementadas bajo el modelo de procesamiento MapReduce. Estos modelos permiten al desarrollador centrarse en la funcionalidad de la aplicación y abstraer aspectos relacionados con la infraestructura en la que se ejecutará. Sin embargo, su configuración y estado pueden causar que ciertos defectos sean difíciles de detectar debido a que las pruebas se suelen ejecutar en un entorno controlado, con bajo nivel de paralelismo y con pocos datos de entrada. En este artículo se elabora una técnica de prueba que partiendo de unos datos de entrada, genera y reproduce diferentes configuraciones de la infraestructura con el objetivo de detectar aquellas que revelen defectos funcionales en la aplicación. Esta técnica se automatiza en un motor de ejecución de pruebas y se aplica a un caso de estudio que actualmente se encuentra en producción. Como resultado, partiendo de un caso de prueba de tamaño reducido, se han identificado automáticamente varias configuraciones de la infraestructura que ocasionarían fallos de la aplicación.
  • Artículo
    Generación automática de eventos de prueba para sistemas de IoT
    Gutiérrez-Madroñal, Lorena; Medina-Bulo, Inmaculada; Domínguez-Jiménez, Juan José. Actas de las XXI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2016), 2016-09-13.
    La aplicación en diversas áreas de Internet de las Cosas (IoT) ha ido en aumento en los últimos años. Uno de los principales inconvenientes que tienen los sistemas IoT es la cantidad de información que tienen que manejar. Esta información llega en forma de eventos, cuyo receptor ha de tomar las decisiones correctas, en tiempo real, según los datos recibidos. Viendo la relevancia que tiene el procesado de esta información, resulta fundamental analizar y probar los sistemas IoT que van a trabajar con ella. Para probar las distintas funcionalidades de los sistemas IoT, se necesita una gran cantidad de eventos con estructuras y valores específicos. Conseguir estos eventos de forma manual puede ser una tarea muy costosa y propensa a errores. En este trabajo se presenta un método para la generación automática de eventos de prueba para sistemas de IoT. Los resultados obtenidos en los casos de prueba utilizados muestran su viabilidad.
  • Artículo
    Hacia un entorno extensible basado en ADM para la refactorización de sistemas heredados
    Lorente Ramírez, Abel; García-Rodríguez de Guzmán, Ignacio; Piattini Velthuis, Mario Gerardo. Actas de las XXI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2016), 2016-09-13.
    Hoy en día siguen activos muchos sistemas heredados que presentan problemas que afectan a las distintas características la calidad del software. Para mejorar estos problemas, existen herramientas de refactorización, cuyo objetivo es mejorar aspectos de calidad concretos sin afectar al comportamiento del sistema heredado. ADM (Modernización Dirigida por la Arquitectura), se presenta como el paradigma que basa el entendimiento y evolución de los sistemas software en MDA. Existen multitud de entornos que implementan estrategias de refactorización clásicas para mejorar la calidad de los sistemas, pero estas herramientas ofrecen un catálogo fijo de refactorizaciones. La propuesta que se presenta en este artículo consiste en un entorno flexible basado en ADM que permite la definición de “bad-smells” (clásicos y nuevos), aplicables a contextos concretos y su identificación en sistemas heredados, teniendo así una herramienta totalmente flexible y extensible.
  • Artículo
    Comparación de herramientas de Detección de Design Smells
    Alkharabsheh, Khalid; Crespo, Yania; Manso, M. Esperanza; Taboada, José Ángel. Actas de las XXI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2016), 2016-09-13.
    La detección de Design Smells ha experimentado un auge en actividad entre los años 2010 y 2014. Proliferan las herramientas de detección automática pero se percibe un problema de falta de acuerdo en la identificación de Design Smells. En este trabajo se presentan dos experimentos. El primero es un experimento diseñado como estudio preliminar en el que se comparan una selección de 6 herramientas (inCode, inFusion, iPlasma, Together, JDeodorant y JSmellSensor) usándolas para detectar Design Smells en un proyecto software de código abierto. Del proyecto seleccionado se eligieron 100 clases aleatoriamente para este primer estudio exploratorio. El análisis consistió en valorar el grado de acuerdo en la identificación de Design Smells en el grupo de herramientas. En este primer experimento el estudio se realizó centrándose en la detección de dos tipos de Design Smells: God Class y Feature Envy. De este primer estudio se detectó un grupo de tres herramientas (inCode, inFusion, iPlasma) con un grado de acuerdo muy bueno. Se analizó que esto es así debido a que las tres fueron desarrolladas en el mismo grupo de investigación. Entre el resto de herramientas el acuerdo es inexistente (peor que al azar) o débil. El acuerdo débil se detectó entre el grupo de tres herramientas antes mencionadas y la herramienta JSmellSensor. JSmellSensor es una herramienta experimental desarrollada en nuestro grupo de investigación que parte de conocimiento aportado por iPlasma. Debido a estas circunstancias y para profundizar en el problema se diseñó una réplica. En esta réplica se comparan 5 herramientas (iPlasma, PMD, JDeodorant, DECOR, Together). Del grupo de tres herramientas identificado en el primer experimento se eligió como representante iPlasma. Se decidió que JSmellSensor no participase en esta réplica. En este segundo experimento se analizaron 12588 clases fruto de la preparación de un dataset con todas las clases de 24 proyectos de código abierto obtenidos de SourceForge. Este segundo experimento se centró únicamente en el estudio del acuerdo en la identificación de God Clss. Los resultados obtenidos en este segundo experimento muestran que tanto el acuerdo entre las herramientas tomadas conjuntamente como analizadas dos a dos es muy pobre.
  • Artículo
    Calidad Ágil: Patrones de Diseño en un contexto de Desarrollo Dirigido por Pruebas
    Capel Tuñón, Manuel I.; Grimán, Anna C.; Garví García, Eladio. Actas de las XXI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2016), 2016-09-13.
    En esta investigación se propone un conjunto inicial de patrones de diseño que pueden ser utilizados en un contexto de TDD. Se analizan las características de calidad de software de cada uno de los patrones del conjunto seleccionado según el estándar de calidad de software vigente ISO/IEC 25010:2011~cite{ISO/IEC}. Para cada patrón y característica ISO, se discute si las propiedades esperadas del código resultan aumentadas o inhibidas con la incorporación del patrón. Se realiza un análisis crítico de cada patrón seleccionado según tres dimensiones: (1)capacidad de prueba (testability), (2)características de calidad propiciadas y (3)características de calidad inhibidas. Esto deriva en un resumen para cada patrón seleccionado, incluyendo una breve descripción de cada patrón, componentes, y su impacto (beneficios y desventajas ) en la calidad del código de pruebas desarrollado a través de su utilización.
  • Artículo
    A Software Engineering Experiments to value MDE in testing. Learning Lessons
    Escalona, M.J.; Lopez Nicolás, Guillermo; Vegas, Sira; García-Borgoñón, Laura; García García, Julián Alberto; Juristo Juzgado, Natalia. Actas de las XXI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2016), 2016-09-13.
    Controlled experiments are commonly used to evaluate Software Engineer-ing methods, processes and tools. Validating results of Software Engineering research in industrial settings is a direct way to obtain feedback about its value. However, few software engineering experiments are running in indus-try. The lack of communication between companies and research teams does not make the necessary cooperation among them possible. This paper pre-sents our experiences when running an experiment dealing with Early Test-ing at the University of Seville. It also introduces the strategy we followed to obtain the participation of 97 practitioners from 32 different software com-panies. Such strategy is pointed out as a set of guidelines to successfully in-volve this large number of companies and practitioners.
  • Artículo
    Sobre el grado de acuerdo entre evaluadores en la detección de Design Smells
    Alkharabsheh, Khalid; Crespo, Yania; Manso, M. Esperanza; Taboada, José Ángel. Actas de las XXI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2016), 2016-09-13.
    La detección de Design Smells ha ido experimentado un auge en resultados de investigación publicados. La primera definición de Design Smells data del año 2000. La primera herramienta se reporta en 2002. A partir de 2004 comienza un crecimiento continuado, proliferando la aparición de nuevas herramientas para la detección automática de Design Smells. Particularmente a partir de 2009-2010 se produce un incremento notable en la actividad en este ámbito. La detección automática de Design Smells ha evolucionado a la par que las herramientas automáticas de refactoring. Sin embargo se constata que no ha sido comparable su adopción por parte de los desarrolladores en la producción y mantenimiento del software, con la forma en la que se han adoptado las herramientas de refactoring. En este trabajo partimos de la suposición de que la diferencia reside en la objetividad y pragmatismo de una operación de refactoring comparada con el grado de subjetividad que suponemos en la definición e identificación de Design Smells. Para estudiar este problema se diseñó una encuesta difundida vía correo electrónico en la que se obtuvieron 92 respuestas de personas tanto de la academia como de la industria acerca de la presencia de Design Smells en 5 clases de un proyecto de código abierto. El estudio se ha realizado centrándose en la detección de dos tipos de Design Smells: God Class y Feature Envy. La selección se basa en que son dos de los Design Smells más populares en la literatura y en que además se trata de Design Smells de diferente naturaleza en cuanto al ámbito y al efecto en el software. Se ha realizado un estudio en el que se valora el grado de acuerdo en la identificación de Design Smells entre los encuestados. En el trabajo se analizan la interrelación entre diferentes factores como la experiencia del evaluador, su contexto de trabajo, etc. Los resultados obtenidos muestran que no existe acuerdo en general y que es muy pobre en los casos en los que sí existe algún acuerdo. A partir de los resultados obtenidos se concluye con recomendaciones a tener en cuenta en las nuevas tendencias para la detección automática de Design Smells que pueden influir positivamente en la adopción por la industria de técnicas y herramientas para la detección de Design Smells.
  • Artículo
    Pruebas sobre aplicaciones de bases de datos orientadas a grafos: un enfoque basado en modelos
    Blanco, Raquel; Tuya, Javier. Actas de las XXI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2016), 2016-09-13.
    Las bases de datos NoSQL plantean nuevos desafíos a la hora de probar las aplicaciones que las utilizan, debido a que sus modelos de datos y sus modos de acceso difieren de las bases de datos relacionales. La prueba de aplicaciones que acceden a bases de datos relacionales ha atraído el interés de muchos investigadores, mientras que la prueba de aplicaciones que acceden a bases de datos NoSQL es un área que aún no ha sido prácticamente explorada. Este trabajo describe un enfoque que permite crear modelos que definen objetivos de prueba para aplicaciones que utilizan bases de datos orientadas a grafo, a partir de la especificación del sistema y del modelo de datos conceptual. Estos modelos son empleados posteriormente para derivar los requisitos de prueba que guían la generación de los casos de prueba. El enfoque ha sido aplicado a una aplicación que representa un problema del mundo real y los resultados muestran que permite diseñar casos de prueba capaces de detectar fallos que pueden aparecer tanto en la especificación del sistema como en la implementación.