pruebas del software - inf-cr.uclm.es · pruebas del software 12.050 recomendaciones 3 cada caso de...

75
PRUEBAS DEL SOFTWARE 12.010 * Verificación: ¿estamos construyendo correctamente el producto? * Validación: ¿estamos construyendo el producto correcto?

Upload: vonhan

Post on 05-Oct-2018

236 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.010

* Verificación: ¿estamos construyendo correctamente el producto?

* Validación: ¿estamos construyendo el producto correcto?

Page 2: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.020

DEFINICIONESDEFINICIONES

. Pruebas (test): «una actividad en la cual un sistema o uno de sus componentesse ejecuta en circunstancias previamente especificadas, los resultados se observany registran y se realiza una evaluación de algún aspecto»

. Caso de prueba (test case): «un conjunto de entradas, condiciones de ejecucióny resultados esperados desarrollados para un objetivo particular»

. Defecto (defect, fault, «bug»): «un defecto en el software como, por ejemplo, unproceso, una definición de datos o un paso de procesamiento incorrectos en un programa»

Page 3: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.030

DEFINICIONESDEFINICIONES

. Fallo (failure): «La incapacidad de un sistema o de alguno de sus componentespara realizar las funciones requeridas dentro de los requisitos de rendimientoespecificados»

. Error (error): tiene varias acepciones:

/ La diferencia entre un valor calculado, observado o medio y el valorverdadero, especificado o teóricamente correcto.

/ Un defecto

/ Un resultado incorrecto

/ Una acción humana que conduce a un resultado incorrecto .

Page 4: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

2 + 2 = 5

Error

Defecto (calidad)

¡Xyx//???

Sistema de gestión de aeropuerto

Fallo (fiabilidad)

S.Aproximación

Accidente(seguridad)

Equivocacióndel programador

PRUEBAS DEL SOFTWARE12.040

RELACION ENTRE ERROR, DEFECTO Y FALLORELACION ENTRE ERROR, DEFECTO Y FALLO

Page 5: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.050

RECOMENDACIONESRECOMENDACIONES

3 Cada caso de prueba debe definir el resultado de salida esperado.

3 El programador debe evitar probar sus propios programas, ya quedesea (consciente o inconscientemente) demostrar que funcionan sinproblemas.

3Se debe inspeccionar a conciencia el resultado de cada prueba, así,poder descubrir posibles síntomas de defectos.

3Al generar casos de prueba, se deben incluir tanto datos de entradaválidos y esperados como no válidos e inesperados.

Page 6: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.060

RECOMENDACIONESRECOMENDACIONES

3 Las pruebas deben centrarse en dos objetivos (es habitual olvidar el segundo):

3Se deben evitar los casos desechables, es decir, los no documentadosni diseñados con cuidado.

3No deben hacerse planes de prueba suponiendo que, prácticamente,no hay defectos en los programas y, por lo tanto, dedicando pocos recursos a las pruebas.

7Probar si el software no hace lo que debe hacer

7Probar si el software hace lo que debe hacer, es decir,si provoca efectos secundarios adversos

Page 7: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.070

RECOMENDACIONESRECOMENDACIONES

3 La experiencia parece indicar que donde hay un defecto hay otros,es decir, la probabilidad de descubrir nuevos defectos en una partedel software es proporcional al número de defectos ya descubierto.

3Las pruebas son una tarea tanto o más creativa que el desarrollo desoftware. Siempre se han considerado las pruebas como una tareadestructiva y rutinaria.

Page 8: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.080

CICLO COMPLETO DE LAS PRUEBASCICLO COMPLETO DE LAS PRUEBAS

Page 9: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.090

PROCESO DE PRUEBAPROCESO DE PRUEBA

â La depuración (localización y correcciónde defectos)

â El análisis de la estadística de errores

ACTIVIDADESACTIVIDADES

Page 10: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.100

ENFOQUES DE DISEÑO DE PRUEBASENFOQUES DE DISEÑO DE PRUEBAS

Existen tres enfoques principales para el diseño de casos:

1.- El enfoque estructural o de caja blanca2.- El enfoque funcional o de caja negra3.- El enfoque aleatorio consiste en utilizar modelos

(en muchas ocasiones estadísticos) que representenlas posibles entradas al programa para crear a partirde ellos los casos de prueba

Page 11: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.110

LOS ENFOQUES DE DISEÑO DE PRUEBAS LOS ENFOQUES DE DISEÑO DE PRUEBAS DE CAJA BLANCA Y DE CAJA NEGRADE CAJA BLANCA Y DE CAJA NEGRA

Caja blanca

Caja negra

Entrada

Entrada

Salida

Salida

Funciones

Page 12: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.120

GRAFO DE FLUJO DE UN PROGRAMA GRAFO DE FLUJO DE UN PROGRAMA (PSEUDOCODIGO)(PSEUDOCODIGO)

1

2

4

3

6

5

12,13

7a 7b

8,9

10,11

Abrir archivos;

Leer archivo ventas, al final indicar no más registros;

Limpiar línea de impresión;

WHILE (haya registros ventas) DO

Total nacional = 0;

Total extranjero = 0;

WHILE (haya reg. ventas) y (mismo producto)

IF (nacional) THEN

Sumar venta nacional a total nacional

ELSE

Sumar venta extranjero a total extranjero

ENDIF;

Leer archivo ventas, al final indicar no más registros;

ENDWHILE;

Escribir línea de listado;

Limpiar área de impresión;

ENDWHILE;

Cerrar archivos.

Page 13: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.130

GRAFO DE FLUJO DE LAS ESTRUCTURAS GRAFO DE FLUJO DE LAS ESTRUCTURAS BASICAS DE PROGRAMABASICAS DE PROGRAMA

x

x

x

Secuencia Si x entonces...(If x then...else...)

Mientras x hacer...(While x do...)

Hacer... hasta x(Do...until x)

Page 14: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.140

CRITERIOS DE COBERTURACRITERIOS DE COBERTURA

þ Cobertura de sentencias. Se trata de generar los casos de prueba necesarios paraque cada sentencia o instrucción del programa se ejecute al menos una vez.

þ Cobertura de decisiones. Consiste en escribir casos suficientes para que cadadecisión tenga, por lo menos una vez, un resultado verdadero y, al menos una vez,uno falso.

þ Cobertura de condiciones. Se trata de diseñar tantos casos como sea necesario paraque cada condición de cada decisión adopte el valor verdadero al menos una vez y elfalso al menos una vez.

þ Criterio de decisión/condición. Consiste en exigir el criterio de cobertura decondiciones obligando a que se cumpla también el criterio de decisiones.

þ Criterio de condición múltiple. En el caso de que se considere que la evaluación delas condiciones de cada decisión no se realiza de forma simultánea.

Page 15: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.150

EJEMPLO DE DESCOMPOSICION DE UNAEJEMPLO DE DESCOMPOSICION DE UNADECISION MULTICONDICIONALDECISION MULTICONDICIONAL

(a=1) and (c=4)

then

else

then

else

(a=1) (c=4)

Page 16: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.160

LA COMPLEJIDAD DE LA COMPLEJIDAD DE McCABE McCABE V(G)V(G)

1. V (G) = a - n + 2, siendo a el número de arcos o aristas del grafoy n el número de nodos.

2. V (G) = r, siendo r el número de regiones cerradas del grafo.

3. V(G) = c + 1, siendo c el número de nodos de condición.

Page 17: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.170

CALCULO DE LA COMPLEJIDAD CICLOMATICACALCULO DE LA COMPLEJIDAD CICLOMATICASOBRE UN GRAFOSOBRE UN GRAFO

1 2 43 65 11

78

9 10

a1a2

a3

a4 a5a6

a7

a8a9

a10

a11

a12

a13

a14

Reg

ión

2

Reg

ión

4

Reg

ión

3

Reg

ión

1

Reg

ión

5

Page 18: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.180

CASO DE PRUEBA BIEN ELEGIDOCASO DE PRUEBA BIEN ELEGIDO

+ El que reduce el número de otros casos necesarios para que la pruebasea razonable. Esto implica que el caso ejecute el máximo número deposibilidades de entrada diferentes para así reducir el total de casos.

+ Cubre un conjunto extenso de otros casos posibles, es decir, nosindica algo acerca de la ausencia o la presencia de defectos en el conjunto específico de entradas que prueba, así como de otros conjuntos similares.

Page 19: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.190

PARTICIPACIONES O CLASES DE EQUIVALENCIAPARTICIPACIONES O CLASES DE EQUIVALENCIA

Ø Cada caso debe cubrir el máximo número de entradas

Ø Debe tratarse el dominio de valores de entrada divididoen un número finito de clases de equivalencia que cumplanla siguiente propiedad: la prueba de un valor representativode una clase permite suponer «razonablemente» que el resultadoobtenido (existan defectos o no) será el mismo que el obtenidoprobando cualquier otro valor de la clase

Page 20: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.200

PARTICIPACIONES O CLASES DE EQUIVALENCIAPARTICIPACIONES O CLASES DE EQUIVALENCIA

PASOSPASOS

- Identificación de las condiciones de las entradas del programa, es decir,restricciones de formato o contenido de los datos de entrada

- A partir de ellas, se identifican clases de equivalencia que pueden ser:

0 De datos válidos

0 De datos no válidos o erróneos

- Existen algunas reglas que ayudan a identificar clase:

0 Si se especifica un rango de valores para los datos de entrada, secreará una clase válida y dos clases no válidas

0 Si se especifica un número de valores, se creará una clase válida

y dos no válidas

Page 21: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.210

PARTICIPACIONES O CLASES DE EQUIVALENCIAPARTICIPACIONES O CLASES DE EQUIVALENCIA

PASOSPASOS

- Si se especifica una situación del tipo «debe ser» o booleana (por ejemplo,«el primer carácter debe ser una letra»), se identifican una clase válida(«es una letra») y una no válida («no es una letra»)

- Si se especifica un conjunto de valores admitidos y se sabe que el programatrata de forma diferente cada uno de ellos, se identifica una clase válida porcada valor

- En cualquier caso, si se sospecha que ciertos elementos de una clase no setratan igual que el resto de la misma, deben dividirse en clases menores

Page 22: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.220

PARTICIPACIONES O CLASES DE EQUIVALENCIAPARTICIPACIONES O CLASES DE EQUIVALENCIA

PASOSPASOS

- El último paso del método es el uso de las clases de equivalencia paraidentificar los casos de prueba correspondientes. Este proceso constade las siguientes fases:

0 Asignación de un número único a cada clase de equivalencia

0 Hasta que todas las clases de equivalencia hayan sido cubiertaspor (incorporadas a) casos de prueba, se tratará de escribir un casoque cubra tantas clases válidas no incorporadas como sea posible

0 Hasta que todas las clases de equivalencia no válidas hayan sidocubiertas por casos de prueba, escribir un caso para una única claseno válida sin cubrir

Page 23: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.230

TABLA DE CLASES DE EQUIVALENCIATABLA DE CLASES DE EQUIVALENCIADEL EJEMPLODEL EJEMPLO

Condición de entrada Clases válidas Clases inválidasCódigo área (1) 200 ≤código ≤999 (2) código <200

(3) código >999(4) no es número

Nombre para identificar laoperación

(5) seis caracteres (6) menos de 6 caracteres(7) más de 6 caracteres

Orden (8) «cheque»(9) (10) (11)

(12) ninguna orden válida«depósito»«pago factura»

«retirada de fondos»

Page 24: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.240

ANALISIS DE VALORES LIMITE (AVL)ANALISIS DE VALORES LIMITE (AVL)

DIFERENCIASDIFERENCIAS

* Más que elegir «cualquier» elemento comorepresentativo de una clase de equivalencia,se requiere la selección de uno o más elementostal que los márgenes se sometan a prueba

* Más que concentrarse únicamente en el dominiode entrada (condiciones de entrada), los casos de prueba se generan considerando también el espaciode salida

Page 25: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.250

ANALISIS DE VALORES LIMITE (AVL)ANALISIS DE VALORES LIMITE (AVL)LAS REGLAS PARA IDENTIFICAR CLASES SON: LAS REGLAS PARA IDENTIFICAR CLASES SON:

1. Si una condición de entrada especifica un rango de valores, se deben generarcasos para los extremos del rango y casos no válidos para situaciones justo másallá de los extremos

2. Si la condición de entrada especifica un número de valores, hay que escribir casospara los números máximo, mínimo, uno más del máximo y uno menos del mínimo de valores

3. Usar la regla 1 para la condición de salida

4. Usar la regla 2 para cada condición de salida

3Los valores límite de entrada no generan necesariamente los valoreslímite de salida (recuérdese la función seno, por ejemplo)

3No siempre se pueden generar resultados fuera del rango de salida(pero es interesante considerarlo)

5. Si la entrada o la salida de un programa es un conjunto ordenado, loscasos se deben concentrar en el primero y en el último elemento

Page 26: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.260

CONJETURA DE ERRORESCONJETURA DE ERRORES

þ El valor cero es una situación propensa a error tanto en la salida comoen la entrada

þ En situaciones en las que se introduce un número variable de valores, conviene centrarse en el caso de no introducir ningún valor y en el deun solo valor. También puede ser interesante un lista que tiene todoslos valores iguales

þ Es recomendable imaginar que el programador pudiera haber interpretadoalgo mal en la especificación

þ También interesa imaginar lo que el usuario puede introducir como entradaa un programa

Page 27: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.270

PRUEBAS ALEATORIASPRUEBAS ALEATORIAS

En las pruebas aleatorias simulamos la entrada habitual del programa creando datos de entrada en la secuenciay con la frecuencia con las que podrían aparecer en la

práctica

Page 28: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.280

ENFOQUE PRACTICO RECOMENDADO PARAENFOQUE PRACTICO RECOMENDADO PARAEL DISEÑO DE CASOS EL DISEÑO DE CASOS

- Si la especificación contiene combinaciones de condiciones de entrada, comenzar formando sus grafos de causa-efecto(ayudan a la comprensión de dichas combinaciones)

- En todos los casos, usar el análisis de valores-límites para añadir casos de prueba: elegir límites para dar valores a lascausas en los casos generados asumiendo que cada causa esuna clase de equivalencia

- Identificar las clases válidas y no válidas de equivalencia para la entrada y la salida, y añadir los casos no incluidosanteriormente

Page 29: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

- Utilizar la técnica de conjetura de errores para añadirnuevos casos, referidos a valores especiales

PRUEBAS DEL SOFTWARE12.290

ENFOQUE PRACTICO RECOMENDADO PARAENFOQUE PRACTICO RECOMENDADO PARAEL DISEÑO DE CASOS EL DISEÑO DE CASOS

- Ejecutar los casos generados hasta el momento y analizarla cobertura obtenida

- Examinar la lógica del programa para añadir los casosprecisos (de caja blanca) para cumplir el criterio de

cobertura elegido si los resultados de la ejecución del punto anterior indican que no se ha satisfecho el criterio

de cobertura elegido

Page 30: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.300

⌦ Los errores lógicos y las suposiciones incorrectas son inversamenteproporcionales a la probabilidad de que se ejecute un camino delprograma ( a menor probabilidad de ejecutarse un camino, mayornúmero de errores)

⌦ Se suele creer que un determinado camino lógico tiene pocasposibilidades de ejecutarse cuando, de hecho, se puede ejecutarregularmente

⌦ Los errores tipográficos son aleatorios; pueden aparecer en cualquierparte del programa (sea muy usada o no)

⌦ La probabilidad y la importancia de un trozo de código suele sercalculada de forma muy subjetiva

Page 31: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.310

DOCUMENTOS RELACIONADOS CON EL DISEÑODOCUMENTOS RELACIONADOS CON EL DISEÑODE LAS PRUEBAS SEGUN EL ESTANDAR IEEEDE LAS PRUEBAS SEGUN EL ESTANDAR IEEE stdstd. 829. 829

DocumentaciónPlan dePruebas

Especificaciónde diseño

de las pruebas

Especificaciónde diseño

de las pruebas...............

Especificaciónde caso de

prueba

Especificaciónde procedimientode pruebas

EJECUCIÓN

Informes

Page 32: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.320

PLAN DE PRUEBAS PLAN DE PRUEBAS

Objetivo del documento

Señalar el enfoque, los recursos y el esquema de actividadesde prueba, así como los elementos a probar, las características,las actividades de prueba, el personal responsable y los riesgosasociados

Page 33: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

Estructura fijada en el estándar

* Identificador único del documento ( para la gestión de configuración)* Introducción y resumen de elementos y características a probar* Elementos software que se van a probar ( p.e. programa o módulos)* Características que se van a probar* Características que no se prueban* Enfoque general de la prueba (actividades, técnicas, herramientas, etc.)* Criterios de paso/fallo para cada elemento* Criterios de suspensión y requisitos de reanudación* Documentos a entregar (como mínimo, los descritos en el estándar)* Actividades de preparación y ejecución de pruebas* Necesidades de entorno* Responsabilidades en la organización y realización de las pruebas* Necesidades de personal y de formación* Esquema de tiempos (con tiempos estimados, hitos, etc)* Riesgos asumidos por el plan y planes de contingencias para cada riesgo* Aprobaciones y firmas con nombre y puesto desempeñado

PRUEBAS DEL SOFTWARE12.330

PLAN DE PRUEBAS PLAN DE PRUEBAS

Page 34: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.340

ESPECIFICACION DEL DISEÑO DE PRUEBASESPECIFICACION DEL DISEÑO DE PRUEBAS

Objetivo del documento

Especificar los refinamientos necesarios sobre el enfoquegeneral reflejado en el plan e identificar las características

que se deben probar con este diseño de pruebas

Page 35: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

Estructura fijada en el estándar

* Identificador único para la especificación. Proporcionar también unareferencia del plan asociado (si existe)

* Características a probar de los elementos software (y combinacionesde características

* Detalles sobre el plan de pruebas del que surge este diseño, incluyendolas técnicas de prueba específica y los métodos de análisis de resultados

* Identificación de cada prueba:

, identificador, casos que se van a utilizar, procedimientos que se van a seguir

* Criterios de paso/fallo de la prueba (criterios para determinar si unacaracterística o combinación de características ha pasado con éxitola prueba o no)

PRUEBAS DEL SOFTWARE12.350

ESPECIFICACION DEL DISEÑO DE PRUEBASESPECIFICACION DEL DISEÑO DE PRUEBAS

Page 36: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.360

ESPECIFICACION DE CASO DE PRUEBAESPECIFICACION DE CASO DE PRUEBA

Objetivo del documento

Definir uno de los casos de prueba identificando

por una especificación del diseño de las pruebas

Page 37: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

Estructura fijada en el estándar

* Identificador único de la especificación* Elementos software (por ejemplo, módulos) que se van a probar:

definir dichos elementos y las características que ejercitará este caso* Especificaciones de cada entrada requerida para ejecutar el caso

(incluyendo las relaciones entre las diversas entradas; por ejemplo,la sincronización de las mismas)

* Especificaciones de todas las salidas y las características requeridas(por ejemplo, el tiempo respuesta) para los elementos que se van a probar

* Necesidades de entorno (hardware, software y otras como, por ejemplo, el personal)

* Requisitos especiales de procedimiento (o restricciones especiales en losprocedimientos para ejecutar este caso).

* Dependencias entre casos (por ejemplo, listar los identificadores de loscasos que se van a ejecutar antes de este caso de prueba)

PRUEBAS DEL SOFTWARE12.370

ESPECIFICACION DE CASO DE PRUEBAESPECIFICACION DE CASO DE PRUEBA

Page 38: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.380

ESPECIFICACION DE PROCEDIMIENTOESPECIFICACION DE PROCEDIMIENTODE PRUEBADE PRUEBA

Objetivo del documento

Especificar los pasos para la ejecución de un conjunto

de casos de prueba o, más generalmente, los pasos

utilizados para analizar un elemento software con el

propósito de evaluar un conjunto de características

del mismo

Page 39: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

Estructura fijada en el estándar

* Identificador único de la especificación y referencia a la correspondienteespecificación de diseño de prueba

* Objetivo del procedimiento y lista de casos que se ejecutan con él* Requisitos especiales para la ejecución (por ejemplo, entorno especial o

personal especial)* Pasos en el procedimiento. Además de la manera de registrar los resultados

y los incidentes de la ejecución, se debe especificar:- La secuencia necesaria de acciones para preparar la ejecución- Acciones necesarias para empezar la ejecución- Acciones necesarias durante la ejecución- Cómo se realizarán las medidas ( por ejemplo, el tiempo de respuesta)- Acciones necesarias para suspender la prueba (cuando los acontecimientos no

previstos lo obliguen)- Puntos para reinicio de la ejecución y acciones necesarias para el reinicio en estos puntos- Acciones necesarias para detener ordenadamente la ejecución- Acciones necesarias para restaurar el entorno y dejarlo en la situación existente antes

de las pruebas- Acciones necesarias para tratar los acontecimientos anómalos

PRUEBAS DEL SOFTWARE12.390

ESPECIFICACION DE PROCEDIMIENTOESPECIFICACION DE PROCEDIMIENTODE PRUEBADE PRUEBA

Page 40: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.400

PROCESO DE PRUEBAS, TRAS EL DISEÑO DEPROCESO DE PRUEBAS, TRAS EL DISEÑO DECASOS, SEGUN EL ESTANDAR IEEE 1008CASOS, SEGUN EL ESTANDAR IEEE 1008

1.EJECUTAR

2.COMPROBARSI TERMINÓLA PRUEBA

3.EVALUARRESULTADOS

3.PRUEBASADICIONALES

Page 41: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.410

DETALLES DEL PROCESO DETALLES DEL PROCESO EJECUTAREJECUTAR

EJECUTARPRUEBAS

¿ALGUNFALLO?

No

COMPROBARTERMINACIÓN

DEPURARLAS

PRUEBASDEPURACIÓN

DEFECTOSEN LASPRUEBAS

DEFECTOSSOFTWARE

Si Si

Page 42: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.420

DETALLES DEL PROCESO DE COMPROBACIONDETALLES DEL PROCESO DE COMPROBACIONDE LA TERMINACION DE LAS PRUEBASDE LA TERMINACION DE LAS PRUEBAS

PRUEBASADICIONALES EJECUCIÓN

CONDICIONESANORMALES

¿Pruebasadicionales?

No Si

EVALUACIÓN

Criterios decomplecióndescritosen el plan de pruebas

TERMINACIÓNANORMAL

TERMINACIÓNNORMAL

No

Page 43: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.430

DOCUMENTACION RELACIONADA CON LA EJECUCIONDOCUMENTACION RELACIONADA CON LA EJECUCIONDE LAS PRUEBAS SEGUN EL ESTANDAR IEEE 829DE LAS PRUEBAS SEGUN EL ESTANDAR IEEE 829

Casosprocedimientos

Especificaciónde las pruebas

EJECUCION

Históricode

pruebas

Informede

incidente

Históricode

pruebas

Informede

incidente

Ejecución Ejecución

InformeResúmen

Page 44: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.440

Objetivo

El histórico de pruebas (test log) documenta

todos los hechos relevantes ocurridos durante

la ejecución de las pruebas

HISTORICO DE PRUEBASHISTORICO DE PRUEBAS

Page 45: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.450

Estructura fijada en el estándar:

HISTORICO DE PRUEBASHISTORICO DE PRUEBAS

* Identificador

* Descripción de la prueba: elementos probados y entorno de la prueba

* Anotación de datos sobre cada hecho ocurrido (incluido el comienzo y el final de la prueba)

- Fecha y hora- Identificador de informe de incidente

* Otras informaciones

Page 46: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.460

Objetivo:

INFORME DE INCIDENTEINFORME DE INCIDENTE

El informe de incidente (test incident report) documentacada incidente (por ejemplo, una interrupción en laspruebas debido a un corte de electricidad, bloqueo delteclado, etc.) ocurrido en la prueba y que requiera una posterior investigación.

Page 47: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.470

Estructura fijada en el estándar:

INFORME DE INCIDENTEINFORME DE INCIDENTE

* Identificador

* Resumen del incidente

* Descripción de datos objetivos (fecha/hora, entradas,resultados esperados, etc)

* Impacto que tendrá sobre las pruebas

Page 48: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.480

:

INFORME RESUMEN DE PRUEBASINFORME RESUMEN DE PRUEBAS

summary report) resume los resultados de las actividadesde prueba (las señaladas en el propio informe)y aporta una evaluación del software basadaen dichos resultados

Page 49: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.490

Estructura fijada en el estándar:

INFORME RESUMEN DE LAS PRUEBASINFORME RESUMEN DE LAS PRUEBAS

* Identificador

* Resumen de la evaluación de los elementos probados

* Variaciones del software respecto a su especificación de diseño, asícomo las variaciones en las pruebas

* Valoración de la extensión de la prueba (cobertura lógica, funcional,de requisitos, etc.)

* Resumen de los resultados obtenidos en las pruebas

* Evaluación de cada elemento software sometido a prueba (evaluacióngeneral del software incluyendo las limitaciones del mismo)

* Firmas y aprobaciones de quienes deban supervisar el informe

Page 50: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.500

RELACION ENTRE LAS PRUEBAS Y LA DEPURACIONRELACION ENTRE LAS PRUEBAS Y LA DEPURACION

Casos deprueba

Ejecución

Resultados

Causas ignoradas

Correcciones

Causas

Depuración

Síntomas dedefectos(errores)

Page 51: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.510

CONSEJOS PARA LA DEPURACIONCONSEJOS PARA LA DEPURACION

6 Analizar la información y pensar

6 Al llegar a un punto muerto, pasar a otra cosa

6 Al llegar a un punto muerto, describir el problema a otra persona

6 Usar herramientas de depuración sólo como recurso secundario

6 No experimentar cambiando el programa

6 Se deben atacar los errores individualmente

6 Se debe fijar la atención también en los datos

Localización del error

Page 52: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.520

CONSEJOS PARA LA DEPURACIONCONSEJOS PARA LA DEPURACION

4 Donde hay un defecto, suele haber más

4 Debe fijarse el defecto, no sus síntomas

4 La probabilidad de corregir perfectamente un defecto no es del 100%

4 Cuidado con crear nuevos defectos

4 La corrección debe situarnos temporalmente en la fase de diseño

4 Cambiar el código fuente, no el código objeto

Corrección del error

Page 53: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.530

ANALISIS DE ERRORES O ANALISIS CAUSALANALISIS DE ERRORES O ANALISIS CAUSAL

¿Cuándo se cometió?

¿Quién lo hizo

¿Qué se hizo mal?

¿Cómo se podría haber prevenido?

¿Por qué no se detectó antes?

¿Cómo se podría haber detectado antes?

¿Cómo se encontró el error?

Page 54: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.540

ESTRATEGIA DE APLICACIÓN DE LAS PRUEBASESTRATEGIA DE APLICACIÓN DE LAS PRUEBAS

þ Se comienza en la prueba de cada módulo, que normalmente la realizael propio personal de desarrollo en su entorno

þ Con el esquema del diseño del software, los módulos probados se integranpara comprobar sus interfaces en el trabajo conjunto (prueba de integración)

þ El software totalmente ensamblado se prueba como un conjunto para comprobarsi cumple o no tanto los requisitos funcionales como los requisitos de rendimientos,seguridad, etc. (prueba funcional o de validación). Este nivel de prueba coincidecon el de la prueba del sistema cuando se trate de software empotrado u otros tiposde especiales de aplicaciones

þ El software ya validado se integra con el resto del sistema (por ejemplo, elementosmecánicos, interfaces electrónicas, etc.) para probar su funcionamiento conjunto

(prueba del sistema)

þ Por último, el producto final se pasa a la prueba de aceptación para que el usuariocompruebe en su propio entorno de explotación si lo acepta como está o no (pruebade aceptación)

Page 55: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

RELACION ENTRE PRODUCTOS DE DESARROLLORELACION ENTRE PRODUCTOS DE DESARROLLOY NIVELES DE PRUEBAY NIVELES DE PRUEBA

PRUEBAS DEL SOFTWARE12.550

Requisitosde usuario

Especificac.de requisitos

Diseñomodular

Especific. ylógica demódulo

Código

Pruebas deunidad

Pruebas deintegración

Pruebas desistema

Pruebas deaceptación

Page 56: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBA DE UNIDADPRUEBA DE UNIDAD

PRUEBAS DEL SOFTWARE12.560

Hablamos de una unidad de prueba para referirnos a uno o más módulosque cumplen las siguientes condiciones [IEEE, 1986a]:

• Todos son del mismo programa• Al menos uno de ellos no ha sido probado

• El conjunto de módulos es el objeto de un proceso de prueba

Page 57: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DE INTEGRACIONPRUEBAS DE INTEGRACION

PRUEBAS DEL SOFTWARE12.570

Factores

3 La forma de preparar casos

3 Las herramientas necesarias

3 El orden de codificar y probar los módulos

3 El coste de la depuración

3 El coste de preparación de casos

Page 58: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.580

PRUEBAS DE INTEGRACIONPRUEBAS DE INTEGRACION

Tipos fundamentales de integración

+ Integración incrementalÆ ascendenteÄ descendente

+ Integración no incremental+ Integración incremental ascendente

ÆSe combinan los módulos de bajo nivel en gruposÆSe escribe para cada grupo un módulo impulsor o conductor (driver)ÆSe prueba cada grupo empleando su impulsorÆSe eliminan los módulos impulsores de cada grupo y se sustituyen

por los módulos del nivel superior de la jerarquía

+ Integración incremental descendiente

Ä Primero en profundidad: se van completando ramas de árbol modularÄ Primero en anchura: se van completando niveles (horizontales)

de jerarquía modular

Page 59: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

DISEÑO MODULAR SOBRE EL QUE SE REALIZADISEÑO MODULAR SOBRE EL QUE SE REALIZALA INTEGRACIONLA INTEGRACION

PRUEBAS DEL SOFTWARE12.590

A

DCB

E F G

Page 60: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRIMERA FASE DE LA INTEGRACION PRIMERA FASE DE LA INTEGRACION ASCENDENTE DEL EJEMPLOASCENDENTE DEL EJEMPLO

PRUEBAS DEL SOFTWARE12.600

Impulsor de D

D

Impulsor de G

G

Impulsor de E

E

Impulsor de F

F

1ª fase

Page 61: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

SEGUNDA Y TERCERA FASE DE LA INTEGRACIONSEGUNDA Y TERCERA FASE DE LA INTEGRACIONASCENDENTE DEL EJEMPLOASCENDENTE DEL EJEMPLO

PRUEBAS DEL SOFTWARE12.610

Impulsor de E Impulsor de F

C

F G

B

E

A

DCB

E F G

2ª fase 3ª fase

Page 62: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.620

ETAPAS FUNDAMENTALES DE LAETAPAS FUNDAMENTALES DE LAINTEGRACION DESCENDENTEINTEGRACION DESCENDENTE

å El módulo raíz es el primero

å Una vez probado el módulo raíz (sin detectarse ya ningún defecto,se sustituye uno de los subordinados ficticios por el módulocorrespondiente según el orden elegido

å Se ejecutan las correspondientes pruebas cada vez que se incorporaun módulo nuevo

å Al terminar cada prueba, se sustituye un ficticio por su correspondientereal

å Conviene repetir algunos casos de prueba de ejecuciones anteriores paraasegurarse de que no se ha introducido ningún defecto nuevo

Page 63: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.630

ORDEN DE COMPLEJIDADORDEN DE COMPLEJIDAD

* Módulos que sólo muestran un mensaje de traza

* Módulos que muestran los parámetros que se les pasa

* Módulos que devuelven un valor que no depende de los parámetros que se pasen como entrada

* Módulos que, en función de los parámetros pasados,devuelven un valor de salida que más o menos secorresponda con dicha entrada

Page 64: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

UNA POSIBLE CLASIFICACION DEUNA POSIBLE CLASIFICACION DELOS MODULOS FICTICIOSLOS MODULOS FICTICIOS

PRUEBAS DEL SOFTWARE12.640

Tipo 1 Tipo 2 Tipo 3 Tipo 4

Page 65: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

UN PASO INTERMEDIO EN LA INTEGRACIONUN PASO INTERMEDIO EN LA INTEGRACIONDESCENDENTE PRIMERO EN LA PROFUNDIDADDESCENDENTE PRIMERO EN LA PROFUNDIDAD

DEL EJEMPLODEL EJEMPLO

PRUEBAS DEL SOFTWARE12.650

A

Ficticio DFicticio CB

E

Page 66: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

UN PASO INTERMEDIO EN LA INTEGRACIONUN PASO INTERMEDIO EN LA INTEGRACIONDESCENDENTE PRIMERO EN LA ANCHURADESCENDENTE PRIMERO EN LA ANCHURA

DEL EJEMPLODEL EJEMPLO

PRUEBAS DEL SOFTWARE12.660

A

ficticio DCB

Ficticio E

Page 67: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBAS DEL SOFTWARE12.670

INTEGRACION NO INCREMENTALINTEGRACION NO INCREMENTAL

+ Un módulo impulsor, que transmite o «impulsa» los datos de prueba al módulo y muestra los resultados de dichoscasos de prueba

+ Uno o más módulos ficticios que simulan la funciónde cada módulo subordinado llamado por el móduloque se va a probar

Page 68: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBA TIPICA DEL MODULO EN LA INTEGRACIONPRUEBA TIPICA DEL MODULO EN LA INTEGRACIONNO INCREMENTALNO INCREMENTAL

PRUEBAS DEL SOFTWARE12.680

Módulo que seva a probar

ficticio 3ficticio 2ficticio 1

Impulsor

ResultadosCasos deprueba

Page 69: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

COMPARACION DE LOS DISTINTOSCOMPARACION DE LOS DISTINTOSTIPOS DE INTEGRACIONTIPOS DE INTEGRACION

PRUEBAS DEL SOFTWARE12.690

Ventajas de la integración incremental frente a la no incremental

La no incremental:

• Requiere menos tiempo de máquina para las pruebas, ya quese prueba de una sola vez la combinación de los módulos

• Existen más oportunidades de probar módulos en paralelo

La incremental:

• Requiere menos trabajo, ya que se escriben menos módulos impulsoresy ficticios

• Los defectos y errores en las interfaces se detectan antes, ya que seempieza antes a probar las uniones entre los módulos

• La depuración es mucho más fácil, ya que si se detectan los síntomasde un defecto en un paso de la integración hay que atribuirlo muy probablemente al último módulo incorporado

Page 70: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

VENTAJAS Y DESVENTAJAS DE LAS VENTAJAS Y DESVENTAJAS DE LAS INTEGRACIONES ASCENDENTE Y DESCENDENTEINTEGRACIONES ASCENDENTE Y DESCENDENTE

Descendente

Es un método ventajoso si aparecengrandes fallos en la parte inferior delprograma, ya que se prueba antes.La entradas para las pruebas son más

módulos inferiores tienen funciones

AscendenteVentajas

• fáciles de crear, puesto que los

más específicas.• Es más fácil observar los resultados de

la prueba, ya que es en los módulosinferiores donde se elaboran los datos(los superiores suelen ser módulos decontrol).

Ventajas• Es ventajosa si aparecen grandes

defectos en los niveles superiores delprograma, ya que se prueban antes.

• Una vez incorporadas las funciones deentrada/salida, es fácil manejar loscasos de prueba.

• Permite ver antes una estructura previadel programa, lo que facilita el hacerdemostraciones y ayuda a mantener lamoral.

Desventajas• Se requieren módulos impulsores, que

deben codificarse.• El programa, como entidad, sólo

aparece cuando se agrega el últimomódulo.

Desventajas

• Se requieren módulos ficticios quesuelen ser complejos de crear.

• Antes de incorporar la entrada/salidaresulta complicado el manejo de loscasos de prueba.

• Las entradas para las pruebas puedenser difíciles o imposibles de crear,puesto que, a menudo, se carece delos módulos inferiores queproporcionan los detalles de operación.

• Es más difícil observar la salida, yaque los resultados surgen de losmódulos inferiores.

• Pueden inducir a diferir la terminaciónde la prueba de ciertos módulos.

PRUEBAS DEL SOFTWARE12.700

Page 71: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBA DEL SISTEMAPRUEBA DEL SISTEMA

PRUEBAS DEL SOFTWARE12.710

• Cumplimiento de todos los requisitos funcionales, considerando el producto software final al completo en un entorno de sistema

•El funcionamiento y rendimiento en las interfaces hardware,software, de usuario y de operador

• Adecuación de la documentación de usuario

• Ejecución y rendimiento en condiciones límite y de sobrecarga

Page 72: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

FUENTES DE DISEÑO DE CASOS DE PRUEBAFUENTES DE DISEÑO DE CASOS DE PRUEBA

PRUEBAS DEL SOFTWARE12.720

n Casos basados en los requisitos gracias a técnicas de caja negra aplicadasa las especificaciones

n Casos necesarios para probar el rendimiento del sistema y de su capacidad funcional (pruebas de volumen de datos, de límites de procesamiento, etc.).Este tipo de pruebas suelen llamarse pruebas de sobrecarga (stress testing)

n Casos basados en el diseño de alto nivel aplicando técnicas de caja blancaa los flujos de datos de alto nivel (por ejemplo, de los diagramas de flujode datos)

Page 73: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

PRUEBA DE ACEPTACIONPRUEBA DE ACEPTACION

PRUEBAS DEL SOFTWARE12.730

, Participación del usuario

, Está enfocada hacia la prueba de los requisitosde usuario especificados

, Está considerada como la fase final del procesopara crear una confianza en que el producto esel apropiado para su uso en explotación

Page 74: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

RECOMENDACIONES GENERALESRECOMENDACIONES GENERALES

PRUEBAS DEL SOFTWARE12.740

* Debe contarse con criterios de aceptaciónpreviamente aprobados por el usuario

* No hay que olvidar también la documentación y los procedimientos de uso (por ejemplo,mediante una auditoría)

* Las pruebas se deben realizar en el entornoen el que se utilizará el sistema (lo que incluyeal personal que lo maneja)

Page 75: PRUEBAS DEL SOFTWARE - inf-cr.uclm.es · PRUEBAS DEL SOFTWARE 12.050 RECOMENDACIONES 3 Cada caso de prueba debe definir el resultado de salida esperad o. 3 El programador debe …

DISEÑO MODULAR SOBRE EL QUE APLICAR DISEÑO MODULAR SOBRE EL QUE APLICAR EL EJERCICIOEL EJERCICIO

PRUEBAS DEL SOFTWARE12.750

PROGRAMA

LEER-REG

CALCULO IMPRIMIR

PRIMA-DIR PRIMA-

NO-DIR