Tesis:

Contribución a la gestión de los procesos de pruebas se software y servicios.


  • Autor: PARADA GELVEZ, Hugo Alexer

  • Título: Contribución a la gestión de los procesos de pruebas se software y servicios.

  • Fecha: 2010

  • Materia: Sin materia definida

  • Escuela: E.T.S. DE INGENIEROS DE TELECOMUNICACION

  • Departamentos: INGENIERIA DE SISTEMAS TELEMATICOS

  • Acceso electrónico: http://oa.upm.es/4019/

  • Director/a 1º: DUEÑAS LOPEZ, Juan Carlos

  • Resumen: La fase de pruebas de software se describe a muy alto nivel por parte de las metodologías de desarrollo. Aspectos claves de las pruebas como la gestión dependen de la gestión del proyecto de desarrollo. En un escenario donde los proyectos se ejecutan de manera distribuida, donde participan diferentes equipos, bajo modelos de desarrollo diferentes y con la aplicación de nuevos paradigmas de desarrollo como por ejemplo SOA; las actividades de pruebas son difíciles de seguir y de controlar. Esta situación afecta tanto a las empresas grandes del sector de la industria del software como a las pequeñas. Respecto de las compañías grandes, muchas veces subcontratan a pequeñas compañías ("outsorcing") o desarrolladores independientes ("offshore") y en algunos casos pequeñas filiales; para distribuir las actividades relacionadas con el ciclo de vida de un proyecto, en otros casos se contrata con compañías especializadas la ejecución de una fase, por ejemplo las pruebas; y en este caso en particular se trata a las pruebas como un proyecto separado, con toda la complejidad de estos. En el escenario descrito anteriormente la definición de la metodología que se debe aplicar a un proyecto de pruebas, es una actividad que representa un alto nivel de complejidad. Al respecto los estándares del dominio de prueba proponen un conjunto de buenas prácticas y enuncian las fases y los ciclos de actividades que estas deberían tener, pero no definen los procedimientos y las técnicas que las implementan. Por ello es necesario identificar con mucha precisión los artefactos de prueba y las relaciones de dependencia entre las fases de prueba y las fases del ciclo de desarrollo, que decisiones se derivarían de los resultados de las pruebas y como se gestionarían. Es evidente la falta de una metodología de pruebas centrada en la gestión de estas como un proyecto. Por lo tanto en este trabajo analizo las pruebas de manera independiente desde el punto de vista de su gestión y propongo una metodología para aplicar y gestionar proyectos de pruebas de software. Para lograrlo planteo como objetivo general de la tesis doctoral: Diseñar y proponer un marco metodológico para la gestión de procesos y proyectos de pruebas de software y servicios, soportado por un conjunto integrado de herramientas, que facilite su aplicación al ciclo de desarrollo. Tomé como punto de partida el modelo de gestión de proyectos propuesto por el PMBoK (Project Management Body of Knowledge"), y basado en sus conceptos propuse una instanciación de este modelo al proyecto-fase de pruebas. Como resultado se generó un modelo de gestión de proyectos de prueba basado en dos tipos de procesos: de gestión y técnicos. A partir de los cuales se definieron los procesos de gestión, las actividades técnicas del ciclo de vida de pruebas y sus interrelaciones. La definición de los procesos, procedimientos y técnicas se basan en los estándares sobre pruebas de software. El modelo propuesto está formado por dos niveles; cada nivel incluye un ciclo de procesos, los cuales a su vez incluyen fases que son implementadas por procedimientos y como resultado se obtienen un conjunto de artefactos. Con el fin de definir detalladamente y de manera consistente estos dos procesos, modelé conceptualmente el dominio de pruebas de software, el cual para facilitar su análisis dividí en cinco áreas funcionales de pruebas: de iniciación y establecimiento del proyecto de prueba, de configuración del entorno de prueba, de ejecución de las actividades técnicas de prueba, de toma de decisiones y de trazabilidad. Estas áreas agrupan los elementos que participan en los procesos del proyecto; y basado en ellas propuse los procesos técnicos y de gestión de pruebas con sus artefactos. Primero definí un ciclo de vida técnico para las pruebas, compuesto por seis fases: requisitos de prueba, diseño de pruebas, especificación de las pruebas, implementación de las pruebas, ejecución de las pruebas y análisis de los resultados. Es decir se definí las actividades a ser gestionadas; y para gestionarlas también definí cinco procesos que conforman el ciclo de gestión de pruebas: inicio del proyecto de prueba, planificación de la prueba, ejecución de los procesos técnicos de prueba, seguimiento y control de la prueba y finalización o cierre del proyecto de prueba. Para facilitar la aplicación de estos procesos a un dominio concreto, propuse una arquitectura de pruebas basada en los componentes de desarrollo, de gestión y técnico de pruebas. Esto me permitió proponer un sistema de gestión de prueba con el objetivo de permitir su aplicación a diferentes modelos de desarrollo (tradicional y ágil). Tanto la arquitectura como el sistema de gestión de pruebas se validaron en un caso de estudio industrial. Respecto de la metodología se evaluó su impacto en la mejora de los procesos de la organización, tomando como referencia el modelo CMMI.