Contenido
Conceptos. Objetivos. Casos de prueba Pruebas de caja blanca Pruebas de caja negra
PRUEBAS-2
Demostracin (proof): manual o semiautomtica Inspeccin manual del cdigo Prueba o ensayo (testing): ejecutar y ver resultados Caso de prueba: ensayo individual Impracticable, demasiado costoso Imposible garantizar la ausencia de defectos
Si se provocan fallos, seguro que hay defectos Si no aparecen fallos, puede que haya defectos, o no
PRUEBAS-3
Encontrar defectos en el software Una prueba tiene xito si descubre un defecto Una prueba fracasa si hay defectos pero no los descubre Ver si cumple las especificaciones de diseo Ver si cumple los requisitos del anlisis
PRUEBAS-4
Pruebas de Verificacin
Pruebas de Validacin
Concepto y terminologa
Pruebas en que se conoce el cdigo a probar Caja blanca (clear box: caja clara o transparente) Se procura ejercitar cada elemento del cdigo Pruebas de cubrimiento Pruebas de condiciones Pruebas de bucles
PRUEBAS-5
Pruebas de cubrimiento
Ejecutar al menos una vez cada sentencia Se necesitan varios casos de prueba
Determinar posibles caminos independientes Cada condicin debe cumplirse en un caso y en otro no. En general, se necesitan tantos casos como condiciones, ms uno (nmero ciclomtico)
Cdigo que nunca se ejecuta: condiciones imposibles Ejemplo: deteccin y notificacin de errores internos en un cdigo sin errores
PRUEBAS-6
Pruebas de condiciones
Cumplir o no cada parte de cada condicin Se necesitan varios casos de prueba
Determinar expresiones simples en las condiciones Una por cada operando lgico o comparacin Cada expresin simple debe cumplirse en un caso y en otro no, siendo decisiva en el resultado
PRUEBAS-7
Pruebas de bucles
Conseguir nmeros de repeticiones especiales Bucles simples
Repetir cero, una y dos veces Repetir un nmero medio (tpico) de veces Repetir el mximo-1, mximo y mximo +1! Repetir un nmero medio (tpico) los bucles internos, el mnimo los externos, y variar las repeticiones del bucle intermedio ensayado. Ensayarlo con cada nivel de anidamiento
PRUEBAS-8
Bucles anidados
Concepto y terminologa
Pruebas en que se conoce slo la interfaz Caja negra (black box: caja opaca) Se procura ejercitar cada elemento de la interfaz Cubrimiento invocar todas las funciones (100%) Clases de equivalencia de datos Pruebas de valores lmite
PRUEBAS-9
Particiones de equivalencia
Los datos se clasifican segn las distinciones visibles en la interfaz del programa. Ejemplo: EsPrimo: Entero Booleano
(2, 3, 5, 7, 11, ...) (4, 6, 8, 9, 10, ...) (0, 1) (-1, -2, ...)
Valores tpicos, intermedios Valores primero y segundo del rango Valores penltimo y ltimo Valores vecinos fuera del rango (en otra particin)
Motivacin
Los programadores se equivocan con ms frecuencia al tratar los valores en la frontera (Ej: > en vez de )
PRUEBAS-11
Contenido
PRUEBAS-12
Motivacin
Las pruebas son incmodas La pruebas son aburridas Estoy seguro de que lo he codificado bien Falla por todas partes Muy difcil diagnosticar las causas de los fallos Muy costoso de arreglar Resultado productos finales defectuosos
PRUEBAS-13
Actividades de desarrollo
Doc. Requisitos
P. unidades
Cod. Mdulos
Cd. Completo
Pruebas de unidades
Mdulo en pruebas
Reales o simulados (stubs)
Otros mdulos
Otros mdulos
PRUEBAS-15
Pruebas de integracin
Integracin ascendente
Programa de prueba
Otros mdulos
Mdulo en pruebas
Reales, ya probados
Otros mdulos
Otros mdulos
PRUEBAS-16
Pruebas de integracin
Integracin descendente
Otros mdulos Reales, ya probados
Mdulo en pruebas
simulados (stubs)
Otros mdulos
Otros mdulos
PRUEBAS-17
Ejemplo
Dibujar Curva_C
Pluma
Papel
PRUEBAS-18
Paso 1
P_Papel
Papel
PRUEBAS-19
Paso 2
P_Pluma
P_Papel
Pluma
Papel
PRUEBAS-20
Paso 3
P_Curva_C
Curva_C P_Pluma
P_Papel
Pluma
Papel
PRUEBAS-21
Paso 4
Dibujar
P_Curva_C
P_Pluma
Curva_C
P_Papel
Pluma
Papel
PRUEBAS-22
Pruebas de regresin
Conservar y actualizar los programas de prueba Usar herramientas de ejecucin automtica de las pruebas
PRUEBAS-23
Pruebas de validacin
Se usan la mismas tcnicas, pero con otro objetivo No hay programas de prueba, sino slo el cdigo final de la aplicacin Se prueba el programa completo Uno o varios casos de prueba por cada requisito o caso de uso especificado Se prueba tambin rendimiento, capacidad, etc. (y no slo resultados correctos) Pruebas alfa (desarrolladores) y beta (usuarios)
PRUEBAS-24