Contribution to the automation of software quality control of web applications

García Gutiérrez, Boni (2011). Contribution to the automation of software quality control of web applications. Tesis (Doctoral), E.T.S.I. Telecomunicación (UPM).

Descripción

Título: Contribution to the automation of software quality control of web applications
Autor/es:
  • García Gutiérrez, Boni
Director/es:
  • Dueñas López, Juan Carlos
Tipo de Documento: Tesis (Doctoral)
Fecha: 2011
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 (7MB) | Vista Previa

Resumen

Abstract The Web has become one of the most influential instruments in the history of mankind. Therefore, web applications development is a hot topic in the Software Engineering domain. In this context, the software quality is a key concept since it determines the degree in which a system meets its requirements and meets the expectations of its customers and/or users. Quality control (also known as verification and validation) is the set of activities designed to assess a software system in order to ensure its quality. Therefore, the quality control process ensures the requirements of applications while reducing the number of defects. The two core activities in quality control are testing and analysis. On one hand, testing is a dynamic method, i.e., it assesses the responses of a running system. On the other hand, analysis is static, i.e., it assesses the software artefacts (e.g., source code, models, and so on) without its execution. Current web applications market is defined by fierce global competition. This market can be divided into three different positions: quality, cost, and time to market. In order to minimize costs and time to market in the development of web applications is a very common practice the reduction or elimination of quality control processes. This fact has a direct impact in the low quality of such applications. Automation of quality control activities help to improve the overall quality of software developed while reducing development time and costs. This PhD dissertation proposes a set of techniques to automate the quality control (testing and analysis) for web applications. The heterogeneous nature of web applications makes complex the quality control activities. Web applications are based on client‐server architecture. This dissertation is focuses on the client‐side of web systems, since it is the differentiating factor of such applications. According to the ISO‐9126 standard, quality in use is the quality perceived by users of the applications during phases of operation and maintenance of these applications. This type of quality is determined by its external quality (properties of the system during its execution) and internal quality (system properties statically). Thus, the quality use of web applications is always perceived from client‐side in web applications. The quality control process proposed in this dissertation is based on the automation of the navigation of web applications. Functional and non‐functional requirements of the system under test will guide the process. Regarding non‐functional requirements, testing and analysis will be made to the quality attributes considered the most important for web applications: performance, security, compatibility, usability and accessibility. The first step in this automation is defining the structure of the navigation. To achieve this aim, existing software artefacts in the phase of analysis and design of web applications under test will be reused as far as possible. Then, as the navigation is automated, there will be different kinds of tests and analysis in the various states of the navigation. The aggregation of the verdicts of the evaluation is stored in an automatically generated report will contain different defects and potential issues found. The processes and methods proposed in this dissertation have been implemented by means of reference architecture. In addition, several experiments and case studies have been conducted in order to assess the proposal. This work has been carried out in different national and international research projects mainly in the ICT‐ROMULUS, ITEA‐MOSIS and Factur@. La Web se ha convertido en uno de los instrumentos más influyentes de la humanidad. El desarrollo de aplicaciones web es por tanto un tema de capital importancia en el mundo de la Ingeniería de Software. En este ámbito, la calidad de software es un concepto clave ya que determina el grado en el que un sistema cumple sus requisitos y satisface las expectativas de sus clientes y/o usuarios. El control de calidad (también conocido como verificación y validación) es el conjunto de actividades dirigidas a evaluar un sistema software con el objetivo de asegurar la calidad del mismo. El control de calidad es por tanto el proceso encargado de asegurar que se cumplen los requisitos de las aplicaciones al tiempo que se elimina (o se reduce al máximo) el número de defectos en las mismas. Las dos actividades básicas del control de calidad son las pruebas y el análisis. Las pruebas son de naturaleza dinámica, esto es, se evalúa las respuestas de un sistema en ejecución. Por el contrario, el análisis es de naturaleza estática, es decir, se evalúa los artefactos que componen el software en cuestión (por ejemplo, su código fuente, modelos, etc.) sin la ejecución del mismo. El mercado de las aplicaciones web está determinado por una competencia global dirigida por tres ejes: calidad, costes, y tiempo de salida al mercado. Para minimizar costes y tiempo de salida al mercado, es una práctica muy común en el desarrollo de aplicaciones web la reducción o eliminación de los procesos de control de calidad, aminorando por tanto la calidad final de las aplicaciones web. La automatización de las actividades de control de calidad ayuda a mejorar la calidad global del software desarrollado mientras se reducen los tiempos de desarrollo y costes. Esta tesis doctoral propone un conjunto de técnicas para automatizar el control de calidad (pruebas y análisis) para aplicaciones web. La naturaleza heterogénea de las aplicaciones web hace las actividades de control de calidad sean complejas. Las aplicaciones web están basadas en una arquitectura cliente‐servidor. Esta tesis está centrada en la parte cliente de los sistemas web, ya que es el factor diferenciador de este tipo de aplicaciones. Según el estándar ISO‐9126, la calidad en uso es la calidad percibida por los usuarios de las aplicaciones durante las fases de operación y mantenimiento de dichas aplicaciones. Este tipo de calidad está determinada por la calidad externa (propiedades del sistema durante su ejecución) e interna (propiedades del sistema de forma estática) del sistema en cuestión. Así pues, la calidad en uso de las aplicaciones web es percibida siempre desde lado cliente de las aplicaciones web. El proceso de control de calidad propuesto en esta tesis doctoral está basado en la automatización de la navegación de las aplicaciones web. Los requisitos funcionales y no funcionales del sistema bajo pruebas guiarán el proceso. Respecto a los requisitos no funcionales, se realizarán pruebas y análisis para los atributos de calidad considerados como los más importantes para aplicaciones web: rendimiento, seguridad, compatibilidad, usabilidad y accesibilidad. El primer paso en esta automatización consistirá en definir la estructura de navegación de la misma. Para ello se usarán (y reutilizarán en la medida de lo posible) artefactos software existentes en las fase de análisis y diseño de las aplicaciones web bajo prueba. A continuación, según se lleve a cabo la navegación de forma automática, se realizarán diferentes tipos de pruebas y análisis en los diferentes estados por los que va pasando el sistema según avanza la navegación. La agregación de los veredictos de dicha evaluación será almacenada en un informe generado automáticamente que contendrá los diferentes tipos defectos encontrados, así como problemas potenciales en los atributos de calidad previamente seleccionados. Los procesos y métodos propuestos en esta tesis han sido puestos en marcha mediante una arquitectura e implementación de referencia. Además, se han llevado a cabo diferentes experimentos y casos de estudio para evaluar la validez de la propuesta. Este trabajo ha sido llevado a cabo en diferentes proyectos nacionales e internacionales de investigación, principalmente en los proyectos ICT‐ROMULUS, ITEA‐MOSIS y Factur@. Resumen La Web se ha convertido en uno de los instrumentos más influyentes de la humanidad. El desarrollo de aplicaciones web es por tanto un tema de capital importancia en el mundo de la Ingeniería de Software. En este ámbito, la calidad de software es un concepto clave ya que determina el grado en el que un sistema cumple sus requisitos y satisface las expectativas de sus clientes y/o usuarios. El control de calidad (también conocido como verificación y validación) es el conjunto de actividades dirigidas a evaluar un sistema software con el objetivo de asegurar la calidad del mismo. El control de calidad es por tanto el proceso encargado de asegurar que se cumplen los requisitos de las aplicaciones al tiempo que se elimina (o se reduce al máximo) el número de defectos en las mismas. Las dos actividades básicas del control de calidad son las pruebas y el análisis. Las pruebas son de naturaleza dinámica, esto es, se evalúa las respuestas de un sistema en ejecución. Por el contrario, el análisis es de naturaleza estática, es decir, se evalúa los artefactos que componen el software en cuestión (por ejemplo, su código fuente, modelos, etc.) sin la ejecución del mismo. El mercado de las aplicaciones web está determinado por una competencia global dirigida por tres ejes: calidad, costes, y tiempo de salida al mercado. Para minimizar costes y tiempo de salida al mercado, es una práctica muy común en el desarrollo de aplicaciones web la reducción o eliminación de los procesos de control de calidad, aminorando por tanto la calidad final de las aplicaciones web. La automatización de las actividades de control de calidad ayuda a mejorar la calidad global del software desarrollado mientras se reducen los tiempos de desarrollo y costes. Esta tesis doctoral propone un conjunto de técnicas para automatizar el control de calidad (pruebas y análisis) para aplicaciones web. La naturaleza heterogénea de las aplicaciones web hace las actividades de control de calidad sean complejas. Las aplicaciones web están basadas en una arquitectura cliente‐servidor. Esta tesis está centrada en la parte cliente de los sistemas web, ya que es el factor diferenciador de este tipo de aplicaciones. Según el estándar ISO‐9126, la calidad en uso es la calidad percibida por los usuarios de las aplicaciones durante las fases de operación y mantenimiento de dichas aplicaciones. Este tipo de calidad está determinada por la calidad externa (propiedades del sistema durante su ejecución) e interna (propiedades del sistema de forma estática) del sistema en cuestión. Así pues, la calidad en uso de las aplicaciones web es percibida siempre desde lado cliente de las aplicaciones web. El proceso de control de calidad propuesto en esta tesis doctoral está basado en la automatización de la navegación de las aplicaciones web. Los requisitos funcionales y no funcionales del sistema bajo pruebas guiarán el proceso. Respecto a los requisitos no funcionales, se realizarán pruebas y análisis para los atributos de calidad considerados como los más importantes para aplicaciones web: rendimiento, seguridad, compatibilidad, usabilidad y accesibilidad. El primer paso en esta automatización consistirá en definir la estructura de navegación de la misma. Para ello se usarán (y reutilizarán en la medida de lo posible) artefactos software existentes en las fase de análisis y diseño de las aplicaciones web bajo prueba. A continuación, según se lleve a cabo la navegación de forma automática, se realizarán diferentes tipos de pruebas y análisis en los diferentes estados por los que va pasando el sistema según avanza la navegación. La agregación de los veredictos de dicha evaluación será almacenada en un informe generado automáticamente que contendrá los diferentes tipos defectos encontrados, así como problemas potenciales en los atributos de calidad previamente seleccionados. Los procesos y métodos propuestos en esta tesis han sido puestos en marcha mediante una arquitectura e implementación de referencia. Además, se han llevado a cabo diferentes experimentos y casos de estudio para evaluar la validez de la propuesta. Este trabajo ha sido llevado a cabo en diferentes proyectos nacionales e internacionales de investigación, principalmente en los proyectos ICT‐ROMULUS, ITEA‐MOSIS y Factur@.

Más información

ID de Registro: 9017
Identificador DC: http://oa.upm.es/9017/
Identificador OAI: oai:oa.upm.es:9017
Depositado por: Archivo Digital UPM
Depositado el: 27 Sep 2011 08:55
Ultima Modificación: 20 Abr 2016 17:36
  • 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