E N D
SWEBOK Laura Posada Agudelo Carlos Mario Zapata Calidad de Software
SWEBOK • La IEEE creó en Mayo de 1993 su comité para la coordinación de la ingeniería de software (Software Engineering Coordinating Committee) dedicado evaluar, planear y coordinar acciones relacionadas para establecer la Ingeniería de Software como una profesión • Este comité publicó en 2001 la Guia del Cuerpo de Conocimiento de Ingeniería de Software (Guide to the Software Engineering Body of Knowledge) o SWEBOK Calidad de Software
SWEBOK • Este documento tiene como propósito proveer un consenso sobre los límites de la ingeniería de software y acceso al cuerpo de conocimiento de la disciplina • El cuerpo de conocimiento de la ingeniería de software se divide en áreas de conocimiento (Knowledge area o KA) Calidad de Software
Áreas de conocimiento • Requisitos de software • Diseño de software • Construcción de software • Pruebas de software • Mantenimiento de software • Gestión de la configuración de software • Gestión de la ingeniería de software • Proceso de ingeniería de software • Herramientas y métodos de la ingeniería de software • Calidad de software • Áreas del conocimiento de las disciplinas relacionadas Calidad de Software
Pruebas de Software • Las pruebas son una parte importante en el desarrollo de software. Son una técnica para evaluar la calidad del producto • La calidad de software se trata en la respectiva área de conocimiento, pero es complementaria con las pruebas • Se deben ver las pruebas como una forma de verificar si los esfuerzos de prevención fueron efectivos en una organización Calidad de Software
Pruebas de Software • Las pruebas evolucionan día a día. Ya no se ven las pruebas como sólo una actividad que comienza cuando el desarrollo termina • Se ve como una actividad que debe acompañar todo el proceso de desarrollo Calidad de Software
Pruebas de Software • La definición oficial de esta área de conocimiento es: Las pruebas de software consisten en la verificación dinámica del comportamiento de un programa sobre una cantidad finita de casos de prueba, seleccionados cuidadosamente dentro de los infinitos casos posibles del dominio, contra un comportamiento esperado Calidad de Software
Tópicos en Pruebas de Software • Conceptos básicos y definiciones • Niveles de pruebas • Técnicas de pruebas • Métricas relacionadas con las pruebas • Gestión del proceso de pruebas Calidad de Software
Pruebas de software: Conceptos básicos y definiciones • Terminología de pruebas • Fundamentos teóricos • Criterio de selección de pruebas • Efectividad de pruebas • Limitaciones de las pruebas • Comprobabilidad • Relación entre las pruebas y otras actividades como • Técnicas de análisis estático • Verificación formal • Seguimiento (Debugging) • Programación • Aseguramiento de la calidad de SW (SQA) • Certificación Calidad de Software
Niveles de pruebas • Meta u objeto de la prueba: pruebas unitarias, aceptación o de sistema • Objetivos de la prueba: • Aceptación • Instalación • Funcional, conformidad • Confiabilidad • Regresión • Rendimiento • Stress • Usabilidad … Calidad de Software
Técnicas de pruebas • Basadas en la experiencia del probador • Basadas en la especificación • Basadas en el código • Basadas en el uso • Técnicas de caja negra • Técnicas de caja blanca Calidad de Software
Métricas de pruebas • Evaluación del producto que se prueba • Evaluación de las pruebas realizadas Calidad de Software
Gestión del proceso de pruebas • Proceso de pruebas • Planeación • Control costo/efecto y otras métricas • Equipo de pruebas • Reusabilidad de pruebas • Evaluación de resultados • … Calidad de Software
Gestión de la configuración del software • Controla la evolución e integridad de un producto identificando sus elementos, gestionando y controlando el cambio y verrificando, registrando y reportando la información de la configuración Calidad de Software
Tópicos en gestión de la configuración del software • Gestión del proceso de SCM • Identificación de la configuración del software • Control de la configuración del software • Contabilidad del estado de la configuración del software • Auditoría en la configuración del software • Gestión y entrega de versiones de software Calidad de Software
Gestión del proceso de SCM • Contexto organizacional para SCM • Restricciones y guía para el proceso de SCM • Planeación para SCM • Plan de SCM • Vigilancia de SCM Calidad de Software
Identificación de la configuración del software • Identificación de ítemes por controlar: • Configuración del software • Ítemes de configuración del software • Relaciones entre ítemes • Versiones de software • Puntos de control • Adquisición de ítemes • Librería de software Calidad de Software
Control de la configuración del software • Solicitud, evaluación y aprobación de cambios en el software • Implementación de cambios en el software • Desviaciones y tejedores Calidad de Software
Contabilidad del estado de la configuración del software • Información del estado de la configuración del software • Reporte del estado de la configuración del software Calidad de Software
Auditoría de la configuración del software • Auditoría de la configuración funcional del software • Auditoría de la configuración física del software • Auditorías en proceso de un punto de control del software Calidad de Software
Gestión y entrega de versiones de software • Construcción de software • Gestión de versiones de software Calidad de Software
Calidad de Software • La calidad de software es una preocupación importante para todas las áreas de conocimiento de la ingeniería de software • El aseguramiento de la calidad de software (Software Quality Assurance SQA) y la Verificación & Validación (V&V) son los principales procesos de esta área de conocimiento Calidad de Software
Calidad de Software • El término “producto” como el resultado intermedio o final que se obtiene al usar cualquier artefacto en la construcción de una aplicación de software • SQA y V&V se usan para evaluar estos productos intermedios y el producto final Calidad de Software
Tópicos de Calidad de Software • Conceptos de calidad de software • Propósito y planeación del SQA y V&V • Actividades y técnicas para SQA y V&V • Medidas aplicadas a SQA y V&V Calidad de Software
Conceptos de calidad de software • Medidas del valor de la calidad • Descripción de calidad • Confiabilidad • Tipos especiales de sistemas y necesidades de calidad Calidad de Software
Propósito y planeación del SQA y V&V • Actividades comunes de planeación • Planeación del aseguramiento de calidad de software SQA • Planeación de la verificación y validación Calidad de Software
Actividades y técnicas para SQA y V&V • Técnicas estáticas • Técnicas dinámicas Calidad de Software
Medidas aplicadas a SQA y V&V • Fundamentos de medición • Medidas • Técnicas de análisis de medidas • Caracterización de defectos • Usos adicionales de SQA y V&V Calidad de Software