Fundamentos Esenciales de la Calidad del Software: Validación, Verificación y Mantenimiento

Clasificado en Diseño e Ingeniería

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

Validación y Verificación de Software

Objetivos de la Validación y Verificación

  • Detectar y corregir los defectos tan pronto como sea posible.
  • Disminuir los riesgos de desviaciones sobre los presupuestos y el calendario.
  • Mejorar la calidad y la fiabilidad del software.
  • Mejorar la visibilidad de la gestión del proceso de desarrollo.
  • Valorar rápidamente los cambios propuestos.

Filosofía de las Pruebas de Software

Basado en las recomendaciones de G. J. Myers:

  • Cada caso de prueba debe definir el resultado de salida esperado.
  • El programador debe evitar probar sus propios programas.
  • Se debe inspeccionar a conciencia el resultado de cada prueba para, así, poder descubrir posibles síntomas de defectos.
  • Al generar casos de prueba se deben incluir tanto datos de entradas válidos como no válidos e inesperados.
  • Probar que el software hace lo que debe y no hace lo que no debe.
  • No deben hacerse planes de prueba suponiendo que no hay defectos para no gastar recursos.
  • Donde hay un defecto, hay otro.
  • Las pruebas son igual o más creativas que el desarrollo de software.

Estrategias de Pruebas

Diferencia entre Caja Blanca y Caja Negra

Caja Negra

  • Consiste en estudiar las funciones.
  • Se prueban todas las posibles entradas y salidas del programa.

Caja Blanca

  • Consiste en centrarse en la estructura interna del programa para elegir los casos de prueba.
  • Se prueban todos los posibles caminos de ejecución.

Pruebas Estructurales de Caja Blanca

  • Cobertura de sentencias: Cada sentencia se ejecuta al menos una vez.
  • Cobertura de decisiones: Cada decisión debe tener un resultado verdadero y uno falso.
  • Cobertura de condiciones: La condición de cada decisión adopta el valor verdadero y falso al menos una vez.
  • Criterio de decisión/condición: Es el criterio de condiciones, pero añadiendo el de decisiones.
  • Criterio de condición múltiple.

El Ciclo en V y la Verificación

Ciclo en V

  • Prueba de Unidad: Centra sus actividades en la lógica del módulo y en los distintos aspectos de las funciones que debe realizar.
  • Prueba de Integración: Debe tener en cuenta los mecanismos de agrupación de módulos fijados en la estructura del programa.
  • Prueba de Sistema: Centra sus comprobaciones en el cumplimiento de los objetivos indicados en el sistema.
  • Prueba de Aceptación: Sirve para que el usuario pueda verificar el producto final.

Auditoría

El objetivo es confirmar de forma objetiva que los productos y/o procesos de desarrollo se ajustan a los estándares, especificaciones y procedimientos usados en el proyecto. Por ello, es normal que la realice personal externo a la empresa.

Walkthrough (Revisión Informal)

El objetivo es la evaluación de un producto para buscar defectos, mejorarlo, evaluar la conformidad con estándares y considerar posibles soluciones para los problemas.

Revisión

Consiste en la reunión de un grupo de personas para examinar un producto y buscar cualquier tipo de defecto.

Mantenimiento de Software

El proceso de modificar un sistema o componente de software después de su entrega para corregir defectos, mejorar el rendimiento u otros atributos, o adaptarlo a un entorno cambiante.

Tipos de Mantenimiento

  • Mantenimiento Perfectivo (60%): Mejorar o añadir nuevas funcionalidades requeridas por el usuario.
  • Mantenimiento Adaptativo (18%): Conjunto de actividades que se realizan para adaptar el sistema a los cambios en su entorno tecnológico.
  • Mantenimiento Correctivo (17%): Corregir los defectos en el hardware o en el software detectados por los usuarios.
  • Mantenimiento Preventivo (5%): Facilitar el mantenimiento futuro del sistema.

Entradas relacionadas: