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

Parada Gélvez, Hugo Alexer (2010). Contribución a la gestión de los procesos de pruebas de software y servicios. Tesis (Doctoral), E.T.S.I. Telecomunicación (UPM).

Descripción

Título: Contribución a la gestión de los procesos de pruebas de software y servicios
Autor/es:
  • Parada Gélvez, Hugo Alexer
Director/es:
  • Dueñas López, Juan Carlos
Tipo de Documento: Tesis (Doctoral)
Fecha: 2010
Materias:
Escuela: E.T.S.I. Telecomunicación (UPM)
Departamento: Ingeniería de Sistemas Telemáticos [hasta 2014]
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

[img]
Vista Previa
PDF (Document Portable Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (9MB) | Vista Previa

Resumen

Software methodologies only provide a high level description of the testing phase. Because of that, test management activities fall under the general control of the project management process. However in a scenario where development project is carried out distributed big development teams, under different development models; the monitoring and control of testing activities becomes difficult. This situation affects both small and big companies of software industry. Big companies most times in order to distribute the development lifecycle activities they contract small companies or a group of developers under an outsourcing model; in other cases they contract specialized companies to execute a lifecycle phase, e.g. testing; so in this particular case testing should be dealt as a project, to face its complexity. In the aforementioned scenario, defining the methodology to be applied to testing project is an activity with high level of complexity. Regarding this topic, testing standards propose a set of best practices and define some phases including some high level activities; but they don’t define technical procedures indicating how a testing life cycle should be implemented. Nonetheless these procedures, the generated artifacts, the relationships between testing and development phases, the decisions derived from test results and how the process should be managed, must be accurately defined. After identifying the shortcoming of test management methodology in the testing domain in this work I analyze the testing activities from management point of view in order to propose a methodology to manage testing software activities as a project. Therefore the general objective of this thesis: “design and propose a methodological framework to manage the testing process of software and services, supported by an integrated set of tools in order to facilitate their application to the development cycle”. I took as a starting point the project management model suggested by the PMBoK (Project Management Body of Knowledge), and based on its concepts I proposed an instantiation of this model to the testing phase-project. As a result, I have built a testing project management model based on two types of processes: management and technical. From this model the testing management process and testing technical activities were defined. The contribution of this thesis is the proposal of a methodological framework, based on the testing standards. The proposed model is made up of three levels; each one includes a set of process, which includes also phases that are implemented by procedures and the artifacts that must be produced as outcomes. To define precisely and consistently these two processes, I have modeled conceptually the domain of software testing, which I have divided it into five functional areas in order to focus its analysis (initiation and establishment of the testing project, testing environment configuration, implementation of the technical testing activities, decision making and traceability). These areas group the elements involved in both technical and management process, and based on them I proposed both technical and management testing processes ant the testing assets. First I defined a lifecycle of testing technical activities made up of six stages: test requirements, test design, test specification, test implementation, test execution and analysis of results. In addition to defining the activities to be managed, and to manage them I also defined five processes that shape the cycle of testing management: start of the test project, test planning, the execution of the testing technical processes, monitoring and control of the test activities and completion or end of the test project. In order to validate the applicability of these processes to a specific domain, I proposed test architecture based on the components of development, management and technical testing. This allowed me to propose a test management system; which can be applied to different development models (traditional and agile). Both architecture and test management system were validated by industrial case study. Regarding the testing methodology I assessed the impact from improvement process point of view, taking as reference the prescriptions from CMMI (Capability Maturity Model Integration) model. 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 (“outsourcing”) 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 definí las actividades a ser gestionadas; y para gestionarlas también propuse cinco grupos procesos que conformaron el nivel 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.

Más información

ID de Registro: 4019
Identificador DC: http://oa.upm.es/4019/
Identificador OAI: oai:oa.upm.es:4019
Depositado por: Archivo Digital UPM
Depositado el: 27 Ago 2010 11:41
Ultima Modificación: 20 Abr 2016 13:24
  • Open Access
  • Open Access
  • Sherpa-Romeo
    Compruebe si la revista anglosajona en la que ha publicado un artículo permite también su publicación en abierto.
  • Dulcinea
    Compruebe si la revista española en la que ha publicado un artículo permite también su publicación en abierto.
  • Recolecta
  • e-ciencia
  • Observatorio I+D+i UPM
  • OpenCourseWare UPM