Está en la página 1de 24

2003-2005 Manuel Collado Pruebas-1

Pruebas de software
Tcnicas de prueba del software
Estrategias de prueba del software
Autor: Manuel Collado Fecha: Marzo 2003
Revisado: Marzo 2005
2003-2005 Manuel Collado Pruebas-2
Tcnicas de prueba del software

Contenido
Conceptos. Objetivos. Casos de prueba
Pruebas de caja blanca
Pruebas de caja negra
2003-2005 Manuel Collado Pruebas-3
Pruebas: concepto y objetivos
Comprobacin del software
Demostracin (proof): manual o semiautomtica
Inspeccin manual del cdigo
Prueba o ensayo (testing): ejecutar y ver resultados
Caso de prueba: ensayo individual
Imposibilidad de pruebas exhaustivas
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
2003-2005 Manuel Collado Pruebas-4
Pruebas: concepto y objetivos
Objetivos de las pruebas
Encontrar defectos en el software
Una prueba tiene xito si descubre un defecto
Una prueba fracasa si hay defectos pero no los
descubre
Pruebas de Verificacin
Ver si cumple las especificaciones de diseo
Pruebas de Validacin
Ver si cumple los requisitos del anlisis
2003-2005 Manuel Collado Pruebas-5
Pruebas de caja blanca
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
Algunas clases de pruebas
Pruebas de cubrimiento
Pruebas de condiciones
Pruebas de bucles
2003-2005 Manuel Collado Pruebas-6
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)
Puede ser imposible cubrir el 100%
Cdigo que nunca se ejecuta: condiciones imposibles
Ejemplo: deteccin y notificacin de errores internos
en un cdigo sin errores
2003-2005 Manuel Collado Pruebas-7
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
Puede ser imposible cubrir el 100%
Expresiones simples no independientes
2003-2005 Manuel Collado Pruebas-8
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!
Bucles anidados
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
2003-2005 Manuel Collado Pruebas-9
Pruebas de caja negra
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
Algunas clases de pruebas
Cubrimiento invocar todas las funciones (100%)
Clases de equivalencia de datos
Pruebas de valores lmite
2003-2005 Manuel Collado Pruebas-10
Pruebas de clases de equivalencia
Particiones de equivalencia
Los datos se clasifican segn las distinciones visibles
en la interfaz del programa.
Ejemplo: EsPrimo: Entero Booleano
Clase 1: primo 2 (2, 3, 5, 7, 11, ...)
Clase 2: no_primo 2 (4, 6, 8, 9, 10, ...)
Clase 3: valores singulares (0, 1)
Clase 4: no definido (-1, -2, ...)
Casos de ensayo con datos de cada clase
2003-2005 Manuel Collado Pruebas-11
Pruebas de valores lmite
Complemento a las particiones de equivalencia
Varios casos de prueba por cada particin
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 )
2003-2005 Manuel Collado Pruebas-12
Estrategias de prueba del software

Contenido
Pruebas de unidades
Pruebas de integracin
Pruebas de regresin
Pruebas de validacin
2003-2005 Manuel Collado Pruebas-13
Pruebas sin estrategia
Motivacin
Las pruebas son incmodas
La pruebas son aburridas
Estoy seguro de que lo he codificado bien
Probar todo junto, al final - Big-Bang
Falla por todas partes
Muy difcil diagnosticar las causas de los fallos
Muy costoso de arreglar
Resultado productos finales defectuosos
2003-2005 Manuel Collado Pruebas-14
Actividades de prueba de software
Actividades de desarrollo
Anlisis
Diseo
Codificacin
Integracin
Mantenimiento
P. unidades
Doc. Diseo
Cod. Mdulos
P. integracin
Cd. Completo
P. validacin
Doc. Requisitos
2003-2005 Manuel Collado Pruebas-15
Pruebas de unidades
Se prueba cada mdulo, por separado
Mdulo en
pruebas
Programa
de prueba
Otros
mdulos
Otros
mdulos
Reales o
simulados
(stubs)
2003-2005 Manuel Collado Pruebas-16
Pruebas de integracin
Integracin ascendente
Mdulo en
pruebas
Otros
mdulos
Otros
mdulos
Reales,
ya probados
Otros
mdulos
Programa
de prueba
2003-2005 Manuel Collado Pruebas-17
Pruebas de integracin
Integracin descendente
Mdulo en
pruebas
Otros
mdulos
Otros
mdulos
Reales,
ya probados
Otros
mdulos
simulados
(stubs)
2003-2005 Manuel Collado Pruebas-18
Prueba unidades + integracin ascendente
Dibujar
Curva_C
Pluma
Papel
Ejemplo
2003-2005 Manuel Collado Pruebas-19
Prueba unidades + integracin ascendente
Papel
P_Papel
Paso 1
2003-2005 Manuel Collado Pruebas-20
Prueba unidades + integracin ascendente
Pluma
Papel
P_Papel
P_Pluma
Paso 2
2003-2005 Manuel Collado Pruebas-21
Prueba unidades + integracin ascendente
Curva_C
Pluma
Papel
P_Papel
P_Pluma
P_Curva_C
Paso 3
2003-2005 Manuel Collado Pruebas-22
Prueba unidades + integracin ascendente
Dibujar
Curva_C
Pluma
Papel
P_Papel
P_Pluma
P_Curva_C
Paso 4
2003-2005 Manuel Collado Pruebas-23
Pruebas de regresin
Repetir las pruebas tras cada modificacin
Repetir slo pruebas de verificacin
Pruebas de unidades
Pruebas de integracin
Conservar y actualizar los programas de prueba
Usar herramientas de ejecucin automtica de las
pruebas
2003-2005 Manuel Collado Pruebas-24
Pruebas de validacin
Comprobar que se satisfacen los requisitos
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)

También podría gustarte