Verificación de software

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

Verificación de software es una disciplina de la ingeniería de software, lenguajes de programación y teoría de la computación cuyo objetivo es asegurar que el software satisfaga los requisitos esperados.

Amplio alcance y clasificación

Una definición amplia de verificación la relaciona con las pruebas de software. En ese caso, existen dos enfoques fundamentales para la verificación:

  • Verificación dinámica, también conocido como experimentación, pruebas dinámicas o simplemente pruebas. - Esto es bueno para encontrar fallas ( bugs de software).
  • Verificación estatica, también conocido como análisis o, pruebas estáticas - Esto es útil para probar la corrección de un programa. Aunque puede resultar en falsos positivos cuando hay uno o más conflictos entre el proceso un software realmente hace y lo que la verificación estática supone que lo hace.

Bajo el Sistema de Clasificación Informática ACM, los temas de verificación de software aparecen en "Software y su ingeniería", dentro de "Creación de software", mientras que la verificación de programas también aparece en Teoría de la computación en Semántica y razonamiento, razonamiento del programa.

Verificación dinámica (Prueba, experimentación)

La verificación dinámica se realiza durante la ejecución del software, y controla dinámicamente su comportamiento; se conoce comúnmente como la fase de prueba. La verificación es un proceso de revisión. Dependiendo del alcance de las pruebas, podemos clasificarlas en tres familias:

  • Prueba en el pequeño: una prueba que comprueba una sola función o clase (prueba Unit)
  • Prueba en el gran: una prueba que comprueba un grupo de clases, como
    • Prueba de módulo (un módulo único)
    • Prueba de integración (más de un módulo)
    • Prueba de sistema (todo el sistema)
  • Prueba de aceptación: una prueba formal definida para comprobar los criterios de aceptación para un software
    • Prueba funcional
    • Prueba no funcional (performance, test de estrés)

El objetivo de la verificación dinámica del software es encontrar los errores introducidos por una actividad (por ejemplo, tener un software médico para analizar datos bioquímicos); o por el rendimiento repetitivo de una o más actividades (como una prueba de estrés para un servidor web, es decir, comprobar si el producto actual de la actividad es tan correcto como era al comienzo de la actividad).

Verificación estática (Análisis)

La verificación estática es el proceso de comprobar que el software cumple con los requisitos inspeccionando el código antes de ejecutarlo. Por ejemplo:

  • Verificación de los convenios de código
  • Detección de malas prácticas (anti-pattern)
  • Cálculo de métricas de software
  • Verificación formal

Verificación por Análisis - El método de verificación de análisis se aplica a la verificación por investigación, cálculos matemáticos, evaluación lógica y cálculos utilizando métodos de libro de texto clásico o métodos de computadora de uso general aceptados. El análisis incluye muestreo y correlacionamiento de datos medidos y resultados de prueba observados con valores estimados calculados para establecer la conformidad con los requisitos.

Alcance limitado

Cuando se define más estrictamente, la verificación es equivalente sólo a las pruebas estáticas y se pretende aplicar a los artefactos. Y, la validación (de todo el producto del software) sería equivalente a pruebas dinámicas y se pretende aplicar al producto del software de funcionamiento (no sus artefactos, excepto los requisitos). Observe que los requisitos de validación pueden realizarse estadística y dinámicamente (ver validación del artefacto).

Comparación con validación

La verificación de software a menudo se confunde con la validación de software. La diferencia entre verificación y validación:

  • Software Verificación pregunta: "¿Estamos construyendo el producto correctamente?"; es decir, ¿el software se ajusta a sus especificaciones? (Como una casa se ajusta a sus planos.)
  • Software validación pregunta: "¿Estamos construyendo el producto adecuado?"; es decir, ¿hace el software lo que realmente requiere el usuario? (Como una casa se ajusta a lo que el propietario necesita y quiere.)

Contenido relacionado

Tabla de métodos virtuales

En programación informática, una tabla de métodos virtuales una tabla de funciones virtuales, una tabla de llamadas virtuales , tabla de despacho, vtable o...

ALGOL Y

ALGOL Y fue el nombre dado a un sucesor especulado del lenguaje de programación ALGOL 60 que incorporaba algunas características radicales que fueron...

Hacer bucle while

En muchos lenguajes de programación de computadoras, un bucle do while es una declaración de flujo de control que ejecuta un bloque de código y luego...

API de repositorio de contenido para Java

API de repositorio de contenido para Java es una especificación para una interfaz de programación de aplicaciones de la plataforma Java para acceder a...

Datosflex

DataFlex es un lenguaje de programación de alto nivel orientado a objetos y una herramienta visual de cuarta generación para desarrollar aplicaciones de...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save