Upload
miguel-carrizo-cordero
View
220
Download
0
Embed Size (px)
Citation preview
04/21/23 Calidad de Software 1
SWEBOK
Laura Posada Agudelo
Carlos Mario Zapata
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
04/21/23 Calidad de Software 2
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)
04/21/23 Calidad de Software 3
Á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
04/21/23 Calidad de Software 4
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
04/21/23 Calidad de Software 5
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
04/21/23 Calidad de Software 6
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
04/21/23 Calidad de Software 7
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
04/21/23 Calidad de Software 8
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
04/21/23 Calidad de Software 9
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 …
04/21/23 Calidad de Software 10
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
04/21/23 Calidad de Software 11
Métricas de pruebas
• Evaluación del producto que se prueba
• Evaluación de las pruebas realizadas
04/21/23 Calidad de Software 12
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
• …
04/21/23 Calidad de Software 13
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
04/21/23 Calidad de Software 14
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
04/21/23 Calidad de Software 15
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
04/21/23 Calidad de Software 16
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
04/21/23 Calidad de Software 17
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
04/21/23 Calidad de Software 18
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
04/21/23 Calidad de Software 19
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
04/21/23 Calidad de Software 20
Gestión y entrega de versiones de software
• Construcción de software
• Gestión de versiones de software
04/21/23 Calidad de Software 21
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
04/21/23 Calidad de Software 22
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
04/21/23 Calidad de Software 23
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
04/21/23 Calidad de Software 24
Conceptos de calidad de software
• Medidas del valor de la calidad
• Descripción de calidad
• Confiabilidad
• Tipos especiales de sistemas y necesidades de calidad
04/21/23 Calidad de Software 25
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
04/21/23 Calidad de Software 26
Actividades y técnicas para SQA y V&V
• Técnicas estáticas
• Técnicas dinámicas
04/21/23 Calidad de Software 27
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
04/21/23 Calidad de Software 28