FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA DE SISTEMAS SILABO DEL CURSO PRUEBAS DE SOFTWARE 1. DATOS GENERALES 1.1. Facultad : Ingeniería 1.2. Carrera Profesional : Ingeniería de Sistemas 1.3. Departamento : Ingeniería de Sistemas 1.4. Tipo de Curso : Obligatorio 1.5. Requisitos : Diseño de Software + Taller de Desarrollo II. 1.6. Ciclo de estudios : 7 1.7. Duración del curso : 18 semanas Inicio : 19 de Marzo del 2008. Término : 21 de Julio del 2008. Extensión horaria : 4 horas semanales, 2h Teoría, 2h Laboratorio. 1.8. Créditos : 4 1.9. Período lectivo : 2008-1 1.10. Docente responsable : Ing. Richerd Rodas Cueva. rrc@upnorte.edu.pe 2. FUNDAMENTACIÓN Considera las diferentes técnicas y estrategias para la validación y la verificación de productos software, tomando como base las especificaciones de los requerimientos y la aplicación de las herramientas Nunit, VSTS, IBM Rational TestManager, IBM Rational Robot e IBM Rational Functional Tester, en la automatización de las pruebas. Se desarrollan los diferentes tipos de prueba de caja blanca y caja negra, así como las inspecciones formales de diferentes artefactos de un proyecto de ingeniería de software. 3. COMPETENCIA Al concluir el curso el estudiante podrá elaborar el marco de las pruebas para un proyecto de ingeniería de software incluyen las pruebas unitarias, las pruebas funcionales y de stress para un proyecto de desarrollo de software. 4. OBJETIVOS ESPECÍFICOS DEL CURSO 1. Conocer y comprender la importancia de las actividades de validación y verificación en el proceso de construcción del software. 2. Conocer y comprender las etapas, tipos y estrategias de prueba de software. 3. Validar que los requerimientos funcionales identificados en los casos de uso se implementen correctamente. 4. Validar que los requerimientos no funcionales identificados en el SRS se implementen correctamente. 5. Registrar adecuadamente los resultados obtenidos en las actividades de prueba de software. 6. Identificar y asegurar que todos los defectos descubiertos son adecuadamente encaminados antes del despliegue del software. 7. Planificar las actividades de verificación y validación en el contexto de un Plan de Pruebas. 5. CONTENIDOS CONCEPTUALES La Validación y la Verificación en el ciclo de vida de un proyecto de software
Pruebas Unitarias Pruebas Funcionales Pruebas de Stress Pruebas de Integración Gestión de los Cambios Planificación de las Pruebas Calidad de Software. Estándares de calidad. Procesos de Calidad CMM CMMi 6. CONTENIDOS PROCEDIMENTALES Aplican el Lenguaje de Modelamiento Unificado (UML) para representar la arquitectura de un producto software. Emplean herramientas CASE (IBM Rational Rose) para elaborar las especificaciones de diseño acorde con UML. Implementan la arquitectura de un producto software partiendo de las especificaciones de la arquitectura contenidas en el SAD con un lenguaje orientado a objetos (Borland Delphi, Microsoft Visual Studio.NET u otro). Elaboran la especificación de la arquitectura (SAD) a través de la aplicación de herramientas CASE generadoras de documentación (IBM Rational SoDA) Aplican, utilizando UML, patrones de diseño en la resolución de problemas de diseño, adaptándolos a casos concretos. Producen especificaciones de diseño detallada a través del uso de herramientas case (IBM Rational Rose e IBM Rational SoDA) 7. CONTENIDOS ACTITUDINALES Analítica Creatividad Crítica Trabajo en equipo. Comunicativo. Motivador. Orientado a metas. Proactivo. 8. METODOLOGÍA GENERAL DEL CURSO Se desarrolla a través de actividades teórico prácticas y de laboratorios usando casos de estudios. Los estudiantes, organizados en equipos, desarrollarán un caso de estudio pequeño a lo largo del curso en el que aplicarán el diseño arquitectónico y diseño detallado. Las actividades teóricas y prácticas se desarrollarán a través del desarrollo de casos de estudio
9. PROGRAMA DEL CURSO Unidad y su objetivo Unidad 1. Fundamentos de las Pruebas del Software 5 Semanas SEM 1 2 3 4 5 Temas T: Definición de Verificación y Validación del Software (V&V) / Objetivos y restricciones de V&V / Planificación de V&V / Métricas y Mediciones / V&V en el proceso de desarrollo de software L: Configuración de un Proyecto UCM con Rational Administrator. Configuración del Marco de Pruebas del Software ClearQuest y Test Data Store T: Planeamiento de las Pruebas del Software. El Plan de Pruebas y el Plan de Proyectos L: Elaboración de un Plan de Pruebas con IBM Rational TestManager y RequisitePro. Implementación de Importaciones y Exportaciones de Requerimientos de Pruebas con IBM Rational TestManager T: Ciclo de vida de las pruebas de software, Técnicas de pruebas, interrelación del ciclo de pruebas de software con el proceso de desarrollo. L: Integración Nunit Entorno de desarrollo Visual Studio.Net T: Diseño de casos de prueba L: Creación de pool de datos de prueba externos e Implementación de pruebas Unitarias con Nunit. T: Practica Calificada 1 L: Practica Laboratorio 1 Unidad 2 Gestión de Peticiones de Cambio y buenas prácticas de desarrollo en Proyectos de Ing. de Software Semanas Fuentes Biliográficas: [3] Capítulo 19 Verificación y Validación [2] Capítulo 18 (18.1. 18.2) Estrategias de Pruebas de Software. [2] Capitulo 17 (17.1...17.4) Técnicas de pruebas de software. [ 5 ] Capitulo 8 Pruebas de unidades 6 7 y 8 T: Administración de la configuración del software, proceso de peticiones de cambio, herramientas para la administración de peticiones de cambio, Diseño de la Gestión de los Cambios. Workflow de Gestión de Cambios/ Clasificación de defectos/ Análisis y rastreo de los defectos. L: Implementación del esquema de gestión de cambios con ClearQuest y MS Server 20005. T: Buenas prácticas de desarrollo e software, Estándares de nomenclatura, estándares de estilo de programación, Generadores de código, Aplicaciones basadas en Web L. Implementación de Solución basada en Web.
Fuentes Biliográficas: [2] Capítulo 9 Gestión de la configuración del Software [4] Capítulo 10 Administración de la configuración del software 9 EXAMEN PARCIAL (EP) 10,11 y 12 T: Pruebas funcionales, procedimientos de pruebas funcionales, automatización de pruebas, portabilidad, procesos de calidad, CMMI L: Configuración de pruebas funcionales con Test Manager, Rational Robot y Rational Functional Tester y VSTS. Unidad 3 Estrategia y técnicas de pruebas de software 13 14 15 y 16 Fuentes Biliográficas: [ 2] Capítulo 18 (18.5, 18.6) T : Pruebas de carga, procedimientos, automatización y análisis de resultados. L: Implementación de Pruebas de Carga con VSTS T: Practica Calificada 2 L: Practica Laboratorio 2 T: Pruebas web: diseño e implementación, pruebas de rendimiento: diseño e implementación, pruebas de recuperación L: Implementacion de pruebas web, pruebas de rendimiento con Rational Robot y VSTS 17 EXAMEN FINAL (EF) 18 EXAMEN SUSTITUTORIO 10. SISTEMA DE EVALUACIÓN DEL CURSO El cronograma de la evaluación continua del curso es el siguiente: ESPECIFICACIÓN DE TRABAJOS DEL CURSO T Descripción Semana T1 Promedio (Practica Calificada1 + Practica Laboratorio) 4 T2 Presentación de Proyecto TB1 7 T3 Practica Laboratorio 2 14 T4 Practica Calificada 2 14 T5 Presentación de Proyecto final 16 El peso de cada T es: EVALUACIÓN PESO (%) ESCALA VIGESIMAL T01 10 1,2 T02 15 1,8 T03 20 2,4 T04 25 3,0 T05 30 3,6 TOTAL 100% 12
Los pesos ponderados de las clases de evaluación son los siguientes: EVALUACIÓN PESO (%) ESCALA VIGESIMAL PARCIAL 20 4 CONTINUA 60 12 FINAL 20 4 TOTAL 100% 20 La Evaluación Sustitutoria evalúa toda la temática desarrollada en el semestre y se rinde la semana consecutiva al término de los exámenes finales (11-16 de diciembre) y su nota reemplazará, necesariamente, a la nota de un Examen (Parcial o Final) o a la nota de un T (Evaluación Continua), de tal manera que el resultado final sea favorable al alumno. 11. BIBLIOGRAFÍA CÓDIGO AUTOR TITULO 1 004.21/R95/P JACOBSON, G. BOOCH, J. RUMBAUGH. EL PROCESO UNIFICADO DE DESARROLLO DE SOFTWARE.. ADDISON WESLEY, 1999. 2 005.262/P85/20 02 PRESSMAN, ROGER INGENEIRÍA DE SOFTWARE: UN ENFOQUE PRÁCTICO, 5TA. MADRID: MCGRAWHILL 3 005.1/S67 SOMMERVILLE IAN INGENIERIA DE SOFTWARE. MÉXICO DF. PEARSON EDUCACIÓN 4 005.117 B85 BERND BRUEGGE, ALLEN H. DUTOIT INGENEIRIA DE SOFTWARE ORIENTADO A OBJETOS. 5 005.1 B818 ERIC J. BRAUDE INGENIERÍA DE SOFTWARE. UNA PESPECTIVA ORIENTADA A OBEJTOS