Verificación y Validación

Anuncio
Verificación y Validación
Escuela de Ingeniería de Sistemas y Computación
Desarrollo de Software II
Febrero – Junio 2008
Verificación y Validación
Verificación:
• “Estamos construyendo el producto correctamente”
• El producto debería estar conforme a su
especificación
Validación:
• “Estamos construyendo el producto correcto”
• El producto debería realizar lo que el usuario
realmente quiere.
Escuela de Ingeniería de Sistemas y Computación
Desarrollo de Software II
Febrero – Junio 2008
Proceso V&V
• El proceso V&V debe ser aplicado a cada etapa del
proceso de software.
• Objetivos Principales:
– Descubrir defectos en el sistema.
– Determinar que el sistema en construcción es útil
y usable en situaciones operacionales.
Escuela de Ingeniería de Sistemas y Computación
Desarrollo de Software II
Febrero – Junio 2008
Aproximaciones V&V
• Inspecciones de Software: Se analiza y
comprueban las representaciones del sistema
(documento de requerimientos, diagramas de
diseño,código fuente), utilizan técnicas estáticas (no
se ejecuta el programa).
• Pruebas de Software: Implica ejecutar el software
con datos de pruebas, para comprobar que funciona
como esta especificado.
Escuela de Ingeniería de Sistemas y Computación
Desarrollo de Software II
Febrero – Junio 2008
Tipos de Verificación
Pruebas de Defectos: • Pruebas diseñadas para descubrir defectos del
sistema.
• Detecta la presencia de defectos, no su ausencia.
Pruebas de Validación:
• Intentan determinar si los requerimientos estan
correctamente implementados.
Escuela de Ingeniería de Sistemas y Computación
Desarrollo de Software II
Febrero – Junio 2008
Planificación de V&V
• Debe comenzar desde las etapas tempranas en el
proceso de desarrollo.
• Esta planificación deberá equilibrar la verificación
estática y las pruebas de software.
• La planificación debe definir estándares para el
proceso de pruebas mas que describir las pruebas a
realizar.
Escuela de Ingeniería de Sistemas y Computación
Desarrollo de Software II
Febrero – Junio 2008
Plan de Pruebas
Escuela de Ingeniería de Sistemas y Computación
Desarrollo de Software II
Febrero – Junio 2008
Estructura de un plan de
pruebas
•
•
•
•
•
•
•
El proceso de prueba.
Trazabilidad de requerimientos.
Elementos a ser probados.
Calendario de Pruebas.
Procedimientos de registro de las pruebas.
Requerimientos hardware y software.
Restricciones.
Escuela de Ingeniería de Sistemas y Computación
Desarrollo de Software II
Febrero – Junio 2008
Inspecciones de Software
• Se examina representaciones del software con el animo de
anomalías y defectos, tanto del producto como del proceso
que produce.
• Dado que no se requiere ejecución del sistema se puede
realizar este proceso antes de la implementación.
• Es una técnica efectiva y de bajo costo para la detección y
corrección de errores.
• Inspección y pruebas son complementarios, no opuestos.
• Se centra en la detección, no en la corrección
Escuela de Ingeniería de Sistemas y Computación
Desarrollo de Software II
Febrero – Junio 2008
Aspectos a tener en cuenta
en una inspección
• Se debe contar con una especificación precisa.
• Los miembros del equipo debe estar familiarizados
con los estándares de la organización.
• Se debe preparar una lista de chequeo de errores.
• La administración debe aceptar que la inspección
incrementara los costos de desarrollo en etapas
tempranas.
Escuela de Ingeniería de Sistemas y Computación
Desarrollo de Software II
Febrero – Junio 2008
Proceso de Inspección
Escuela de Ingeniería de Sistemas y Computación
Desarrollo de Software II
Febrero – Junio 2008
Análisis Estático
Automatizado
• En el caso de código fuente existes herramientas
automatizadas que ayudan a detectar elementos
propensos a obtener errores (Variables sin declarar,
inicializar o utilizar y otras).
• Estas herramientas por lo general se encuentran
integradas a los IDE (Interface Development
Enviroment).
• En el caso de Java vale destacar el caso de
RefactorIT.
Escuela de Ingeniería de Sistemas y Computación
Desarrollo de Software II
Febrero – Junio 2008
Lecturas Recomendadas
• Ingeniería de Software. Ian Sommerville. 7th edición
(Capitulo 22).
Escuela de Ingeniería de Sistemas y Computación
Desarrollo de Software II
Febrero – Junio 2008
Descargar