miércoles, 8 de agosto de 2012

Verificación y Validación de Software


Verificación y Validación de Software
La verificación y validación de Software sirven para valorar y mejorar la calidad de los productos de trabajo generados durante el desarrollo y modificación del software. 
Existen dos tipos de verificación, formal y del ciclo de vida. La verificación formal es una demostración matemática de la concordancia del código fuente con sus especificaciones y la del ciclo de vida es el proceso de determinar el grado de los productos de trabajo de una fase dada del ciclo de desarrollo cumplen con las especificaciones establecidas en las fases anteriores.
La validación es la evaluación del software al final del proceso de desarrollo del software para determinar su conformidad con los requisitos IEEE.
V&V implican la valoración de los productos para determinar el apego a las especificaciones, incluyen:
  • Especificaciones de requisitos
  • Documentación del diseño
  • Estándares del lenguaje de instrumentación
  • Estándares organizacionales
  • Expectativas del usuario


Fallos en Software
Existen muchísimos errores que se pueden presentar en un software, el origen de este concepto es por un fallo en el hardware. En 1968, en la primera conferencia organizada por la OTAN sobre el desarrollo de software se definió el concepto de Crisis de Software donde se dijo que desarrollar un software era algo complejo que tenía probabilidad de que aparecieran errores.
Algunos accidentes graves que se han presentado:
  • La Mariner 1 (1962). Fue la primera misión de la NASA para sobrevolar Venus. El cohete no duró más de 5 minutos en vuelo cuando se desvió de su trayectoria y fue autodestruido. El motivo de este fallo fue la omisión de un guión '-' en el programa que controlaba el cohete.

  • Therac-25 (1985-1987). La Atomic Energy of Canada Limited creó una máquina de radioterapia para uso en la medicina. Se registraron seis accidentes en los que los pacientes tuvieron alta sobredosis de radiación. En las investigaciones se responsabilizó al software por un código indocumentado y con fallos.

  • AT&T (1990): La empresa AT&T perdió unos $60 millones de dólares al dejar aproximadamente a 60.000 clientes sin comunicación en llamadas de larga distancia. El motivo de esta caída fue debido a los interruptores que se reseteaban cada pocos segundos debido a un fallo en una actualización del software. Este fallo provocaba una caida cascada entre los diferentes interruptores.

  • Chips Pentium (1994): Un error en el juego de instrucciones en los chip Pentium repercutió en la empresa $475 millones de dólares de costes en recogida y reenvío de procesadores. El error se reproducía al realizar una división con coma flotante en el que a partir del cuarto dígito decimal no daba valores correctos. Este fallo empezó a llamarse “bug de FDIV“.

Encontré también una página de Top 10 de los errores de software más costosos, está muy interesante les dejo el link.

Referencias:



1 comentario: