Curso 2006/07 Título del trabajo de investigación “Nuevos Enfoques para la Utilización del Concepto de Documento como Mecanismo de Integración de Procesos y Herramientas” (Resumen) Departamento de Lenguages y Sistemas Informáticos e Ingeniería del Software Facultad de Informática Universidad Politécnica de Madrid Autor: Agustín Yagüe Panadero (ayague@eui.upm.es) Tutores: Juan José Moreno Navarro Juan Garbajosa Sopeña Nuevos Enfoques para la Utilización del Concepto de Documento como Mecanismo de Integración de Procesos y Herramientas Septiembre 2007 Tabla de contenidos 1. 2. 3. Objetivos y justificación........................................................................................... 2 Conclusiones............................................................................................................. 3 Bibliografía............................................................................................................... 3 Agustín Yagüe Panadero 1 Nuevos Enfoques para la Utilización del Concepto de Documento como Mecanismo de Integración de Procesos y Herramientas Septiembre 2007 1. Objetivos y justificación El trabajo realizado tiene como objetivo presentar un enfoque para la generación automática o semi-automática de entornos de validación de sistemas especificos de dominio basados en pruebas de aceptación. Esto se ha estudiado en el contexto de herramientas y entornos de desarrollo orientados a documento. Desde hace mucho tiempo, las pruebas han sido consideradas una actividad importante. Sin embargo, los esfuerzos reales de que se han dedicado en muchos proyectos informáticos no ha sido el esperado como se muestra en [1]. La aparición de las metodologías ágiles, oficialmente iniciadas con “Manifesto of Agile Software” [2], ha hecho que el peso relativo de las pruebas haya aumentado, lo que se pone de manifiesto con el auge que está teniendo el desarrollo dirigido por pruebas [3] (Test Driven Development - TDD). Todo lo anterior puede extenderse a las pruebas de aceptación, que están tomando relevancia bajo el amparo de las metodologías ágiles. En este trabajo se ha profundizado en el soporte a la automatización de las pruebas de aceptación. Dado que los conceptos relacionados con las pruebas son muy extensos en la comunidad de software y sistemas, se han presentado de forma breve los conceptos fundamentales que son necesarios para la comprensión de este trabajo. Las pruebas de aceptación son una parte del proceso de validación. Según [4], el objetivo del proceso de validación es asegurar que los requisitos de software y sistemas se cumplen mediante la ejecución de diferentes tipos de pruebas: integración, sistemas y aceptación. Las pruebas se estructuran en procedimientos de test que están formados por un número de pasos. Otro aspecto importante relacionado con las pruebas es la automatización. Es interesante resaltar que la mayoría de los trabajos en este área, se centran en producir soluciones particulares para problemas específicos aplicando diferentes enfoques. En la mayoría de los casos la automatización se ha fijado en la generación automática de casos de prueba buscando el mayor recubrimiento de requisitos posible y no he encontrado referencias sobre la automatización de la generación de entornos de validación basados en pruebas de aceptación. En la ejecución de este trabajo se ha estudiado aplicación de herramientas de ejecución de pruebas en diferentes fases del ciclo de vida. Esto se manifiesta de forma más relevante en las pruebas de aceptación como se describe en [5]: las pruebas unitarias son más cercanas a las especificaciones y las pruebas de aceptación son más próximas a los usuarios finales, que son quienes ejecutan las pruebas y que están alejados de especificaciones abstractas. Esta distancia es la que se pretende solventar con los enfoques de modelado específico de dominio utilizados en este trabajo, lo que ha dado un fuerte impulso a la reducción de la distancia entre usuarios y pruebas de aceptación. El trabajo se ha desarrollado de la siguiente forma. En primer lugar se ha estudiado el estado del arte de las tecnologías relacionadas con las pruebas de aceptación. A continuación se ha abordado una visión general del proceso de generación de las herramientas para la ejecución de pruebas de aceptación. Una vez analizado el proceso general, se estudiaron los tipos de requisitos necesarios para la generación de este tipo Agustín Yagüe Panadero 2 Nuevos Enfoques para la Utilización del Concepto de Documento como Mecanismo de Integración de Procesos y Herramientas Septiembre 2007 de entornos de validación. Posteriormente se presentan los modelos identificados para la generación del entorno de pruebas de aceptación aplicando un enfoque dirigido por modelos y finalmente se han obtenido conclusiones. 2. Conclusiones La primera aportación del trabajo es la identificación de las posibles fuentes de conocimiento necesarias para la generación de herramientas de validación específicas de dominio basadas en pruebas de aceptación. Este conocimiento se representa en forma de requisitos y los modelos definidos a partir de los requisitos. Este trabajo también presenta un enfoque dirigido por modelos para derivar las herramientas y los entornos de validación a partir de los modelos previamente definidos. Este acercamiento se basa en la definición de transformaciones de modelos. La derivación se puede realizar de forma semiautomática o completamente automática dependiendo de características del sistema. A través de estos enfoques, los ingenieros de software y sistemas pueden tener acceso a herramientas específicas de dominio para la validación de sistemas en las primeras fases del ciclo de vida y con un coste limitado. Las líneas de trabajo futuras que se pueden plantear a partir de éste pueden estar orientados a la definición formal de los modelos mediante lenguajes de modelado de sistemas para que sean utilizados como entrada de herramientas de generación. Otra posible línea consistiría en la aplicación del enfoque de lineas de producto presentado en [6] como salida de las transformaciones de modelos presentadas en el trabajo. Como resultado del trabajo realizado se ha escrito el artículo de título “Applying the knowledge stored in systems models to derive validation tools and environments” cuyos autores son Agustín Yagüe y Juan Garbajosa Sopeña y que ha sido aceptado y presentado en “ICCI 2007. The 6th IEEE International Conference on COGNITIVE INFORMATICS” que se ha celebrado del 6 al 8 de agosto de 2007 en Lake Tahoe, California, USA. Dicho artículo aparece publicado en las páginas 391-400 de los proceedings de la Conferencia cuyo ISBN es 1-4244-1327-3. 3. Bibliografía 1. D. O’Connor, “Neglect testing at your peril,” Spectrum, IEEE, 2001. 2. K. Beck and al., “Manifesto for agile software development,” web. [Online]. Available: http://agilemanifesto.org 3. D. Janzen and H. Saiedian, “Test-driven development: Concepts, taxonomy, and future di- rection,” Computer, vol. 38, no. 9, pp. 43–50, 2005. 4. IEEE, IEEE Std 1012-2004, IEEE Standard for Software Verificiation and Validation. Published: IEEE-STD:adr: IEEE, 2005. 5. R. O. Rogers, “Acceptance testing vs. unit testing: A developer’s perspective.” in XP/Agile Universe, ser. Lecture Notes in Computer Science, C. Zannier, H. Erdogmus, and L. Lind- strom, Eds., vol. 3134. Springer, 2004, pp. 22–31. 6. B. Magro, “Arquitectura de referencia para una familia de entornos de validación de sistemas,” M. Eng. thesis, Facultad de Informa´tica, Madrid, Spain, jun 2005. Agustín Yagüe Panadero 3