Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email:...

38
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. Introducción a la verificación y validación del software

Transcript of Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email:...

Page 1: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Verificación y Validación del

Software

Profesor: Dr. Oscar Mario Rodríguez EliasEmail: [email protected]

[email protected] page:

http://omarioroel.googlepages.com/vyv

Unidad 1. Introducción a la verificación y validación del

software

Page 2: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 2

Unidad 1

1. Calidad en el software2. El proceso de verificación y

validación del software3. Integración de la verificación y

validación al proceso de desarrollo de software

Page 3: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Calidad y Aseguramiento de la Calidad del Software

Una visión general

Page 4: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 4

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.

Page 5: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 5

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.

Page 6: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 6

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

Page 7: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 7

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.

Page 8: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

¿Qué es la calidad en el software?

Page 9: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 9

¿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?

Page 10: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 10

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.

Page 11: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 11

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.

Page 12: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 12

¿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

Page 13: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 13

El costo de las fallasRequerimientos y Especificación

Modelado de análisis

Diseño

Codificación

Pruebas

Mantenimiento

$ 1

$ 5

$ 20

$ 50

$ 100

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.

Entre más tarde se detecten, más costoso es resolverlos.

Page 14: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 14

¿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.

Page 15: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 15

Midiendo el costo de la calidad

► La medición del costo de la calidad comprende las siguientes tres actividades:

Detección

Prevención

Remoción

Enfocada en tareas que ayudan a encontrar defectos.

Centrada en tareas que ayudan a prevenir que los defectos ocurran.

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 y redistribución de software.

Page 16: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

¿Qué es el aseguramiento de la calidad del software?

Page 17: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 17

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

Page 18: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 18

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.

Page 19: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 19

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.

Page 20: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

¿Qué es la verificación y validación del

software?

Page 21: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 21

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á

Page 22: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 22

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

Page 23: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

La Verificación y Validación son dos cosas

distintas

Page 24: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 24

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á.

Page 25: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 25

Verificación

►Ayuda a contestar la siguiente pregunta:

►¿Estamos construyendo el producto de la manera correcta?

Page 26: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 26

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.

Page 27: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 27

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

Page 28: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 28

Validación

►Ayuda a contestar la siguiente pregunta:

►¿Estamos construyendo el producto correcto?, o en su defecto, ¿Construimos el producto correcto?

Page 29: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 29

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.

Page 30: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 30

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.

Page 31: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 31

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 expectativasdel usuario

El entornode mercado

Page 32: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 32

Función del software

►El nivel de confianza depende de:

Lo crítico que sea al software para una organización.

Page 33: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 33

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.

Page 34: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 34

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.

Page 35: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 35

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.

Page 36: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 36

Verificación y ValidaciónInspecciones de software

Especificacionesde requerimientos

Diseño dealto nivel

Especificaciónformal

Diseño detallado

Programa

PrototipoPrueba de programas

Page 37: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 37

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 el documento y su escrito para la siguiente clase

Page 38: Verificación y Validación del Software Profesor: Dr. Oscar Mario Rodríguez Elias Email: omrodriguez@gauss.mat.uson.mx omrodriguez@gauss.mat.uson.mx omarioroel@gmail.com.

Introducción a la V&V 38

Bibliografía

►Sommerville, capítulo: 22►Pressman, capítulo 26