Ingeniería de Software Dr. Marcello Visconti Z. Ingeniería de Software



Documentos relacionados
Ingeniería de Software Calidad de Procesos y Productos de Software

Ingeniería de Software Avanzada

Sistemas de Información Administrativo - Universidad Diego Portales. Cátedra : Sistemas de Información Administrativa S.I.A.

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

Calidad de Sistemas de Información

Instituto Nacional de Tecnología Industrial TESTING DE SOFTWARE

Plan de estudios ISTQB: Nivel Fundamentos

Ingeniería de Software. Dr. Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María

Aplicaciones de Ingeniería de Software

SSTQB. Nivel Fundamentos. Examen ejemplo. Programa de estudios 2010

Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008

Ingeniería del Software. Pruebas. Pruebas en el PUD. Las pruebas del software. Tipos de prueba Estrategias de prueba

Tecnología de la Información. Administración de Recursos Informáticos

CALIDAD DEL SOFTWARE TESTS DE EXAMEN ACTUALIZADO SEP TEMA 3 NORMALIZACIÓN Y CERTIFICACIÓN: NORMA ISO 9001:2000

6 Anexos: 6.1 Definición de Rup:

PRINCIPIOS DE PRUEBAS. ENFOQUE ESTRATEGICO.

PRUEBAS, CALIDAD Y MANTENIMIENTO DEL SOFTWARE

Ingeniería de Software. Pruebas

Capítulo 4 Pruebas e implementación de la aplicación CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN

Gestión de calidad en el software. Calidad en el Desarrollo de Software. Spoilage. Spoilage

6.4 ESTRATEGIAS DE PRUEBA

Tema 2. Ingeniería del Software I feliu.trias@urjc.es

CICLO DE VIDA DEL SOFTWARE

CONCEPTOS DE CALIDAD Y CALIDAD DEL SOFTWARE

TECNOLOGICO DE ESTUDIOS SUPERIORES DE ECATEPEC CALIDAD DE SOFTWARE Guía para Examen Segundo Parcial Grupo 6501

Contenidos. Parte I - Introducción Capítulo 1 - Evolución. Capítulo 2 Condiciones de trabajo en el Desarrollo de Software

Desarrollar el concepto del producto. Asignar requisitos de hardware y software N

1.1 Aseguramiento de la calidad del software

Unidades temáticas de Ingeniería del Software. Fases del proceso de desarrollo 4ª edición (2008)

DE VIDA PARA EL DESARROLLO DE SISTEMAS

SISTEMAS DE INFORMACIÓN III TEORÍA

Agile Testing. Sesión 8. Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ. Alicante

OUTSOURCING DEL TESTING EN EL CONTEXTO EMPRESARIAL CUBANO

Introducción a las Pruebas de Software

Ingeniería de Software

GESTION OPERATIVA. Niveles de gestión

E Documento de entrega de Aplicación

Descripción de las posiciones del área de sistemas

Técnicas de prueba 1. FUNDAMENTOS DE LA PRUEBA DEL SOFTWARE

CLASE # 4 DESCRIPCIÓN GENERAL DE LAS PRUEBAS DINÁMICAS

Sistema de Administración de Farmacias Plan de SQA. Historia de revisiones

Ciclo de vida del Software

Prueba de software. Ingeniería de software Eduardo Ferreira, Martín Solari

Gestión y Desarrollo de Requisitos en Proyectos Software

1. Descripción y objetivos

INGENIERÍA DE SOFTWARE CICLOS DE VIDA Y METODOLOGIAS

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

+ Cómo ahorrar dinero con Software Quality

Ciclo de vida del software

PDSM: PROCESO DE DESARROLLO DE SOFTWARE MIXTO COMBINANDO RUP Y SCRUM. Mariani, María Florencia Okabe, Evangelina

3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE

ISO 9000:2000. Roberto Aprili Justiniano Rodrigo Ramírez Pérez. Roberto Aprili, Rodrigo Ramírez

Aseguramiento de la Calidad, QA. Materia: Desarrollo Industrial de Software Alumno: David Alejandro González Díaz y Froylan Ruiz Cirilo.

1º CFGS ASIR IMPLANTACIÓN DE SISTEMAS OPERATIVOS

Prof. Juan José Díaz Nerio. Foro de Tecnología : Gestión de la Calidad del Software. Domingo 16 Noviembre 2014

Introducción n a la Calidad

Metodologías de Desarrollo de Sistemas de Información

Un modelo de proceso es una representación abstracta de un proceso. Presenta una descripción de un proceso desde una perspectiva particular.

Los profesores Flipantes

Plan de Gestión de Configuración. Universidad Nacional de la Patagonia Austral

Mantenimiento del Software

Elementos requeridos para crearlos (ejemplo: el compilador)

UNIVERSIDAD DE ORIENTE FACULTAD DE CIENCIAS ECONOMICAS

PRU. Fundamento Institucional. Objetivos. Alcance

P.S.P. Programa Educativo. Tecnologías de la Información y Comunicación. Alumno. José Alfredo Ramírez Jaguey

Aplicación de una Metodología basada en Mediciones para la Gestión de Calidad de Software

Calidad del software. Estudio de la calidad. Motivación al estudio de la calidad del software. Características especiales del software

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

Ingeniería de Software: Parte 2

Empresa Financiera Herramientas de SW Servicios

CICLO DE VIDA DEL SOFTWARE. Una aproximación lógica a la adquisición, el suministro, el desarrollo, la explotación y el mantenimiento del software

Contenido. Tipos y niveles de pruebas de software Pruebas de caja negra

PORTAFOLIO DE SERVICIOS

Testing. Tipos, Planificación y Ejecución de Pruebas

LinqToAmazon. Informe Final de Verificación. Versión 1.0. Historia de revisiones

3. Horario laboral referencial: Lunes Viernes 8:00 a.m. a 6:00 p.m.

Gestión de Proyectos Informáticos

XP- EXTREME PROGRAMMING

El Software. Es lo que se conoce como el ciclo de vida del software.

CMMI (Capability Maturity Model Integrated)

FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIMEDIA DAM 350 HORAS

CMM - Capability Maturity Model. Estructura de CMM... Componentes de CMM. Estructura de CMM

Ingeniería del Software de Gestión II. Curso 2004/2005

1 CONSTRUIMOS FUTURO

ARQUITECTURA TÉCNICA ASIGNATURA: MATERIALES DE CONSTRUCCIÓN II CURSO: APUNTES TEMA 1: CONTROL DE CALIDAD

Plan de Administración del Proyecto

PROCEDIMIENTO ESPECÍFICO. Código G Edición 0

Dirección General de Educación Superior Tecnológica

Ingeniería de Software

Temario III Testing in the Large

Calidad y Software. Evento ONGEI 29 mar

K2BIM Plan de SQA Versión 1.1

DESARROLLO DE SOFTWARE DEFINICIÓN GENERAL DEL PROCESO GABY LORENA GUERRERO LEYDI ROCIO ERAZO PABLO FELIPE MIRANDA WALTER ALEXIS ANTE

Anexo 3 MÓDULO DE FORMACIÓN EN CENTROS DE TRABAJO PROGRAMA FORMATIVO. Centro de trabajo: Tutor del centro de trabajo:

VALIDACIÓN (HOMOLOGACIÓN) DE PROVEEDORES. Ciudad de Panamá, noviembre 2011

Itinerario. Conceptos Generales Quality Control Quality Assurance Más Sobre Calidad... Ingeniería de Software II Calidad 2

TEMA 2: DESARROLLO DEL SOFTWARE

Transcripción:

Universidad Técnica Federico Santa María Departamento de Informática Ingeniería de Software Dr. Marcello Visconti Z. Programa Proceso de Software y Paradigmas de Desarrollo Gestión de Proyectos Fases del Desarrollo de Software Aseguramiento de Evolución de Software Tecnología CASE, Estándares, Documentación Mejoramiento de Procesos de Software Page 1

Aseguramiento de SQA, V&V Revisiones e Inspecciones Medición de Calidad Cleanroom Testing Aseguramiento de Objetivo último de Ingeniería de Software: producir software de calidad Calidad engloba todo el proceso, y está determinada por factores directos e indirectos Calidad es un concepto complejo y multifacético, que puede describirse desde diversas perspectivas Page 2

Aseguramiento de Visiones de Calidad Visión trascendental puede ser reconocida pero no definida Visión del usuario grado de adecuación al propósito Visión del productor conformidad con la especificación Visión del producto ligada a características inherentes del mismo Visión basada en valor cuánto el cliente está dispuesto a pagar? Aseguramiento de Facilidad de Mantenimiento ( Puedo corregirlo?) Flexibilidad ( Puedo cambiarlo?) Facilidad de Prueba ( Puedo probarlo?) Revisión del Producto Portabilidad ( Podré usarlo en otra máquina?) Transición del Producto Reusabilidad ( Podré reusar alguna parte del software?) Interoperabilidad ( Podré hacerlo interactuar con otro sistema?) Operación del Producto Corrección ( Hace lo que quiero?) Confiabilidad ( Lo hace de forma confiable todo el tiempo?) Eficiencia ( Se ejecutará en mi hardware lo mejor que pueda?) Integridad ( Es seguro?) Facilidad de uso ( Está diseñado para ser usado?) Factores de calidad de software de McCall Page 3

Aseguramiento de Software Quality Assurance (SQA) Acciones sistemáticas y planificadas requeridas para asegurar la calidad de software Aseguramiento de Grupo de SQA Objetivos: planificar, desarrollar y controlar el proceso de verificación y validación Actividades: aplicación de métodos, revisiones e inspecciones, testing, estándares, control de cambios, mediciones, registro Page 4

Aseguramiento de Verificación y Validación Verificación -- estamos construyendo el producto correctamente? Validación -- estamos construyendo el producto correcto? Aseguramiento de Revisiones de Software Actúa como un filtro Descubrimiento temprano de defectos -- gran impacto en los costos de testing y mantención Defectos de software presentan un efecto de amplificación Page 5

Revisiones de Software Efecto de Amplificación de Defectos Diseño preliminar 1 % 6 1 4 Diseño detallado 6 4 x 1.5 x = 1.5 25 37 % Codificación/prueba de unidad 1 27 x 3 94 x = 3 2% 25 94 Prueba de integración 47 5% Para la integración Prueba de validación Prueba del sistema 24 5% 12 5% Errores latentes Sin revisiones Revisiones de Software Efecto de Amplificación de Defectos Diseño preliminar Diseño detallado 3 2 7% 2 Codificación/prueba de unidad 1 1 1 * 1.5 15 5% 5 5 25 1 1 * 3 24 6% 25 24 Prueba de integración 12 5% Para la integración Prueba de validación Prueba del sistema 6 5% 3 5% Errores latentes Con revisiones Page 6

Revisiones de Software Objetivos Detectar errores en la lógica, función o implementación Verificar satisfacción de requerimientos Asegurar cumplimiento de estándares Fomentar uniformidad Hacer proyectos más manejables Revisiones de Software Guías de Acción Definir tamaño, conformación y duración Revisar producto, no productor Establecer agenda Limitar debates y rebates Enunciar problemas, no resolverlos Llevar registro Page 7

Revisiones de Software Limitar tamaño del grupo Exigir preparación previa Definir checklists Asignar recursos Entrenar a los revisores Revisar las revisiones Guías de Acción Inspecciones Fagan Desarrolladas en 1972, por Michael Fagan Beneficios: prevención y reducción de defectos, y por ende de costos Proceso de inspección en 6 etapas Page 8

Inspecciones Fagan Etapas Planeación -- preparación logística (materiales, disponibilidades, fechas) Overview -- conocimiento general, asignación de roles (autor, lector, tester, moderador) Preparación -- estudio del material a ser inspeccionado Inspección -- búsqueda de defectos Rework -- hacer las correcciones Iteración -- verificación de lo realizado, y de la no introducción de efectos secundarios Aseguramiento de Visión del usuario Medición de Calidad confiabilidad (mtbf) usabilidad (instalación, aprendizaje, uso) Visión del productor defectos rework Page 9

Aseguramiento de ISO 9126 Estándar reciente para medir calidad 6 características básicas, descompuestas en subcaracterísticas Refleja una visión de usuario, mientras McCall refleja una visión de producto Aseguramiento de ISO 9126 Funcionalidad -- adecuación, precisión, interoperabilidad, seguridad Confiabilidad - madurez, tolerancia a fallas, recuperación de fallas Usabilidad -- facilidad de comprensión, facilidad de aprendizaje, facilidad de operación Page 1

Aseguramiento de ISO 9126 Eficiencia -- comportamiento temporal, comportamiento de recursos Facilidad de mantención -- facilidad de análisis, facilidad de cambio, estabilidad, facilidad de prueba Portabilidad -- facilidad de instalación, conformidad, facilidad de reemplazo Aseguramiento de Calidad de Software Fundamentos teóricos Cleanroom especificación y diseño formal prueba de correctitud testing estadístico Page 11

Requerimientos del Cliente Especificación Función Uso Cleanroom Especificación Funcional Especificación de Uso Planificación de Desarrollo Incremental Estructura de Cajas Especificación & Diseño Verificación y Corrección Plan incremental de desarrollo Generación Estadística de casos de test Casos de Test Casos de Test Testing Estadístico Datos erroneos Feedback Certificación de la Calidad del Modelo Medidas de Rendimiento Operacional Aseguramiento de Calidad de Software Aspectos Económicos Costos de SQA -- prevención y evaluación Beneficios de SQA -- asociados a disminución de rework (menos defectos y mayor confiabilidad) Importante que beneficios superen a los costos Implicancia: para ganar hay que invertir Page 12

Testing de Software Objetivo: demoler el producto de software con el propósito de detectar defectos Es una actividad esencialmente destructiva, pero que requiere mucha creatividad Consiste en ejecutar un programa con la intención de encontrar un defecto Testing de Software Caso de Prueba Un buen test case es aquel que tiene una alta probabilidad de encontrar un defecto no descubierto, no aquel en que el programa funciona correctamente El diseño de test cases es muy difícil Page 13

Testing de Software Configuración del software Evaluación Errores Prueba Resultados de la prueba Datos de tasa de error Depuración Correcciones Configuración de prueba Resultados esperados Modelo de confiabilidad Predicción de confiabilidad Flujo de información en la prueba Testing de Software Cobertura (test coverage) Terminología Básica grado en que un conjunto de pruebas abarca todos los requerimientos especificados Ramificación (branch coverage) cada decisión, cada rama se ejecuta al menos una vez Path coverage cada camino lógico se prueba Page 14

Testing de Software Terminología Básica Regresión (regression testing) prueba selectiva para comprobar que modificaciones no han causado efectos indeseados Plan de prueba (test plan) plan para asegurar el control de la prueba del producto Testing de Software Diseño de Casos Caja blanca caminos básicos estructuras de control Caja negra clases de equivalencia análisis de fronteras Bucle < = 2 veces Problemas de la prueba exhaustiva Page 15

Testing de Software Estrategias Ingeniería del Sistema Requerimientos Diseño Codificación S R D C U I V ST Prueba de Unidad Prueba de Integración Prueba de Validación Prueba del Sistema Testing de Software Test Unitario Módulo ------------- ------------- ------------- ------------- ------------- ------------- ------------- Interfaz Estructuras de datos locales Condiciones límite Caminos independientes Caminos de manejo de errores Casos de prueba Pasos de unidad Page 16

Testing de Software Test de Integración - Bottom-Up Mc Ma Mb D1 D2 D3 Grupo 3 Grupo 1 Grupo 2 Integración ascendente Testing de Software Test de Integración - Top-Down M1 M2 M3 M4 M5 M6 M7 M8 Integración descendente Page 17

Testing de Software Test de Validación Objetivo: determinar si el funcionamiento satisface al cliente/usuario Pruebas alfa: conducidas en laboratorios del desarrollador por el usuario final Pruebas beta: conducidas en ambientes de trabajo reales por usuarios finales, generalmente amistosos ; la prueba se desarrolla antes de la distribución general Testing de Software Test de Sistemas Objetivo: determinar si el sistema en su globalidad opera satisfactoriamente (recuperación de fallas, seguridad y protección, stress, performance) Page 18

Testing de Software Criterios de Completación Cómo saber cuándo dejar de hacer testing? Normalmente, se abandona al agotarse los recursos En la práctica el testing nunca acaba, solo cambia de tester... del profesional al usuario Page 19