Verificación y Validación de Software
Unidad 1. Introducción al proceso
de verificación y validación.
1.1 Contextualización de la verificación
y validación.
1.2 Terminología del proceso.
1.3 El proceso de la verificación y
validación.
1.4 Tipos generales de los errores.
1.5 Responsabilidad de pruebas.
1.6 Organigrama de proceso de testing (un
modelo propuesto).
1.7 Costos del error.
1.1 Contextualización de la verificación y Validación
Verificación y Validación v&v
Conjunto de procesos de comprobación
y análisis que aseguran que el software que se desarrolla está acorde a su
especificación y cumple las necesidades de los clientes.
Verificación
¿Estamos construyendo el producto correctamente?
Se prueba que el software cumple los requisitos
funcionales y no funcionales de su especificación.
validacionyverificacionsoftwareisrael.blogspot.com
Validación
¿Estamos construyendo el producto correcto?
Comprueba que el software cumple las expectativas
que el cliente espera.
Objetivos de V&V
Descubrir defectos (para corregirlos)
·
Provocar
fallas (una forma de detectar defectos)
·
Revisar
los productos
Evaluar la calidad de los productos
·
El
probar o revisar el software da una idea de la calidad del mismo.
Identificación y Corrección de Defectos
Identificación de defectos
·
Es
el proceso de determinar que defecto o defectos causaron la falla.
Corrección de defectos
·
Es
el proceso de cambiar el sistema para remover los defectos.
¿Quién Verifica?
·
Los
desarrolladores
·
Verificadores
(especialistas en verificación)
·
Depende
de los tipos de pruebas que se vallan
a aplicar.
Revisiones
· Informales:
No hay procedimientos
definidos, por lo que la revisión se realiza de la forma más flexible.
· Semi-formales:
Se definen unos procedimientos mínimos a seguir.
· Formales:
Se define completamente el
proceso. Revisión en detalle, por una persona o grupo distintos del autor
Imagen 1.- Mapa mental. Contextualización de la verificación y validación
1.2 Terminología de proceso del software
¿Qué es un proceso de software?
El proceso de software es un conjunto
de actividades y resultados asociados que conducen a la creación de un producto
de software. Somerville 2002.
Imagen 2.- Mapa mental. Terminología de proceso del software
1.3 El proceso de la verificación y validación.
El SDP define el qué, quién, cuándo y
cómo del desarrollo de software.
Cuatro actividades fundamentales que
son comunes para todos los procesos de desarrollo de software:
·
Especificación
del software
·
Desarrollo
del software
·
Validación
del software
·
Evolución
del software
Modelo de proceso:
·
Descripción
simplificada (abstracción) de un proceso de desarrollo de software real.
Testing: terminología básica
·
Error:
desatino del programador (el cual resulta en la introducción de un bug).
·
Defecto,
“bug”: manifestación concreta del error de programación en el código.
·
Falla:
resultado de la ejecución de un bug.
·
Un
test es una prueba de software, compuesta usualmente por:
·
una
precondición (condiciones bajo las cuales se ejecuta el código a testear),
·
una
porción de código (bloque a testear).
·
una
condición de aceptación (criterio para saber si el código “pasó” la prueba).
Existen diferentes tipos de testing,
de acuerdo a las características de sus partes. Algunos de estos tipos son los
siguientes:
·
Sistema:
el bloque a testear es todo el sistema.
·
Integración:
el bloque a testear es la composición de varios módulos, y la condición de
aceptación corresponde a propiedades de la ejecución combinada de los módulos.
·
Regresión:
la condición de aceptación es preservar el comportamiento de versiones
anteriores del software.
·
Diferencial:
la condición de aceptación es mantener un comportamiento similar a otro
software con el mismo propósito que el testeado.
Imagen 3.- Mapa mental. El proceso de la verificación y validación.
1.4 Tipos generales de los errores.
Sintácticos. Los errores de sintaxis, o sintácticos, ocurren
cuando el programador escribe código que no va de acuerdo a las reglas de
escritura del lenguaje de programación.
Lógicos. Los errores lógicos ocurren a causa de un mal diseño
del programa. Puede ocurrir que una línea de código observe todas las reglas
sintácticas del lenguaje, pero el código tenga una lógica equivocada.
Depuradores
· Un sistema
interactivo de depuración proporciona posibilidades al programador que le ayudan
en la prueba y depuración de programas.
· Permite depurar o
“limpiar” los errores de un programa.
Imagen 4.- Mapa mental. Tipos generales de los errores.
1.5 Responsabilidad
de pruebas.
El método fagan para inspecciones
El método de inspección más utilizado hasta el
momento, es el de Fagan (1976).
Fagan (1976) menciona que las inspecciones son un
método formal, eficiente y económico para encontrar errores en el diseño y el
código.
Para su método, Fagan propone un conjunto de roles y
un proceso a seguir durante las inspecciones.
El equipo
·
Moderador:
·
Diseñador
·
Implementador/Codificador
·
Encargado de pruebas
El Moderador
· Es la persona
clave en una inspección exitosa.
· Debe ser un
programador competente, pero no necesita ser un técnico experto en el programa
siendo inspeccionado.
· Es recomendable
usar un moderador de un proyecto no relacionado, para preservar la objetividad,
e incrementar la integridad de la inspección.
· Debe administrar
al equipo de inspección y ofrecer un liderazgo.
Sus tareas
incluyen:
· Calendarizar
reuniones y lugares de reunión
·
Reportar los
resultados de la inspección
·
Dar seguimiento
al retrabajo
El diseñador
Es
el responsable de producir el diseño del programa.
El implementador/codificador
El
responsable de transformar el diseño en código.
El encargado de las pruebas
El
responsable de escribir y/o ejecutar los casos de prueba o alguna otra forma de
probar los productos del diseñador y el codificador.
Imagen 5.- Mapa mental. Responsabilidad de pruebas.
1.6 Organigrama de proceso de testing (un modelo propuesto).
Ciclo de las pruebas
Diversos Testing como se muestra en la
Estrategias de pruebas: Planea la estrategia que se a seguir para analizar, diseñar,
implementar y ejecutar las pruebas de algún proyecto, así mismo se define qué
tipos de pruebas se van a realizar y como se ejecutaran.
Recursos del plan de pruebas: Se identifican los recursos humanos y no humanos (hardware,
software, herramientas de soporte, configuración de entorno de pruebas, entre
otros), necesarios para desarrollar el proceso del plan de pruebas de la
solución del sistema
Evaluación de pruebas ejecutadas: Describe los métodos de evaluación de las pruebas ejecutadas,
de tal forma que permitirá evaluar los grados de aceptación de las pruebas
Técnica de la especificación de las pruebas: Es la aplicación de las estrategias
planificadas previamente haciendo uso de los recursos disponibles para estas
Imagen 6.- Mapa mental. Organigrama de proceso de testing (un modelo propuesto).
1.7 Costos del error.
Costos de error
Primer problema: los errores se
aceptan. Esto no es productivo en el tratamiento del problema
Bug: algo que se arrastra por propia
voluntad en el código y produce problemas. No atribuible a una persona,
involuntario los bugs se pueden aceptar, los defectos NO el primer paso para
lograr calidad es identificar los defectos como lo que son, fallas individuales
Spoilage: esfuerzo dedicado al
diagnóstico y eliminación de fallas que fueron introducidas durante el proceso
de desarrollo.
Representa el 55 % del costo total
del sistema
El costo de detección y corrección de
errores durante y después de las etapas de integración y test resultan entre 10
y 15 veces más que en las etapas de desarrollo y codificación.
Estudios realizados concluyen que el
medio ambiente en el que se desarrolla el Software contribuye enormemente al
aumento de errores.
Referencia
https://es.slideshare.net/ocomur/pruebas-unitarias-9368721








Comentarios
Publicar un comentario