Objetivos
Introducir la verificación y validación del software y discutir la diferencia entre ellos (V & V)
Describir el proceso de inspección del programa y su papel en la V & V
Explicar el análisis estático como una técnica de verificación
Describir el proceso de desarrollo de software de Sala Limpia
Contenidos
Planificación de verificación y validación
Inspecciones de software
Análisis estático automatizado
Verificación y métodos formales
Verificación: “¿Estamos construyendo el producto corréctamente?”.
El software debería ajustarse a su especificación
Validación: “¿estamos construyendo el producto correcto?”.
El software debería hacer lo que el cliente realmente reclama.
Verificación y validación
Es el proceso de todo un ciclo vital: La V & V debe aplicarse en cada etapa del software.
Tiene dos objetivos principales
El descubrimiento de defectos en el sistema;
La evaluacíón de si el sistema es útil y utilizable en una situación operacional o no.
El proceso V & V
Metas de la V&V
La verificación y la validación deberían establecer la confianza de que el software es adecuado al propósito.
Esto NO significa que esté completamente libre de defectos.
Sino que debe ser lo suficientemente bueno para su uso previsto y el tipo de uso determinará el grado de confianza que se necesita.
Confianza de la V&V
Depende del propósito del sistema, las expectativas del usuario y el entorno de marketing
Función del software
El nivel de confianza depende de lo crítuco que es el sistema para una organización.
Expectativas del usuario
Los usuarios pueden tener bajas expectativas para ciertas clases de software.
Entorno de marketing
Introducir un producto en el mercado pronto puede ser más importante que encontrar defectos en el programa
Inspecciones de software. Se ocupa del análisis de representaciones estáticas del sistema para describrir problemas (verificación estática)
Pueden ser complementadas por documentos basados en herramientas y análisis del código
Pruebas del software. Se ocupa de la ejercitación y la observación del comportamiento del producto (verificación dinámica)
El sistema se ejecuta con datos de pruebas y se observa su compotamiento operativo.
Verificación dinámica y estática
V & V estática y dinámica
Especificación
formal
Diseño de
Alto nivel
Especificaciones de requerimientos
Diseño
detallado
Programa
Prototipo
Prueba de
programas
Inspecciones de software
Puede revelar la presencia de errores NO su ausencia.
Es la única técnica de validación para requerimientos no funcionales ya que el software tiene que ser ejecutado para ver su comportamiento.
Debería utilizarse en conjunción con la verificación estática para proporcionar una covertura de V & V total.
Prueba del programa
Pruebas de defectos
Pruebas diseñadas para descubrir defectos en el sistema.
Una prueba de defectos exitosa es aquella que revela la presencia de defectos en un sistema.
Pruebas de validación
Previsto para mostrar que el software cumple sus requerimientos.
Una prueba con éxito es aquella que muestra que un requerimiento se ha implementado correctamente.
Tipos de pruebas
Las pruebas de defectos y depuración son distintos procesos.
La verificación y validación se ocupan de establecer la existencia de defectos en un programa.
La depuración se ocupa de ubicar y reparar estos errores.
La depuración implica formular una hipótesis sobre el comportamiento del programa y después probar esta hipótesis y encontrar el error del sistema.
Pruebas y depuración
El proceso de depuración
Localizar
error
Diseñar reparaciones de errores
Reparar
errores
Probar de nuevo el programa
Resultados
De pruebas
Especificación
Casos
De pruebas
Se requiere una cuidadosa planificación para sacar el máximo de los procesos de inspección y pruebas. La planificación debería comenzar pronto en el proceso de desarrollo.
El plan debería identificar el balance entre la verificación estática y las pruebas.
La planificación trata de definir estándares para el proceso de prueba en lugar de describir pruebas de productos.
Planificación de V &V
El modelo-V de desarrollo
Especificación
Del sistema
Diseño del sistema
Diseño
detallado
Código y prueba de los módulos y unidades
Plan de pruebas de integración
De los subsistemas
Plan de pruebas de integración del sistema
Plan de pruebas
De aceptación
Servicio
Prueba de
aceptación
Prueba de integración del sistema
Prueba de integración
De los subsistemas
Especificación
De requerimientos
Estructura de un plan de pruebas de software
Proceso de pruebas
Trazabilidad de requerimientos.
Elementos probados.
Calendario de pruebas.
Procedimientos de registro de las pruebas.
Requerimientos hardware y software.
Restricciones.
Plan de pruebas de software
Página siguiente |