4. MODELO DE PRUEBAS
• Probar un producto de software es independiente de la
metodología de desarrollo utilizada para construirlo
• El testing requiere tiempo y presupuesto adicional
• No se puede lograr software de calidad, si las pruebas son
planeadas para la última actividad del desarrollo
• La pruebas se deben mantener en todas las fases del proceso
de desarrollo
• Las pruebas finales y depuraciones tienen como objetivo la
certificación final de la calidad del producto
5. Conceptos Generales
• Failure (Falla): Ocurre cuando un programa no se
comporta de la manera esperada. La falla es una
propiedad estadistica de un sistema en ejecución.
• Fault (Falta): tiene lugar en el código del programa. La
existencioa de una falta puede ocasionar una falla
(failure) en el Sistema
• ERROR: Acción humana que provoca que un
software contenga una falta (fault), y en consecuencia
el sistema falla (Failure )
6. Testing
Verificación
• Regresión -> Verificación después de cambios
• Operación -> Verifica confiabilidad (reliability) de
operación bajo condiciones normales de uso
• Escala completa –> Asignar parámetros a valores
extremos (stressing). Determinar tolerancia a
fallos
• Rendimiento -> Capacidad (performance) de
procesamiento del sistema bajo diferentes cargas
• Prueba de sobrecarga -> Verificar picos de carga.
Determina cuando cae el rendimiento del sistema
• Prueba negativa -> Uso intencional y sistemático de
manera incorrecta. Comportamiento en situaciones
inesperadas.
7. Testing
Validación
• Prueba basada en requisitos -> Validación de
especificaciones funcionales: Casos de Uso,
historias de usuario
• Pruebas ergonómicas -> Validación Interfaces
Hombre - Máquina
• Prueba de documentación de usuario ->
Validación de manuales y documentación de
mantenimiento y servicio
• Prueba de Aceptación -> Validación del sistema
en ambiente de producción:
1. alfa
2. beta
8. Niveles
Pruebas de Unidad: Verifica una unidad funcional
Clase, paquete de servicio, subsistema.
Pruebas de Integración: Verifica que unidades de
software trabajen juntas correctamente.
Pruebas de Sistema: Verifica el sistema completo y
su aplicación en ambiente de producción.
9. Pruebas Unidad
En sistemas OO es más complejo realizar pruebas
unidad que en sistemas estructurados:
• Se prueba a nivel de clase y método.
• Especificación (Caja Negra): Comportamiento externo
• Estructurales (Caja Blanca): Conocer diseño interno
de la unidad
• Pruebas basadas en estado
10. Pruebas de Integración
• La prueba de integración se basa en los modelos
de casos de uso y diagramas de secuencia.
• No se debe comenzar a realizar pruebas de
integración hasta terminar pruebas unitarias.
• Se prueba a nivel de paquetes de servicio y
componentes de software
• Identifica fallas imposibles de en las pruebas de
una sola unidad
11. Pruebas de Sistema
• La prueba de sistema se basa en testing de
operación, escala completa, negativas, basadas en
requisitos y documentación de usuario.
• No se debe comenzar a realizar pruebas de
sistema hasta terminar pruebas integración.
• Se prueba a nivel del sistema completo.