Verificación y Validación
del Software
Unidad 1. Introducción a la
verificación y validación del software
Profesor: Dr. Oscar Mario Rodríguez Elias
Email: [email protected]
[email protected]
Web page: http://omarioroel.googlepages.com/vyv
Unidad 1
1.
2.
3.
Calidad en el software
El proceso de verificación y validación del
software
Integración de la verificación y validación
al proceso de desarrollo de software
Introducción a la V&V
2
Calidad y Aseguramiento de
la Calidad del Software
Una visión general
La crisis del software
► En
los 70’s
 Se pierde la capacidad de producir sistemas
basados en software, cada ves más grandes y
complejos, con la tecnología existente.
 El mantenimiento sobrepasa el costo de los
primeros desarrollos.
 El costo del software aumenta mientras que el
hardware se hace cada vez más barato.
 Fallas costosas en los grandes sistemas de
software.
Introducción a la V&V
4
La crisis del software
►A
mediados de los ochenta, el software se
vuelve una gran industria en crecimiento.
 El desarrollo de software se convierte en una
disciplina.
 Se observa la necesidad de definir procesos que
ayuden a mejorar el desarrollo de software.
 Nacen las herramientas CASE.
 No había una correspondencia entre el proceso
requerido para el uso de las herramientas CASE,
y el realizado por las organizaciones.
Introducción a la V&V
5
La crisis del software
► Soluciones
a la crisis del software
 Pruebas formales de correctez del software
► No
es aplicable sino hasta que el software ha sido
desarrollado, además de que no es aplicable a todo el
software
 Verificación y validación (V&V) independiente
► Es
costoso contratar organizaciones independientes para
verificar y validar el software.
 Aseguramiento de la calidad del software
► Utiliza
un grupo interno para realizar tareas de V&V
 Mejorar el proceso de desarrollo de software
Introducción a la V&V
6
Situación actual
► La
crisis del software no es crisis
 Es una propiedad del software tener errores. No
existe el software perfecto.
 La calidad del producto está relacionada con la
calidad del proceso, y no con la falta de errores
o fallas en el software.
Introducción a la V&V
7
¿Qué es la calidad en el
software?
¿Qué es la calidad del software?
► La
calidad del software debe ser definida desde la
perspectiva del usuario; está relacionada con la
concordancia del software con los requerimientos
del usuario, y con la visión que tiene el mismo
usuario con respecto al software. Si el software es
de calidad para el usuario, entonces es de calidad.
► Las
preguntas clave son, entonces:
 ¿Quienes son los usuarios?
 ¿Qué es importante para ellos?
 ¿Cómo se relacionan sus prioridades con la forma en
que nosotros construimos, empaquetamos y damos
soporte a nuestros productos?
Introducción a la V&V
9
Multidimensionalidad de la
calidad
►
La calidad puede verse como un concepto
multidimensional, dependiente del punto de vista
 Vista trascendental: es algo que se reconoce pero no se define.
Se puede concebir la calidad como un ideal al que se intenta llegar,
aunque no lo conseguimos.
 Vista del usuario: es adecuación al propósito. Se puede
cuantificar las características de los productos, medirlos y
establecer objetivos a alcanzar.
 Vista de fabricante: es conformidad con las especificaciones. Se
trata de una vista centrada en el proceso.
 Vista del producto: la calidad está unida a las características
inherentes al producto. Se centra en la medida de los atributos
internos de los productos.
 Vista basada en valor: la calidad depende de la cantidad que el
cliente esté dispuesto a pagar.
Introducción a la V&V
10
Orígenes de la calidad
►
La calidad realizada: la que es capaz de obtener la
persona que realiza el trabajo, gracias a su habilidad en la
ejecución de la tarea.
 Se potencia con la mejora de las habilidades personales y técnicas
de los participantes en un proceso.
►
La calidad programada: la que se ha pretendido
obtener. Es la que aparece descrita en una especificación.
 Se potencia con la elaboración de una especificación que sirva de
buena referencia a los participantes del proyecto.
►
La calidad necesaria: la que el cliente exige con mayor o
menor grado de concreción o, al menos, la que le gustaría
recibir.
 Se potencia con una adecuada obtención de información de la idea
de calidad de los clientes.
Introducción a la V&V
11
¿Cuánto cuesta la calidad?
► El
costo de emprender actividades para asegurar
la calidad cuesta, por lo tanto, ¿Es recomendable
invertir en éstas actividades?
► La respuesta:
 C1 ¿Cuánto cuestan los defectos invirtiendo en calidad?
 C2 ¿Cuánto cuesta invertir en asegurar la calidad?
 C3 ¿Cuánto cuesta no hacer nada?
Si C3 > C1 + C2,
entonces invertir
Introducción a la V&V
12
El costo de las fallas
Requerimientos
y Especificación
$1
Modelado
de análisis
Distintos estudios han
mostrado que el costo
relativo de encontrar un
defecto durante los
requerimientos, puede
incrementarse más de 50
veces si se encuentra en la
fase de pruebas, y más de
100 veces si se detecta
después de liberado el
producto.
$5
Entre más tarde se
detecten, más costoso
es resolverlos.
Diseño
$ 20
Codificación
$ 50
Pruebas
$ 100
Mantenimiento
Introducción a la V&V
13
¿Cuánto cuesta la calidad?
► El
costo de realizar actividades de V&V es
controlable y fácil de estimar, en cambio el
costo de no hacerlas no es controlable ni
fácil de medir.
Introducción a la V&V
14
Midiendo el costo de la calidad
►
La medición del costo de la calidad comprende las
siguientes tres actividades:
Detección
Enfocada en tareas que ayudan a encontrar
defectos.
Prevención
Centrada en tareas que ayudan a prevenir que
los defectos ocurran.
Remoción
Incluye una variedad de tareas relacionadas
con el aislamiento y la corrección de errores, la
verificación de que han sido corregidos, y el
costo asociado a preparar medios de
distribución
redistribución de software.
Introducción a y
la V&V
15
¿Qué es el aseguramiento
de la calidad del software?
Aseguramiento de la calidad del
software (1/3)
►
“Es la práctica de asegurar que los estándares, procesos y
procedimientos usados en los proyectos de desarrollo de
software son apropiados, y están implementados
correctamente”.
►
El proceso de aseguramiento de la calidad es un proceso
para proveer una seguridad adecuada de que los productos
de software y procesos en el ciclo de vida de un proyecto
están de conformidad con los requerimientos
especificados, y adheridos a los planes establecidos
Introducción a la V&V
17
Aseguramiento de la calidad del
software (2/3)
► No
se refiere sólo al descubrimiento y corrección
de defectos, sino a evitar que estos ocurran.
► Para esto es necesario:
 Conocer las causas de los defectos para poder evitarlos,
identificando y evitando estas causas antes de que se
conviertan en problemas o fallas en el software o el
proceso de desarrollo.
 Identificando las causas de los problemas ocurridos,
para tratar de evitarlas en futuros proyectos.
Introducción a la V&V
18
Aseguramiento de la calidad del
software (3/3)
► Actividades
principales:
 Verificación y Validación del software
► Evitar
las causas de las fallas en el proceso y los
productos.
 Pruebas del Software
►Encontrar
las fallas en los productos y procesos para
corregirlas.
 Administración de la Configuración del Software
► Documentar
y rastrear los problemas y fallas para buscar
evitarlas en el futuro.
Introducción a la V&V
19
¿Qué es la verificación y
validación del software?
Verificación y Validación
► Son
actividades encaminadas a determinar si se
está construyendo el producto correcto de la
manera correcta.
► Se
utiliza para mostrar que el sistema se ajusta a
su especificación y que cumple con las
expectativas del cliente que lo comprará
Introducción a la V&V
21
Verificación y Validación
► Durante
y después del proceso de
implementación, el programa que se está
desarrollando debe ser comprobado para
asegurar que satisface su especificación y
entrega la funcionalidad esperada por las
personas que pagan por el software.
►A
estos procesos de análisis y prueba se les
conoce como Verificación y Validación
Introducción a la V&V
22
La Verificación y Validación
son dos cosas distintas
Verificación y Validación
► El
papel de la verificación implica comprobar
que el software está de acuerdo con su
especificación.
► La
validación busca asegurar que el sistema
software satisface las expectativas del
cliente. Es decir, va más allá.
Introducción a la V&V
24
Verificación
► Ayuda
a contestar la siguiente pregunta:
► ¿Estamos
construyendo el producto de la
manera correcta?
Introducción a la V&V
25
Verificación
► Es
el proceso de determinar si los productos
de una determinada fase del ciclo del
proceso de desarrollo cumplen los
requerimientos establecidos durante la fase
previa.
► Las
actividades de verificación son
desarrolladas de manera concurrente con
las actividades del desarrollo de software.
Introducción a la V&V
26
Verificación
► La
verificación se da en torno a tres procesos
básicos:
 Inspección
► Es
una revisión técnica a fondo, rigurosa y formal, diseñada
para identificar problemas tan cerca de su punto de origen
como sea posible.
 Medición
► Es
el proceso por medio del cual se miden la mayor cantidad de
atributos del producto y proceso, con el fin de tener
información cuantificable útil para la mejora continua.
 Administración de la configuración
Introducción a la V&V
27
Validación
► Ayuda
a contestar la siguiente pregunta:
► ¿Estamos
construyendo el producto
correcto?, o en su defecto, ¿Construimos el
producto correcto?
Introducción a la V&V
28
Validación
► Es
el proceso de evaluar el software al final
del proceso de desarrollo para asegurar que
cumple con los requerimientos.
► Las
actividades de validación se dan
después de que el software ha sido
desarrollado, para determinar si se han
implementado correctamente los
requerimientos.
Introducción a la V&V
29
Validación
► La
validación comprende actividades dentro
de tres procesos básicos:
 Pruebas
 Medición
 Aumento de la confiabilidad del software
►Ayuda
en la toma de decisiones con respecto a
cuándo hay que dejar de probar y liberar el
software.
Introducción a la V&V
30
Verificación y Validación
► El
objetivo es establecer la seguridad de
que el sistema es lo suficientemente bueno
para su uso predeterminado.
Nivel de confianza requerido
La función
del software
Las expectativas
del usuario
Introducción a la V&V
El entorno
de mercado
31
Función del software
► El
nivel de confianza depende de:
 Lo crítico que sea al software para una
organización.
Introducción a la V&V
32
Expectativas del usuario
► El
nivel de confianza depende de:
 Lo que el cliente esté dispuesto a aceptar
► Algunos
usuarios están dispuestos a aceptar
fallos en los sistemas cuando los beneficios
de su uso son mayores que sus
desventajas.
Introducción a la V&V
33
Entorno de mercado
► El
nivel de confianza depende de:
 Los programas competidores, el precio que los
clientes están dispuestos a pagar y la agenda
requerida para entregar el sistema.
Introducción a la V&V
34
Verificación y Validación
► Existen
dos aproximaciones para el análisis
y comprobación de los sistemas:
 Inspecciones de software: analizan y
comprueban las representaciones del sistema.
 Pruebas del software: implican ejecutar una
implementación del software con datos de
prueba.
Introducción a la V&V
35
Verificación y Validación
Inspecciones
de software
Especificaciones
de requerimientos
Diseño de
alto nivel
Especificación
formal
Diseño
detallado
Programa
Prueba de
programas
Prototipo
Introducción a la V&V
36
Tarea
► Bajar
y estudiar el documento del modelo
MoProSoft (se encuentra en la página del curso)
 Identificar las actividades de verificación y validación en
los distintos procesos
 Identificar los documentos a verificar y validar
 Escribir sus reflexiones, conclusiones y comentarios
sobre las actividades de V&V requeridas en el modelo.
► Traer
clase
el documento y su escrito para la siguiente
Introducción a la V&V
37
Bibliografía
► Sommerville,
capítulo: 22
► Pressman, capítulo 26
Introducción a la V&V
38
Descargar

Diapositiva 1