Cuando escuchaba los terminos validación y verificación, pensaba que tenían el mismo significados, y entonces los utilizaba como sinonimos. Sin embargo, si bien estan muy relacionados, en el ámbito de la ingeniería de software estos terminos tienen su diferencia. Los dos son procesos de comprobación, que nos ayudan a segurar que el software que estamos desarrollando esté acorde a las especificaciones y necesidades del cliente, pero a continuación veremos como se diferencian:
- Verificación: En este proceso es donde se comprueban los requisitos funcionales y no funcionales de su especificación.
- Validación: Aquí se comprueba que el software cumple con las expectativas que el cliente espera.
Para ser mas claro, cuando verificamos nuestro programa, estamos comprobando que cumple con las especificaciones previamente acordadas, y cuando estamos validando, es cuando se le muestra el programa al cliente y este nos dice si es realmente lo que él esperaba, o sea esperemos que nos de el visto bueno porque de lo contrario el programa puede cumplir con todo los requisitos, sin errores encontrados y funcional, pero si no es lo que el cliente tenía en mente no sirve de nada lo anterior.
El estándar más famoso para este proceso es el estándar IEEE 1012. Consiste en la verificación y validación de un software, es un procedimiento basado en normas de calidad en algunos modelos de vida de un software. Nos ayuda a determinar la calidad de un producto conforme a los requisitos a través de un método qu implica la evaluacion optuima del software y cada uno de sus componentes. Este estandar intervienen varios procesos, y en cada uno de ellos, implican varias tareas:
- Gestión
- Revisión continua del esfuerzo V&V
- Seguimienro de los SVVP según sea necesario
- Establecimiento de auditorias y avaluaciones
- Gestión de esfuerzo
- Generación SVVP
- Evaluación del cambio propuesto
- Examen de la gestion V&V
- Interfaz con orden de procesos
- Identificación de oportunidades de mejora
- V&V de requisitos
- Análisis de trazabilidad
- Evaluación de los requisitos de Software
- Analisis de la interfaz
- Analisis de criticidad
- Análisis de posibles fallos
- Etc
- V&V de Test
- Generación de procedimiento de la prueba de aceptación de V&V
- Ejecución de prueba de integración V&V
- Ejecución de prueba de sistema de V&V
- Ejecución de prueba de aceptación V&V
- Etc
- V&V de intalación y entrega
- Auditoría de configuración de instalación
- Verificación de la instalación
- Análisis de riesgo
- Análisis de seguridad
- Operación V&V
- Evaluación de nuevas restricciones
- Evaluación de los procedimientos de funcionamiento
- Análisis de riesgo
- Analisis de seguridad
- V&V de Mantenimiento
- Revisión SVVP
- Evaluación de anomalías
- Análisis de criticidad
- Evaluación de la migración
- Evaluación de jubilación
- Tarea iteración
- Etc
Implementando el proceso y el estandar IEEE 1012 se espera lograr lo siguiente:
- Facilitar la detección de anomalías en el software
- Mejorar la visión de la gestión de riesgos
- Apoyar los procesos del ciclo de vida asegurando conformidad en el producto.
- Proporcionar evidencia bjetiva de conformidad con el software
- Apoyar la mejora de procesos para generar un modelos de análisis de un sistema integrado.