Verificación y Validación de Software: Proceso, Fases y Herramientas

Clasificado en Diseño e Ingeniería

Escrito el en español con un tamaño de 4,89 KB

Objetivos de las Pruebas de Software

El proceso de pruebas del software tiene dos objetivos principales:

  1. Demostrar al desarrollador y al cliente que el software cumple con sus requerimientos.
  2. Descubrir defectos en el software donde el comportamiento es incorrecto, no deseable o no cumple con su especificación.

Diferencias entre Verificación y Validación

Verificación y validación no son lo mismo:

  • Verificación: Implica comprobar que el software está de acuerdo con su especificación.
  • Validación: Es un proceso más general. Su objetivo es asegurar que el sistema software satisface las expectativas del cliente.

El nivel de confianza requerido depende del propósito del sistema, las expectativas de los usuarios y el entorno de mercado.

Aproximaciones para el Análisis y Comprobación de Sistemas

Dentro del proceso de V & V, existen dos aproximaciones complementarias:

  1. Inspecciones de software: Analizan y comprueban las representaciones del sistema (documento de requerimientos, diagramas de diseño, código fuente).
  2. Pruebas de software: Implican ejecutar una implementación del software con datos de prueba.

Tipos de Pruebas

  1. Pruebas de validación: Intentan demostrar que el software es el que el cliente quiere (satisface sus requerimientos).
  2. Pruebas de defectos: Intentan revelar defectos en el sistema en lugar de simular su uso operacional.

Pruebas y Depuración

Tienen diferentes objetivos:

  1. Verificación y validación: Intentan establecer la existencia de defectos.
  2. Depuración: Localiza y corrige estos defectos.

Pruebas de Regresión

Se utilizan para comprobar que los cambios en el programa no introducen nuevos defectos.

Planificación de las Pruebas

Relacionada con el establecimiento de estándares para el proceso de las pruebas, no sólo con la descripción de los productos de las pruebas.

Fases Principales del Proceso de Prueba

  1. Requerimientos.
  2. Elementos probados.
  3. Calendario de pruebas.
  4. Procedimientos de registro de las pruebas.
  5. Requerimientos hardware y software.
  6. Restricciones.

Proceso de Inspección de Programas

Las inspecciones de programas son revisiones cuyo objetivo es la detección de defectos en el programa.

Antes de una inspección, es esencial que:

  1. Se tenga una especificación precisa del código.
  2. Los miembros del equipo estén familiarizados con los estándares de la organización.
  3. Se haya distribuido una versión compilable y actualizada del código.

Análisis Estático Automatizado

Los analizadores estáticos son herramientas software que escanean el código fuente de un programa y detectan posibles defectos y anomalías.

El objetivo es llamar la atención del inspector sobre las anomalías del programa.

Etapas del Análisis Estático

  1. Análisis del flujo de control.
  2. Análisis del uso de los datos.
  3. Análisis de interfaces.
  4. Análisis del flujo de información.
  5. Análisis de caminos.

Verificación y Métodos Formales

Los métodos formales de desarrollo del software se basan en representaciones matemáticas del software, normalmente como una especificación formal.

Pruebas del Sistema

Dos actividades fundamentales:

  • Prueba de componentes
  • Prueba integral

El proceso de pruebas del software tiene dos objetivos distintos:

  1. Demostrar al desarrollador y al cliente que el software satisface sus requerimientos.
  2. Descubrir defectos en el software en que el comportamiento de éste es incorrecto, no deseable o no cumple su especificación del sistema —probar el sistema como un todo.

Fases de las Pruebas del Sistema

  1. Pruebas de integración: El equipo de pruebas tiene acceso al código fuente.
  2. Pruebas de entregas: Se prueba una versión del sistema que podría ser entregada a los usuarios.

Cuando los clientes se implican en las pruebas de entregas, a menudo se denominan pruebas de aceptación.

Aproximaciones para Diseñar Casos de Prueba

  1. Pruebas basadas en requerimientos.
  2. Pruebas estructurales.
  3. Pruebas de particiones.

Banco de Pruebas de Software

Un banco de pruebas del software es un conjunto de herramientas para soportar el proceso de pruebas.

Entradas relacionadas: