You are on page 1of 19

Pruebas de software

Prueba de software
Ejecución de un programa con la
intención de descubrir un error
técnica experimental para la búsqueda
de errores en los programas
Tipos de pruebas
Unidad
integración
validación
sistema
Pruebas de unidad
Errores
interfaces entre módulos
interfaces entrada/salida
estructuras de datos locales
cálculos
flujo de control
caminos de procesamiento de errores
Pruebas de unidad
Necesitamos
drivers (conductores) driver
stubs (resguardos)

Unidad
bajo prueba

stub_C stub_A stub_Y


Pruebas de integración
Errores
comunicación a través de la interface
efectos colaterales perniciosos
acumulación notable de errores de cálculo
acceso incoherente a estructuras de datos
globales
tiempos de respuesta
Pruebas de integración
estrategias

descendente
ascendente
sandwitch
Estrategia descendente
De arriba hacia abajo, avanzando
primero en profundidad
primero en anchura
tomamos el módulo principal como
driver
substituimos los módulos dependientes
por stubs
Estrategia descendente
(cont)

progresamos substituyendo stubs por


módulos reales
– realizando pruebas específicas para el
módulo
– repitiendo las realizadas previamente
(pruebas regresivas)
Estrategia ascendente
Agrupamos los módulos inferiores
(según funcionalidad p.e.)
preparamos un driver para cada grupo
y realizamos las pruebas
progresamos substituyendo los driver
por módulos reales
realizando pruebas específicas y
regresivas
A favor En contra
• Se prueban • Elaboración
descendente antes los stubs
módulos más
importantes
• si primero en
profundidad
quedan
probadas
antes ramas
completas
ascendente • Gran
incertidumbre
hasta el final
Estrategia sandwitch
Combinamos
estrategia descendente para los módulos
superiores (+ funcionales)
estrategia ascendente para los módulos
inferiores
intensificamos las pruebas regresivas
en los módulos críticos
Pruebas de validación
basarse en los criterios de aceptación
pruebas alfa (entorno de desarrollo)
pruebas beta (entorno del cliente)

Pruebas de sistema
recuperación
seguridad
resitencia
rendimiento
Técnicas de prueba
Ayudan a definir conjuntos de casos de
prueba aplicando un cierto criterio
los casos de prueba quedarán
determinados por los valores a asignar
a las entradas en su ejecución
Técnicas de prueba

técnicas de caja blanca

técnicas de caja negra


Técnicas de prueba
técnicas de caja blanca
criterios basados en el contenido de los
módulos
técnicas de caja negra
criterios basados en las interfaces y las
especificaciones de los módulos
Técnicas de caja blanca
El criterio de selección de casos de
prueba buscará cierta cobertura
caminos independientes
valores de las condiciones
bucles dentro y fuera de sus límites
operacionales
estructuras de datos
los errores se esconden en los rincones y
se acumulan en las fronteras
Técnicas de caja negra
Permiten detectar
funcionamiento incorrecto o incompleto
errores interface
errores accesos estructuras de datos
externas
problemas de rendimiento
errores de inicio y terminación
Técnicas de caja negra
Cobertura
valores representativos de conjuntos
de datos
fronteras, valores o combinaciones de
valores conflictivos
capacidad de proceso

You might also like