Beruflich Dokumente
Kultur Dokumente
Ejemplos prcticos
Contenidos
n
Particin de Equivalencias y
Anlisis de Valores Lmite
Prueba Estructural
Particin de equivalencias y
Anlisis de valores lmite
Input test data
Inputs causing
anomalous
behaviour
System
Oe
Particin de equivalencias y
Anlisis de valores lmite
n
n
De caja negra
Los datos de entrada y de salida de un
programa normalmente pertenecen a
diferentes clases
Cada clase es un conjunto de valores en
donde el programa se comporta de
manera similar para cada elemento de
dicho conjunto --> Particin equivalente
Los casos de pruebas deberan ser
elegidos desde cada particin
Los datos de prueba se deben tomar en
los lmites de cada particin y en algn
valor no lmite
Particin de equivalencias y
Anlisis de valores lmite
Pasos:
1.
2.
3.
Ejecutar la prueba
Particin de equivalencias y
Anlisis de valores lmite
Reglas prcticas. Si la entrada es un
u Rango
F Una
de un conjunto
Particin de equivalencias y
Anlisis de valores lmite
Reglas prcticas. Si la entrada es un
u Valor
especfico
F Una
Particin de equivalencias y
Anlisis de valores lmite
Reglas prcticas. Si la entrada es un
u Valor numrico
F Una
clase vlida
F Dos clases invlidas
u Valor
booleano
F Una
clase vlida
F Una clase invlida
Particin de equivalencias y
Anlisis de valores lmite
Reglas prcticas. Si la entrada es un
u Valor tipo string
F Valor:
tipo char
F Una
clase vlida
F Una clase invlida
Particin de equivalencias y
Anlisis de valores lmite
Reglas prcticas. Si la entrada es un
u Valor tipo array
F Valor:
Particin de equivalencias y
Anlisis de valores lmite. Ejemplo
Funcin de cluclo del seno de un ngulo
entero entre 0 y 360.
Precisin de salida: 3 decimales.
u Entrada:
nmero entero
u Salida: nmero real
1.
2.
Particin de equivalencias y
Anlisis de valores lmite. Ejemplo
Entrada variable numrica
n
Particin de equivalencias y
Anlisis de valores lmite. Ejemplo
Entrada 1
V
V
V
V
V
I
I
-
Salida
Resultado
Res.Esperado obtenido
0
1
180
359
360
-1
361
270
272
0
88
90
-
V
V
V
V
V
I
0,000
0,017
0,000
-0,017
0,000
"Error"
"Error"
-1,000
-0,999
0,000
0,999
1,000
-1,001
"Error"
- I
1,001
"Error"
Resultado de la Prueba
Pas /
Fall
Particin de equivalencias y
Anlisis de valores lmite. Ejemplo
Entrada 1
V
V
V
V
V
I
I
-
Salida
Resultado
Res.Esperado obtenido
0
1
180
359
360
-1
361
270
272
0
88
90
-
V
V
V
V
V
I
0,000
0,017
0,000
-0,017
0,000
"Error"
"Error"
-1,000
-0,999
0,000
0,999
1,000
-1,001
"Error"
- I
1,001
"Error"
Resultado de la Prueba
Pas /
Fall
Particin de equivalencias y
Anlisis de valores lmite. Ejemplo
Entrada 1
V
V
V
V
V
I
I
-
0
1
180
359
360
-1
361
270
272
88
90
-
Salida
Resultado
Res.Esperado obtenido
0,000
0,017
0,000
-0,017
0,000
"Error"
"Error"
V
-1,000
V
-0,999
V
0,999
V
1,000
I
-1,001
"Error"
I
1,001
"Error"
Resultado de la Prueba
Pas /
Fall
Particin de equivalencias y
Anlisis de valores lmite. Ejemplo
Entrada 1
V
V
V
V
V
I
I
-
0
1
180
359
360
-1
361
270
272
88
90
Salida
Resultado
Pas /
Res.Esperado obtenido
Fall
0,000
0,000
Pas
0,017
0,017
Pas
0,000
0,000
Pas
-0,017
-0,017
Pas
0,000
0,000
Pas
"Error"
"Error"
Pas
"Error"
"Error"
Pas
V
-1,000
-1,000
Pas
V
-0,999
-0,999
Pas
V
0,999
0,999
Pas
V
1,000
1,000
Pas
Resultado de la Prueba
Pas
Prueba Estructural
n
n
De caja blanca
Se derivan casos de pruebas a
partir de la estructura del programa
Se deben ejercitar todas las
instrucciones del programa
Utiliza la medida de complejidad
ciclomtica para identificar la
cantidad de casos de pruebas
Prueba Estructural
n
Pasos:
1.
2.
3.
4.
5.
N0
5
6
7
8
N1
N2
N3
N4
9
10
N5
N6
11
12
N7
N8
main()
{
FILE *cfPtr;
struct clientData client;
if ((cfPtr = fOpen("credit.dat", "r")) == NULL)
printf("File could not be opened. \n");
else {
printf(%-6s%-25s%10s\n", "Acct", "Name", "Balance");
while (!eof(cfPtr)) {
fread(&client, sizeof(struct clientData), 1, cfPtr);
if (client.balance > 0)
printf("%-6d%-25s%10,2f\n",
client.acctNum, client.Name, client.balance);
13 N9
14 N10
15 N11
fclose(cfPtr);
16 N12
N0
5
6
7
8
N1
N2
N3
N4
N0
main()
{
FILE *cfPtr;
struct clientData client;
N1
N3
N2
N4
N5
9
10
N5
N6
11
12
N7
N8
while (!eof(cfPtr)) {
fread(&client, sizeof(struct clientData), 1, cfPtr);
if (client.balance > 0)
printf("%-6d%-25s%10,2f\n",
client.acctNum, client.Name, client.balance);
13 N9
14 N10
15 N11
fclose(cfPtr);
16 N12
N6
N7
N8
}
N9
N10
}
N11
N12
N0
5
6
7
8
N1
N2
N3
main()
{
FILE *cfPtr;
struct clientData client;
N0
N1
N2
N5
9
10
N5
11
12
N7
N8
while (!eof(cfPtr)) {
fread(&client, sizeof(struct clientData), 1, cfPtr);
N7
if (client.balance > 0)
printf("%-6d%-25s%10,2f\n",
N9
client.acctNum, client.Name, client.balance);
13 N9
14 N10
15
fclose(cfPtr);
16 N12
N10
N12
N8
N1
N3
N2
N5
N7
N8
N9
N10
N12
V(G) = 4
N1
FALSE
TRUE
N3
N5
N2
FALSE
TRUE
N7
FALSE
TRUE
N8
V(G) = 4
N9
N10
N12
4 caminos
a probar
N0
N0, N1, N3, N5, N7, N8, N9, N5, N10, N12
N1
FALSE
N3
N5
N2
FALSE
TRUE
N7
TRUE
N8
N9
Probar con:
N10
N12
credit.dat
1 Gmez, Javier
100
N0
TRUE
N3
N2
N5
N7
N8
N9
Probar con:
N10
N12
Archivo inexistente
N0
FALSE
N3
N5
N2
FALSE
N7
N8
N9
Probar con:
N10
N12
credit.dat
N0
FALSE
N3
N5
N2
FALSE
TRUE
N7
FALSE
N8
N9
Probar con:
N10
N12
credit.dat
2 Morales, Sergio
-200
Resultado Esperado
"Acct Name
Balance"
Balance"
"
1 Gmez, Javier
100"
"File could not be opened."
"Acct Name
Balance"
Balance"
"Acct Name
Balance"
Balance"
Camino
1
2
3
4
Pas /
Resultado Obtenido
Fall
"Acct Name
Balance" Pas
"
1 Gmez, Javier
100"
Pas
"File could not be opened."
"Acct Name
Balance" Pas
"Acct Name
Balance" Pas
Resultado de la prueba
Pas