2.15.7 SE/Verificación y Validación de Software (3 horas Core-Tier2)
Temas:
Core Tier2
- Verificación y validación de conceptos. 
 
- Inspecciones, revisiones, auditorias. 
 
- Tipos de pruebas, incluyendo la interfas humano computador, usabildiad, confiabilidad , seguridad,desempeño para la especificación.   
Ref: Seguridad en Ingeniería de Software  
- Fundamentos de testeo:
- Pruebas de Unit, integración, validación y de Sistema
 
- Creación de plan de pruebas y generación de casos de test
 
- Técnicas de test de caja negra y caja blanca
 
- Test de regresión y automatización de pruebas
 
 Ref: Métodos de Desarrollo  
- Seguimiento de defectos. 
 
- Limitaciones de testeo en dominios particulares, tales como sistemas paralelos o críticos en cuanto a seguridad. 
 
Electivo
- Enfoques estáticos y enfoques dinámicos para la  verificación. 
 
- Desarrollo basado en pruebas. 
 
- Plan de Validación, documentación para validación. 
 
- Pruebas Orientadas a Objetos, Sistema de Pruebas. 
 
- Verificación y validación de artefactos no codificados (documentación, archivos de ayuda, materiales de entrenamiento) 
 
- Logeo fallido, error crítico y apoyo técnico para dichas actividades. 
 
- Estimación fallida y terminación de las pruebas que incluye la envios por defecto. 
 
Objetivos de Aprendizaje:
Core-Tier2:
	
- Distinguir entre la validación y verificación del programa  [Familiarizarse]
 
- Describir el papel que las herramientas pueden desempeñar en la validación de software  [Familiarizarse]
 
- Realizar, como parte de una actividad de equipo, una inspección de un segmento de código de tamaño medio  [Usar]
 
- Describir y distinguir entre diferentes tipos y niveles de pruebas (unitaria, integracion, sistemas y aceptacion)  [Familiarizarse]
 
- Describir tecnicas para identificar casos de prueba representativos para integracion, regresion y pruebas del sistema  [Familiarizarse]
 
- Crear y documentar un conjunto de pruebas para un segmento de código de mediano tamaño  [Usar]
 
- Describir cómo seleccionar buenas pruebas de regresión y automatizarlas  [Familiarizarse]
 
- Utilizar una herramienta de seguimiento de defectos para manejar defectos de software en un pequeño proyecto de software  [Usar]
 
- Discutir las limitaciones de las pruebas en un dominio particular  [Familiarizarse]
 
Elective:
	
- Evaluar un banco de pruebas (a test suite) para un segmento de código de tamaño medio  [Usar]
 
- Comparar los enfoques estáticos y dinámicos para la verificación  [Familiarizarse]
 
- Identificar los principios fundamentales de los métodos de desarrollo basado en pruebas y explicar el papel de las pruebas automatizadas en estos métodos  [Familiarizarse]
 
- Discutir los temas relacionados con las pruebas de software orientado a objetos  [Usar]
 
- Describir las técnicas para la verificación y validación de los artefactos de no código  [Familiarizarse]
 
- Describir los enfoques para la estimación de fallos  [Familiarizarse]
 
- Estimar el número de fallos en una pequeña aplicación de software basada en la densidad de defectos y siembra  de errores  [Usar]
 
- Realizar una inspección o revisión del de código fuente de un software para un proyecto de software de tamaño pequeño o mediano  [Usar]
 
Generado por Ernesto Cuadros-Vargas ,               Sociedad Peruana de Computación-Peru,               basado en el modelo de la Computing Curricula de               IEEE-CS/ACM