August 7, 2012

Validación y verificación del software

Durante y después de la implementación de un software, el programa que se está desarrollando debe de comprobarse para asegurarse que satisface su especificación y también para comprobar que entrega la funcionalidad esperada por los usuarios.



Qué es la la verificacioón y validación de software?

  • Verificación
- Busca comprobar que el sistema cumple con los requerimientos especificados (funcionales y no funcionales).

- Esta actividad se enfoca más al proceso de evaluación del sistema o componentes ya que permite determinar si los productos de una determinada fase del desarrollo satisfacen las condiciones impuestas en el inicio de la etapa.

- ¿Se está construyendo el producto correctamente?

  • Validación
- Busca comprobar que el software hace lo que el usuario espera.


- Esta actividad también es una evaluación del sistema o componentes solo que es en el transcurso o al final del proceso del desarrollo para determinar si cumple con lo especificado.

- ¿Se está construyendo el producto correcto?



La verificación y validación implican la valoración de los productos de trabajo para determinar el apego a las especificaciones, incluyen las especificaciones de requisitos, documentación del diseño, estándares del proyecto, estándares organizacionales y expectativas del usuario, al igual que las especificaciones para los formatos y notaciones utilizadas en la especificación de los productos. Se debe examinar los requisitos para asegurarse que concuerden con las necesidades del usuario, así como las restricciones del ambiente y los estándares de notación.


Objetivos de la validación y verificación del software
  • Descubrir defectos (para corregirlos)
    • Provocar fallas (forma de detectar defectos)
    • Revisar los productos (forma de detectar defectos). 
  • Evaluar la calidad de los productos. 
    • El probar o revisar el software da una idea de la calidad del mismo
  • Valorar y mejorar la calidad de los productos generados durante el desarrollo de software.
  • Comprobar que el software está de acuerdo con su especificación. Comprobar que satisface sus requerimientos funcionales y no funcionales


La validación debe llevarse a cabo durante la especificación inicial a través de prototipos que deben ser aprobados por el cliente/usuario, y que correspondan a la funcionalidad deseada. El sistema debe validarse continuamente durante su proceso de desarrollo de manera que siempre corresponda con lo especificado.


En esta imagen podemos ver una visión simplificada del proceso de validación y verificación de ssoftware.



Aquí un ejemplo para entender mejor estas actividades

Un programa lee tres números enteros, los que son interpretados como representaciones de las longitudes de los lados de un triángulo. El programa arroja un mensaje derespuesta que informa si el triángulo es escaleno, isósceles o equilátero

• Se quieren detectar defectos probando (testeando) el programa

• Posibles casos a probar:
    • lado1 = 0, lado2 = 1, lado3 = 0         Resultado = error
    • lado1 = 2, lado2 = 2, lado3 = 3         Resultado = isósceles

• Estos son Casos de Prueba
Se compara el resultado esperado con el obtenido. Si son distintos probablemente haya fallado el programa

• Por intuición sería bueno probar:
    • lado1 = 2, lado2 = 3, lado3 = 4         Resultado = escaleno
    • lado1 = 2, lado2 = 2, lado3 = 2         Resultado = equilátero
¿Por qué estos casos?
Para probar al menos un caso para cada respuesta posible del programa (error, escaleno, isósceles, equilátero)


Otra forma para detectar defectos es revisar el código


Por ejemplo al hacer esta revisión nos podemos dar cuenta que en lugar del or me debería ir un and.


Fuentes
clases3gingsof
booksgoogle
fing

1 comment:

  1. Dividido en dos entradas, pero con el contenido adecuado.

    ReplyDelete