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

Entradas relacionadas: