Verificación y Validación de Software: Técnicas y Procesos Clave
Clasificado en Diseño e Ingeniería
Escrito el en español con un tamaño de 3,97 KB
Verificación y Validación de Software (V&V)
La Verificación y Validación (V&V) es un proceso de pruebas y análisis realizado para asegurar que el software satisface las especificaciones realizadas y entrega las funcionalidades esperadas por el cliente. Este proceso se realiza en cada etapa del desarrollo del software. El objetivo del proceso de V&V es demostrar la existencia de defectos y fallos.
- Defecto: se identifica en las especificaciones del software.
- Fallo: se identifica en el sistema.
Verificación
La verificación se refiere a comprobar que el software cumple con las especificaciones realizadas. Esto incluye:
- Comprobar los requisitos (funcionales y no funcionales).
- Verificar los modelos a utilizar en cada fase de desarrollo de software.
- Revisar la sintaxis y semántica de los modelos.
- Asegurar la trazabilidad de los requisitos al sistema final.
Validación
La validación se refiere a comprobar que el software cumple con las expectativas del cliente. Es un proceso más general que la verificación. Debe asegurar que se cumplen los deseos y necesidades de usuarios y clientes.
Inspecciones del Software
- Analizan las especificaciones del sistema (documentos de requisitos, análisis, diseño y código).
- Se pueden realizar en cualquier fase del desarrollo de software.
- Se pueden realizar de manera automática.
- Son conocidas como técnicas estáticas, ya que no es necesario ejecutar el programa para realizarlas.
Pruebas del Software
- Es necesario ejecutar el software con datos de prueba.
- Se inspeccionan las salidas y su entorno operacional.
- Son esenciales para comprobar rendimiento y fiabilidad.
- Son conocidas como técnicas dinámicas de V&V.
Depuración
- Proceso de depuración: Proceso que localiza y corrige los errores descubiertos durante la verificación y validación.
- Una vez identificado y corregido el defecto, es necesario ejecutar nuevamente todas las pruebas.
- Es un proceso costoso, aproximadamente un 50% del costo total del proyecto.
Proceso V&V Estático
Se utiliza para buscar defectos en las especificaciones del software y el código. Los defectos se clasifican en:
- Omisión: ítem faltante.
- Información extraña: ítems que no deberían estar en la especificación.
- Hecho incorrecto: tergiversación de un hecho.
- Ambigüedad: concepto no claro.
- Inconsistencia: desacuerdo en la representación de un concepto.
Inspecciones de Software
Las inspecciones de software normalmente son guiadas por heurísticas o reglas que se utilizan para analizar las especificaciones del software (Reading Techniques). Estas heurísticas o reglas pueden ser automatizadas para disminuir el costo asociado a las inspecciones (inspección estática automatizada). Los métodos formales son utilizados para realizar verificaciones y validaciones estáticas. Esto implica la especificación formal del sistema.
Ventajas de las Inspecciones de Software
- Durante las pruebas, los fallos pueden enmascarar otros fallos/defectos.
- Pueden inspeccionarse versiones incompletas del software.
- Además de buscar defectos, las inspecciones pueden evaluar atributos de calidad (ej. conformidad con los estándares, mantenibilidad, etc.).
Desventajas de las Inspecciones de Software
- Alto costo y tiempo.
- Es necesario indicar al equipo qué buscar y cómo (según la experiencia).