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.