6.3 CASOS DE PRUEBA CAJA BLANCA

Anuncio
6.3 CASOS DE PRUEBA
CAJA BLANCA
Tipos de Prueba:
•
•
Prueba de la Ruta Básica
Pruebas de la estructura de control
• Prueba de condición
• Prueba del flujo de datos
• Prueba de bucles
6.3.1 PRUEBA DE LA RUTA BASICA
Técnica de prueba de caja blanca que propuso Tom
McCabe.
Permite conocer una medida de la
complejidad lógica de un diseño procedural y usar
esta medida como guía para definir un conjunto
básico de rutas de ejecución
Estas garantizan que se ejecute cada instrucción del
programa por lo menos una vez durante la prueba.
6.3.1 PRUEBA DE LA RUTA BASICA
Recordar:
Diagrama de Flujo
y
Gráfica de Flujo
Componentes de la gráfica de flujo:
Aristas : enlaces
Nodos : instrucción procedural
Nodo predicado : nodo del que emanan dos aristas ( if )
Región : área que se limitan por aristas y nodos
6.3.1 PRUEBA DE LA RUTA BASICA
1
11
Ruta 1:
Ruta 2:
Ruta 3:
Ruta 4:
2,3
6
4,5
R2
7
R1
9
Rutas independientes:
1-11
1-2-3-4-5-10-1-11
1-2-3-6-8-9-10-1-11
1-2-3-6-7-9-10-1-11
R3
8
Genera ruta cada vez que se
pasa por una arista nueva
10
R4
6.3.1 PRUEBA DE LA RUTA BASICA
1
11
2,3
6
4,5
1. Número de regiones
R2
7
R1
9
La complejidad ciclomática
se basa en la teoría
gráfica y se calcula de
tres maneras:
R3
8
4
10
R4
6.3.1 PRUEBA DE LA RUTA BASICA
1
11
2,3
6
4,5
V(G) = E – N + 2
R2
7
R1
9
2. Complejidad ciclomática
es igual a número de
aristas, menos el número
de nodos más 2
R3
8
V(G) = 11 – 9 + 2 = 4
10
R4
6.3.1 PRUEBA DE LA RUTA BASICA
1
11
2,3
6
V(G) = P + 1
4,5
R2
7
R1
9
R3
8
3. Complejidad ciclomática
es igual al número de
nodos predicado más uno
10
R4
V(G) = 3 + 1 = 4
6.3.1 PRUEBA DE LA RUTA BASICA
La complejidad ciclomática se basa en la teoría gráfica
y se calcula de tres maneras:
1. Número de regiones
2. Complejidad ciclomática es igual a número de
aristas, menos el número de nodos más
V(G) = E – N + 2
3. Complejidad ciclomática es igual al número de
nodos predicado más uno
V(G) = P + 1
6.3.1 PRUEBA DE LA RUTA BASICA
1
11
2,3
6
-
4,5
R2
7
R1
R3
8
Recordar se puede utilizar
las matrices y si se les da
peso a cada nodo esto
nos ayuda a conocer :
-
9
10
R4
-
Probabilidad de ejecución
de un enlace
Tiempo de procesamiento
al recorrer un enlace
Memoria al recorrer un
enlace
Recursos al recorrer un
enlace
6.3.2 PRUEBA DE CONDICION
Método que ejercita las condiciones lógicas contenidas
en un módulo del programa.
Una condición simple es una variable booleana o una
expresión relacional.
Esta prueba se concentra en la prueba de cada condición
del programa para asegurar que no contiene errores.
Expresión1 <operador relacional> Expresión2
Objetivo: probar todos los casos de la relación.
6.3.3 PRUEBA DE FLUJO DE DATOS
Método que selecciona rutas de prueba de acuerdo con
las ubicaciones de las definiciones y usos de las
variables del programa.
Asume que cada instrucción se le asigna un numero de
instrucción y ninguna función modifica sus
parámetros o variables globales.
Probar las DEF( I ) y las USO( I )
Donde:
DEF( I ) = x | instrucción I contiene una definicion de x
USO( I ) = x | instrucción I contiene un uso de x
Objetivo: probar todas las DEF y USO de I
6.3.4 PRUEBA DE BUCLES
Técnica de prueba de caja blanca que se concentra
exclusivamente en la validez de la construcción de
bucles.
Tipos de bucles: simple, anidado, concatenado, no
estructurado.
6.3.4 PRUEBA DE BUCLES
Bucles simples:
omitir por completo el bucle
solo un paso por el bucle
dos pasos por el bucle
m pasos por el bucle ( m < n )
n=1 , n , n+1 pasos por el bucle
( n es num máximo pasos permitidos )
6.3.4 PRUEBA DE BUCLES
Bucles anidados:
iniciar el bucle mas interno
asignar a todo bucle los valores mínimos
validar el mas interno con valores mínimos en externos
agregar pruebas con valores fuera de rango
analizar de la misma manera hacia afuera
6.3.4 PRUEBA DE BUCLES
Bucles concatenados:
igual que los simples
Bucles no estructurados:
se recomienda rediseñar los bucles
6.3 CASOS DE PRUEBA
CAJA NEGRA
Tipos de Prueba:
•
•
•
•
Prueba basada en fallas
Prueba basada en escenarios
Prueba de arquitectura cliente/servidor
• Pruebas de servidor
• Pruebas de base de datos
• Preubas de transacción
• Pruebas de comunicación de red
Prueba de documentación
6.3.5 PRUEBA BASADA EN FALLAS
Diseñar pruebas que tengan altas probabilidades de
descubrir posibles fallas.
La prueba de integración busca fallas en llamadas a
operación o en conexiones entre mensajes.
Tres tipos de fallas se pueden encontrar: resultado
inesperado, operación incorrecta / mensaje empleado,
invocación incorrecta.
La prueba de integración busca encontrar errores en el
objeto cliente, no en el servidor.
6.3.6 PRUEBA BASADA
EN ESCENARIOS
Esta complementa la anterior, ya que la de fallas soslaya
dos tipos de errores:
a) Especificaciones incorrectas: el producto no hace lo
que el cliente quiere.
b) Interacciones entre subsistemas: ocurren cuando el
comportamiento de un subsistema causa fallas del
otro subsistema.
Este tipo de prueba se enfoca en lo que hace el usuario
no el producto.
Ejemplo: mandar imprimir documento ( con última
corrección ? )
6.3.7 PRUEBA DE ARQUITECTURA
CLIENTE / SERVIDOR
Prueba de servidor:
probar las funciones de
coordinación
y manejo de datos del servidor.
Desempeño del servidor ( tiempo de respuesta y
procesamiento total de los datos )
Prueba de base de datos: probar la exactitud e integridad
de los datos, examinar transacciones, asegurar que se
almacena, actualiza y recuperan los datos.
Pruebas de comunicación de red: verificar comunicación
entre los nodos, el paso de mensajes, transacciones y
trafico de la red se realice sin errores.
6.3.7 PRUEBA DE DOCUMENTACION
Es importante para la aceptación del programa.
Revisar la guía de usuario o funciones de ayuda en línea.
Prueba de documentación es en dos fases:
1. Revisar e inspeccionar: examinar la claridad editorial
del documento.
2. Prueba en vivo: usar la documentación junto con el
programa real.
Descargar