Sie sind auf Seite 1von 36

Contenidos

Introduccin
Pruebas de Caja Negra
Particin Equivalente
Anlisis de Valores Lmite
Pruebas de Caja Blanca
Prueba del Camino Bsico
Pruebas de Estructuras de Control
Herramientas para Pruebas

Introduccin
Pruebas: factor crtico para garantizar la
calidad del software
Una prueba conlleva la intencin de descubrir
algn error
Un caso de prueba es bueno cuando su
ejecucin conlleva una alta probabilidad de
encontrar un error
El xito de la prueba se mide en funcin de la
capacidad de detectar un error que estaba
oculto

... Introduccin
Configuracin
del Software
Resultados de
la prueba

Evaluacin

Errores

Prueba
Datos de tasa
de error
Configuracin
de la
Prueba

Depuracin
Correciones

Resultados
esperados
Modelo de
Fiabilidad
Prediccin
Fiabilidad

... Introduccin
El diseo de casos de prueba para la verificacin
del software puede significar un esfuerzo
considerable (cerca del 40% del tiempo total de
desarrollo)
Para Pruebas Unitarias existen fundamentalmente
dos enfoques:
Pruebas de Caja Blanca (o Pruebas Estructurales)
Pruebas de Caja Negra (o Pruebas Funcionales)
Combinar ambos enfoques permite lograr mayor
fiabilidad

... Introduccin
Conceptos
Error: accin humana que produce una falta
Falta: algo que est mal en un producto
(modelo, cdigo, documento, etc.)
Fallo: manifestacin de una falta
Defecto: error, falta o fallo
Verificacin y Validacin
Verificacin: estamos construyendo el
producto correctamente?
Validacin: estamos construyendo el producto
correcto?

Pruebas de Caja Negra


Las pruebas de caja negra se centran en los
requisitos funcionales del software
La prueba de la caja negra intenta encontrar
errores de los siguientes tipos:
Funciones incorrectas o inexistentes
Errores relativos a las interfaces
Errores en estructuras de datos o en accesos a

bases de datos externas


Errores debidos al rendimiento
Errores de inicializacin o terminacin

Pruebas de Caja Negra


Particin Equivalente

La particin equivalente es un mtodo que divide


el campo de entrada de un programa en clases de
datos
Una condicin de entrada es un valor numrico
especfico, un rango de valores, un miembro de un
conjunto de valores o lgica
Una clase de equivalencia representa un conjunto
de estados vlidos y no vlidos para una condicin
de entrada
La prueba de particin equivalente se basa en
evaluar las clases de equivalencia para una
condicin de entrada

Pruebas de Caja Negra

Particin Equivalente
Paso 1: Identificar Clases de Equivalencia
Se examina cada condicin de entrada y se

divide en dos o ms grupos.


Se identifican dos tipos de clases:
Clases de equivalencia vlidas
Clases de equivalencia no vlidas
Condicin
de entrada

Clases de
Equivalencia Vlidas

Clases de
Equivalencia No
Vlidas

Pruebas de Caja Negra


... Particin Equivalente

Paso 1: Identificar Clases de Equivalencia


Si la condicin de entrada es un:
Rango, se define una clase de equivalencia

vlida y dos no vlidas


Valor especfico, se define una clase de
equivalencia vlida y dos no vlidas
Miembro de conjunto, se define una clase de
equivalencia vlida y otra no vlida
Lgica, se define una clase vlida y otra no
vlida

Pruebas de Caja Negra


Particin Equivalente

Paso 1: Identificar Clases de Equivalencia


Asignar un nmero nico a cada clase de

equivalencia
Escribir casos de prueba que cubran tantas

clases vlidas no incorporadas como sea


posible hasta que se cubran todas las clases
de equivalencia vlidas
Escribir casos de prueba que cubran una sola

clase no vlida no incorporada hasta que se


cubran todas las clases de equivalencia no
vlidas.

Pruebas de Caja Negra


Anlisis de Valores Lmite

La tcnica de Anlisis de Valores Lmites


selecciona casos de prueba que ejerciten los
valores lmite
Complementa la prueba de particin equivalente.
En lugar de realizar la prueba con cualquier
elemento de la particin equivalente, se escogen
los valores en los bordes de la clase
Se derivan tanto casos de prueba a partir de las
condiciones de entrada como con las de salida

Pruebas de Caja Negra


Ejemplo

Un usuario puede conectarse al banco por Internet y realizar una


serie de operaciones bancarias. Una vez accedido al banco con las
consiguientes medidas de seguridad (clave de acceso y dems), se
requiere la siguiente entrada:
Cdigo del banco. En blanco o nmero de tres dgitos. En este
ltimo caso, el primero de los tiene que ser mayor que 1
Cdigo de sucursal. Un nmero de cuatro dgitos. El primero de
ellos mayor de 0
Nmero de cuenta. Nmero de cinco dgitos
Clave personal. Valor alfanumrico de cinco posiciones. Este
valor se introducir segn la orden que se desee realizar
Orden. Puede estar en blanco o ser una de las dos cadenas
siguientes:
Talonario
Movimientos
En el primer caso el usuario recibir un talonario de cheques,
mientras que en el segundo recibir los movimientos del mes
en curso. Si este cdigo est en blanco, el usuario recibir los
dos documentos

Condicin
de Entrada

Tipo

Clase Equivalencia
Vlida

Clase Equivalencia
No Vlida

Cdigo banco

Lgica (puede estar 1: En blanco


o no) Si est es
2: 100<= Cdigo banco <= 999
Rango

3: Un valor no numrico
4: Cdigo banco < 100
5: Cdigo banco > 999

Cdigo
sucursal

Rango

6: 1000 <= Cdigo sucursal <=


9999

7: Cdigo sucursal < 1000


8: Cdigo sucursal >= 9999

N Cuenta

Valor

9: Cualquier nmero de cinco


dgitos

10: Nmero de ms de
cinco dgitos
11: Nmero de menos de
cinco dgitos

Clave

Valor

12: Cualquier cadena de


caracteres alfanumricos de
5 posiciones

13: Cadena de menos de


cinco posiciones
14: Cadena de ms de
cinco posiciones

Orden

Conjunto, con
comportamiento
distinto

15:
16: Talonario
17: Movimientos

18: Cadena distinta de


blanco y de las vlidas

Pruebas de Caja Negra


Ejemplo
a) Derivar casos de prueba para el ejemplo
b) Complementar con casos de prueba segn
anlisis de valores lmite
Datos de Prueba
Nmero

Clases de
Equivalencia

Propsito
del Caso

Condicin
de Entrada1

Condicin
de Entrada2

Condicin
de Entradan

Pruebas de Caja Blanca


La prueba de la caja blanca usa la estructura de
control del diseo procedural para derivar los
casos de prueba
Idea: confeccionar casos de prueba que
garanticen que se verifican todos los caminos
independientes
Verificaciones para cada camino independiente:
Probar sus dos facetas desde el punto de vista
lgico, es decir, verdadera y falsa
Ejecutar todos los bucles en sus lmites
operacionales

... Pruebas de Caja Blanca


Observaciones:
Los errores lgicos y las suposiciones incorrectas son

inversamente proporcionales a la probabilidad de que se


ejecute un camino del programa

A menudo creemos que un camino lgico tiene pocas

posibilidades de ejecutarse cuando, de hecho, se puede


ejecutar de forma regular

Los errores tipogrficos son aleatorios


Los errores se esconden en los rincones y se aglomeran

en los lmites (Beizer)

... Pruebas de Caja Blanca


Prueba del Camino Bsico

Propuesta por Tom McCabe (1976)


La idea es derivar casos de prueba a partir de un
conjunto dado de caminos independientes
Camino independiente es aquel que introduce por
lo menos una sentencia de procesamiento (o valor
de condicin) que no estaba considerada
Para obtener el conjunto un conjunto de caminos
independientes se construir el Grafo de Flujo
asociado y se calcular su Complejidad
Ciclomtica

Pruebas de Caja Blanca

Prueba del Camino Bsico - Grafo de Flujo


Secuencia

end
if

no opcin1

no opcin2

no opcinN

...
CASE
then

if

opcin2

else

While

...

opcinN

opcin1

END CASE

Pruebas de Caja Blanca

Prueba del Camino Bsico - ... Grafo de Flujo

Aristas
Nodos

Regin

Pruebas de Caja Blanca


Prueba del Camino Bsico - Complejidad Ciclomtica

Complejidad ciclomtica de un grafo de flujo V(G)


establece el nmero de caminos independientes
Puede calcularse de tres formas alternativas:
El nmero de regiones del grafo de flujo
V(G) = A - N + 2,

donde A es el nmero de
aristas y N es el nmero de nodos

V(G) = P + 1, donde P es el nmero de nodos

predicado

Pruebas de Caja Blanca


Prueba del Camino Bsico - ... Complejidad Ciclomtica
11

V(G) = 4
2, 3

El grafo de la figura tiene


4,
4, 55

66

77

cuatro regiones.
11 aristas - 9 nodos + 2

88

=4

99
10
10

3 nodos predicado + 1 =

11
11

Pruebas de Caja Blanca

Prueba del Camino Bsico - Conjunto Bsico


Un conjunto de caminos independientes
Camino 1: 1-11
Camino 2: 1-2-3-4-5-10-1-11
Camino 3: 1-2-3-6-8-9-10-1-11
Camino 4: 1-2-3-6-7-9-10-1-11

2, 3

4, 5

El camino
1-2-3-4-5-10-1-2-3-6-8-9-10-1-11
No se considera un camino independiente,
ya que es simplemente una combinacin
de caminos ya especificados

8
9
10

11

Los cuatro caminos anteriores constituyen


un conjunto bsico para el grafo

Pruebas de Caja Blanca


Prueba del camino bsico - ... Conjunto Bsico

Tratamiento de
Condiciones
Compuestas

Nodos
Predicado
a

False
b

Ejemplo :
IF a OR b THEN
procedimiento x
ELSE
procedimiento y
ENDIF

True

False
y

True
x

Pruebas de Caja Blanca

Prueba del camino bsico - Derivacin de casos de prueba

Pasos para realizar las pruebas:


1. A partir del diseo o del cdigo fuente,
dibujar el grafo de flujo asociado
2. Se calcula la complejidad ciclomtica del
grafo
3. Se determina un conjunto bsico de caminos
independientes
4. Se preparan los casos de prueba que
obliguen a la ejecucin de cada camino del
conjunto bsico

Pruebas de caja blanca

Prueba del camino bsico - ... Derivacin de casos de prueba


Ejemplo:

5
6

PROCEDURE imprime_media(VAR x, y : real;)


VAR resultado : real;
3
resultado:=0;
IF (x < 0 OR y < 0)
2
THEN
WRITELN(
x e y deben ser positivos); 4
ELSE
resultado := (x + y)/2
WRITELN(
La media es: , resultado);
ENDIF
END imprime_media

Pruebas de Caja Blanca

Prueba del camino bsico - ... Derivacin de casos de prueba


1

V(G) = 2+1 = 3. Por lo tanto, hay que


determinar tres caminos independientes.

x<0

2
True

False

y<0

3
True

False

Por ejemplo:
Camino 1: 1-2-3-5-6
Camino 2: 1-2-4-6
Camino 3: 1-2-3-4-6
Casos de prueba para cada camino:
Camino 1: Escoger algn x e y tales que se
cumpla x >= 0 AND y >= 0
Camino 2: Escoger algn x tal que se
cumpla x < 0

Camino 3: Escoger algn x e y tales que se


cumpla x >= 0 AND y < 0

Pruebas de Caja Blanca


Otras Pruebas de Caja Blanca Prueba de Condiciones

Prueba de condiciones. Tipos de errores que


pueden aparecer en una condicin:

Existe un error en un operador lgico


Existe un error en un parntesis lgico
Existe un error en un operador relacional
Existe un error en una expresin aritmtica

Pruebas de Caja Blanca

Otras Pruebas de Caja Blanca Prueba de Bucles

Bucles
anidados
Bucles
simples

Bucles
concatenados

Bucles no
estructurados

Pruebas de Caja Blanca

Otras Pruebas de Caja Blanca ... Prueba de Bucles

Pruebas para Bucles simples (n es el nmero


mximo de iteraciones permitidos por el bucle)
Pasar por alto totalmente el bucle
Pasar una sola vez por el bucle
Pasar dos veces por el bucle
Hacer m pasos por el bucle con m < n
Hacer n-1, n y n + 1 pasos por el bucle

Pruebas de Caja Blanca

Otras Pruebas de Caja Blanca ... Prueba de Bucles

Pruebas para Bucles Anidados


Comenzar en el bucle ms interior estableciendo
los dems bucles en sus valores mnimos
Realizar las pruebas de bucle simple para el ms
interior manteniendo los dems en sus valores
mnimos
Avanzar hacia fuera confeccionando pruebas para
el siguiente bucle manteniendo todos los externos
en los valores mnimos y los dems bucles
anidados en sus valores tpicos
Continuar el proceso hasta haber comprobado
todos los bucles

Pruebas de Caja Blanca

Otras Pruebas de Caja Blanca ... Prueba de Bucles

Pruebas para Bucles concatenados


Siempre que los bucles concatenados sean

independientes se puede aplicar lo relativo a


bucles simples/anidados. En caso de ser
dependientes se evaluarn como bucles anidados
Pruebas para Bucles no estructurados
Siempre que se usen los mecanismos que aporta

la programacin estructurada, este tipo de bucles


no estarn presentes

Herramientas para Pruebas


Tipos de Herramientas para Pruebas
Record/Playback
Analizadores de Cdigo
Analizadores de Cobertura (coverage analyzers)
Analizadores de Memoria
Herramientas de Carga/Desempeo
Herramientas para probar sitios Web
Otras para administracin de pruebas,
documentacin de errores y control de
configuracin
Links
http://www.aptest.com/resources.html

Das könnte Ihnen auch gefallen