Vous êtes sur la page 1sur 39

METODOS DE PRUEBA DEL

METODOS DE PRUEBA DEL


SOFTWARE
SOFTWARE
Integrantes:
Integrantes:
Rodrguez Quintanilla Rhay
Rodrguez Quintanilla Rhay
Rodrguez Vargas Diego
Rodrguez Vargas Diego
Qu es probar software?
Qu es probar software?
Algunas definiiones inorretas:
Algunas definiiones inorretas:
!
"robar es de#ostrar $ue no hay errores
"robar es de#ostrar $ue no hay errores
presentes en un progra#a%
presentes en un progra#a%
!
&l prop'sito de probar es #ostrar $ue el
&l prop'sito de probar es #ostrar $ue el
progra#a realiza orreta#ente las funiones
progra#a realiza orreta#ente las funiones
esperadas%
esperadas%
(a definii'n )orreta
(a definii'n )orreta
!
"robar es el proeso e*eui'n de un progra#a
"robar es el proeso e*eui'n de un progra#a
on el fin de enontrar errores%
on el fin de enontrar errores%
"or $u "robar +oftware?
"or $u "robar +oftware?
Introdui'n
Introdui'n
"ruebas del +oftware
"ruebas del +oftware
,tras Definiiones
,tras Definiiones
!
Verifiar%
Verifiar%
!
Validar%
Validar%
!
"ruebas%
"ruebas%
!
)aso de "rueba%
)aso de "rueba%
!
Defeto%
Defeto%
!
-allo%
-allo%
!
&rror%
&rror%
Relai'n entre error. defeto y fallo
Relai'n entre error. defeto y fallo
,b*eti/os de la "rueba%
,b*eti/os de la "rueba%

(a prueba es el proeso de e*eui'n de un


(a prueba es el proeso de e*eui'n de un
progra#a on la inteni'n de desubrir un
progra#a on la inteni'n de desubrir un
error%
error%

0n buen aso de prueba es a$uel $ue tiene


0n buen aso de prueba es a$uel $ue tiene
una alta probabilidad de #ostrar un error no
una alta probabilidad de #ostrar un error no
desubierto hasta entones%
desubierto hasta entones%

0na prueba tiene 1ito si desubre un error


0na prueba tiene 1ito si desubre un error
no detetado hasta entones%
no detetado hasta entones%
"rinipios de las pruebas
"rinipios de las pruebas

A todas las pruebas se les debera poder


A todas las pruebas se les debera poder
haer un segui#iento hasta los re$uisitos
haer un segui#iento hasta los re$uisitos
del liente%
del liente%

(as pruebas deberan planifiarse #uho


(as pruebas deberan planifiarse #uho
antes de $ue e#pieen%
antes de $ue e#pieen%

(as pruebas deberan e#pezar por 2lo


(as pruebas deberan e#pezar por 2lo
pe$ue3o4 y progresar haia 2lo grande4%
pe$ue3o4 y progresar haia 2lo grande4%
"rinipios de las pruebas
"rinipios de las pruebas

5o son posibles las pruebas e1hausti/as%


5o son posibles las pruebas e1hausti/as%

"ara ser #6s efiaes 7pruebas on la #6s


"ara ser #6s efiaes 7pruebas on la #6s
alta probabilidad de enontrar errores8. las
alta probabilidad de enontrar errores8. las
pruebas deberan ser realizadas por un
pruebas deberan ser realizadas por un
e$uipo independiente%
e$uipo independiente%

"rinipios de las pruebas
"rinipios de las pruebas

+e debe inspeionar a onienia el


+e debe inspeionar a onienia el
resultado de ada prueba para. as. poder
resultado de ada prueba para. as. poder
desubrir posibles snto#as de defetos%
desubrir posibles snto#as de defetos%

)ada aso de prueba debe definir el


)ada aso de prueba debe definir el
resultado de salida esperado%
resultado de salida esperado%

Al generar asos de prueba. se deben


Al generar asos de prueba. se deben
inluir tanto datos de entrada /6lidos y
inluir tanto datos de entrada /6lidos y
esperados o#o no /6lidos e inesperados%
esperados o#o no /6lidos e inesperados%
"rinipios de las pruebas
"rinipios de las pruebas

(as pruebas deben entrarse en dos


(as pruebas deben entrarse en dos
ob*eti/os 7es habitual ol/idar el segundo8
ob*eti/os 7es habitual ol/idar el segundo8
!
"robar si el software no hae lo $ue debe haer
"robar si el software no hae lo $ue debe haer
!
"robar si el software hae lo $ue no debe
"robar si el software hae lo $ue no debe
haer. es deir si pro/oa efetos seundarios
haer. es deir si pro/oa efetos seundarios

+e deben e/itar los asos desehables


+e deben e/itar los asos desehables
.
.
"rinipios de las pruebas
"rinipios de las pruebas

5o deben haerse planes de prueba


5o deben haerse planes de prueba
suponiendo $ue. pr6tia#ente. no hay
suponiendo $ue. pr6tia#ente. no hay
defetos en los progra#as. y dediando
defetos en los progra#as. y dediando
poos reursos a las pruebas%
poos reursos a las pruebas%

(a e1perienia india $ue donde hay un


(a e1perienia india $ue donde hay un
defeto hay otros%
defeto hay otros%

(as pruebas son una tarea reati/a o#o el


(as pruebas son una tarea reati/a o#o el
desarrollo de software%
desarrollo de software%
-ailidad de "rueba
-ailidad de "rueba

Operatividad
Operatividad

Observabilidad
Observabilidad

Controlabilidad
Controlabilidad

Capacidad de descomposicin
Capacidad de descomposicin

Simplicidad
Simplicidad

Estabilidad
Estabilidad

Facilidad de comprensin
Facilidad de comprensin
9ondad de una "rueba
9ondad de una "rueba

Debe tener una alta probabilidad de


Debe tener una alta probabilidad de
enontrar un error%
enontrar un error%

5o debe ser redundante%


5o debe ser redundante%

Debe ser la #e*or de todas las posibles%


Debe ser la #e*or de todas las posibles%

5o debe ser ni de#asiado senilla ni


5o debe ser ni de#asiado senilla ni
de#asiado o#ple*a%
de#asiado o#ple*a%
&l proeso de "rueba
&l proeso de "rueba

(a depurai'n 7loalizai'n y orrei'n de


(a depurai'n 7loalizai'n y orrei'n de
defetos8%
defetos8%

&l an6lisis de la estadstia de errores%


&l an6lisis de la estadstia de errores%
)ilo o#pleto de las "ruebas
)ilo o#pleto de las "ruebas
&nfo$ue de Dise3o de )asos de
&nfo$ue de Dise3o de )asos de
"rueba
"rueba

&nfo$ue estrutural o de a*a blana%


&nfo$ue estrutural o de a*a blana%

&nfo$ue funional o de a*a negra%


&nfo$ue funional o de a*a negra%

&nfo$ue Aleatorio%
&nfo$ue Aleatorio%
"ruebas de )a*a 9lana
"ruebas de )a*a 9lana

:arantien $ue se e*erita por lo #enos


:arantien $ue se e*erita por lo #enos
una /ez todos los a#inos independientes
una /ez todos los a#inos independientes
de ada #'dulo%
de ada #'dulo%

&*eriten todas las deisiones l'gias en


&*eriten todas las deisiones l'gias en
sus /ertientes /erdadera y falsa%
sus /ertientes /erdadera y falsa%

&*euten todos los bules en sus l#ites y


&*euten todos los bules en sus l#ites y
on sus l#ites operaionales%
on sus l#ites operaionales%

&*eriten las estruturas internas de datos


&*eriten las estruturas internas de datos
para asegurar su /alidez%
para asegurar su /alidez%
)riterios de )obertura l'gia
)riterios de )obertura l'gia

)obertura de +entenias%
)obertura de +entenias%

)obertura de deisiones%
)obertura de deisiones%

)obertura de )ondiiones%
)obertura de )ondiiones%

)riterios de deisi'n;)ondii'n%
)riterios de deisi'n;)ondii'n%

)riterio de )ondii'n <=ltiple%


)riterio de )ondii'n <=ltiple%

)riterio de )obertura de )a#inos


)riterio de )obertura de )a#inos
7i#pratiable8
7i#pratiable8
Menos Riguroso
(Mas Barato)
Ms Riguroso
(Ms Caros)
:rafo de -lu*o de las &struturas 96sias de
:rafo de -lu*o de las &struturas 96sias de
progra#a
progra#a

+eparar todas las ondiiones


+eparar todas las ondiiones

Agrupar sentenias >si#ples? en blo$ues


Agrupar sentenias >si#ples? en blo$ues

5u#erar todos los blo$ues y ta#bien las


5u#erar todos los blo$ues y ta#bien las
ondiiones
ondiiones

Secuencia
Si ! Entonces"
(#$ ! %&en " Else")
'acer " &asta !
((o " )ntil !)
Repetir
Mientras ! 'acer "
(*&ile ! (o " )
:rafo de -lu*o de un progra#a
:rafo de -lu*o de un progra#a
7"seudoodigo8
7"seudoodigo8
+
,
-
.
/
0
1 2
3
+4
++
a+,
5brir 5rc&ivos6
7eer arc&ivo ventas8 al $inal indicar no mas registros
7impiar linea de impresin
*'#7E ('a9a registros ventas)
(O
%otal :acional ; 4
%otal E!tran<ero ; 4
*'#7E (&a9a reg. ventas) (mismo producto) 9
#F (:acional) %'E:
Sumar venta :acional a %otal :acional
E7SE
Sumar venta e!tran<ero a total e!tran<ero
E:( #F
7eer 5rc&ivo ventas8 al $inal indicar no mas registros
E:( *'#7E
Escribir l=nea de listado
7impiar rea de impresin
E:( *'#7E
Cerrar 5rc&ivos
(O
Variantes de "rueba de )a*a 9lana
Variantes de "rueba de )a*a 9lana

a8 "rueba del )a#ino 96sio%


a8 "rueba del )a#ino 96sio%

b8 "rueba de )ondii'n%
b8 "rueba de )ondii'n%

8 "rueba de -lu*o de Datos%


8 "rueba de -lu*o de Datos%

d8 "rueba de 9ules%
d8 "rueba de 9ules%
"rueba del a#ino 96sio
"rueba del a#ino 96sio

)o#ple*idad )ilo#atia7(a o#ple*idad de


)o#ple*idad )ilo#atia7(a o#ple*idad de
<)abe V 7:88
<)abe V 7:88
@
(a #tria de <)abe ha sido #uy popular en
(a #tria de <)abe ha sido #uy popular en
el dise3o de pruebas%
el dise3o de pruebas%
@
&s un indiador del n=#ero de a#inos
&s un indiador del n=#ero de a#inos
independientes $ue e1isten en un grafo%
independientes $ue e1isten en un grafo%
-or#as de )alular la )o#ple*idad
-or#as de )alular la )o#ple*idad
)ilo#6tia V7:8
)ilo#6tia V7:8

V 7:8 A a @ n B C
V 7:8 A a @ n B C

V 7:8 A r
V 7:8 A r

V 7:8 A B D
V 7:8 A B D
Donde
Donde
@
a : E de aros o aristas del grafo%
a : E de aros o aristas del grafo%
@
n : E de nodos%
n : E de nodos%
@
r : E de regiones erradas del grafo%
r : E de regiones erradas del grafo%
@
: E de nodos de ondii'n%
: E de nodos de ondii'n%

Qu es lo $ue se logra on la
Qu es lo $ue se logra on la
o#ple*idad ilo#6tia?
o#ple*idad ilo#6tia?

V 7:8 #ara el l#ite #ni#o de asos de


V 7:8 #ara el l#ite #ni#o de asos de
prueba para un progra#a%
prueba para un progra#a%

)uando V 7:8 FDG la probabilidad de


)uando V 7:8 FDG la probabilidad de
defetos en el #'dulo o progra#a ree
defetos en el #'dulo o progra#a ree
#uho entones $uiz6s sea interesante
#uho entones $uiz6s sea interesante
di/idir el #'dulo%
di/idir el #'dulo%
&*e#plo de alulo de V 7:8
&*e#plo de alulo de V 7:8

a8 V 7:8 ADHIDDBCAJ
a8 V 7:8 ADHIDDBCAJ

b8 V 7:8 A J Regiones
b8 V 7:8 A J Regiones


)erradas%
)erradas%

8 V 7:8 A HBDA J
8 V 7:8 A HBDA J


)ondiiones
)ondiiones
+
,
-
.
/
0
1 2
3
+4
++
a+
a, a-
a.
a/
a0 a1
a2
a3
a+4
a++ a+,
a+- a+.
Regin +
Regin ,
Regin -
Regin .
Regin /
"rueba de )ondii'n
"rueba de )ondii'n

Venta*as
Venta*as
!
(a obertura de la prueba de una ondii'n es
(a obertura de la prueba de una ondii'n es
senilla%
senilla%
!
(a obertura de la prueba de las ondiiones de
(a obertura de la prueba de las ondiiones de
un progra#a da una orientai'n para generar
un progra#a da una orientai'n para generar
pruebas adiionales del progra#a%
pruebas adiionales del progra#a%
&strategias de prueba de
&strategias de prueba de
)ondiiones
)ondiiones

"rueba de Ra#ifiaiones%
"rueba de Ra#ifiaiones%

"rueba de Do#inio%
"rueba de Do#inio%
&
&
D D
KoperadorIrelaionalF&
KoperadorIrelaionalF&
C C
+e neesitan C
+e neesitan C
n n
7nFG8 pruebas o#o #61i#o
7nFG8 pruebas o#o #61i#o
para enontrar errores%
para enontrar errores%
"rueba de flu*o de datos
"rueba de flu*o de datos

&sta tnia seleiona a#inos de un


&sta tnia seleiona a#inos de un
progra#a de auerdo a las definiiones y
progra#a de auerdo a las definiiones y
uso de las /ariables%
uso de las /ariables%

&l enfo$ue de prueba de flu*o de datos es


&l enfo$ue de prueba de flu*o de datos es
efeti/o para la protei'n ontra errores%
efeti/o para la protei'n ontra errores%
"rueba de bules
"rueba de bules
Lipos de pruebas:
Lipos de pruebas:
!
9ules si#ples%
9ules si#ples%
!
9ules Anidados%
9ules Anidados%
!
9ules )onatenados%
9ules )onatenados%
!
9ules no estruturados%
9ules no estruturados%
"ruebas de )a*a 5egra%
"ruebas de )a*a 5egra%

Intenta enontrar errores de las siguientes


Intenta enontrar errores de las siguientes
ategoras:
ategoras:
!
-uniones Inorretas o Ausentes%
-uniones Inorretas o Ausentes%
!
&rrores de Interfaz%
&rrores de Interfaz%
!
&rrores en estruturas de datos o aeso a
&rrores en estruturas de datos o aeso a
bases de datos e1ternas%
bases de datos e1ternas%
!
&rrores de rendi#iento%
&rrores de rendi#iento%
!
&rrores de iniializai'n y ter#inai'n%
&rrores de iniializai'n y ter#inai'n%
"ruebas de )a*a 5egra%
"ruebas de )a*a 5egra%

Variantes de pruebas de a*a negra%
Variantes de pruebas de a*a negra%
!
a8 <todos de prueba basados en grafos%
a8 <todos de prueba basados en grafos%
!
b8 "artii'n &$ui/alente%
b8 "artii'n &$ui/alente%
!
8 An6lisis de /alores l#ite%
8 An6lisis de /alores l#ite%
!
d8 "rueba de )o#parai'n%
d8 "rueba de )o#parai'n%
!
e8 )on*etura de &rrores%
e8 )on*etura de &rrores%
<todos de prueba basados en
<todos de prueba basados en
grafos
grafos
"asos a seguir para una prueba de a*a
"asos a seguir para una prueba de a*a
5egra:
5egra:
D%
D%
&ntender los ob*etos $ue se /an a #odelar y
&ntender los ob*etos $ue se /an a #odelar y
las relaiones $ue onetan a estos%
las relaiones $ue onetan a estos%
C%
C%
Definir una serie de pruebas $ue /erifi$ue $ue
Definir una serie de pruebas $ue /erifi$ue $ue
2todos los ob*etos tienen entre ellos la
2todos los ob*etos tienen entre ellos la
relai'nes esperadas4
relai'nes esperadas4
"artii'n e$ui/alente
"artii'n e$ui/alente
"asos para identifiar lases de e$ui/alenia%
"asos para identifiar lases de e$ui/alenia%
D%
D%
Identifiai'n de las ondiiones de entrada
Identifiai'n de las ondiiones de entrada
del progra#a%
del progra#a%
C%
C%
Identifiar las lases de e$ui/alenia:
Identifiar las lases de e$ui/alenia:
a8 a8 Datos /6lidos% Datos /6lidos%
b8 b8 Datos no /6lidos% Datos no /6lidos%
"artii'n e$ui/alente
"artii'n e$ui/alente
"asos para identifiar asos de prueba%
"asos para identifiar asos de prueba%
D%
D%
Asignar un n=#ero =nio para ada lase de
Asignar un n=#ero =nio para ada lase de
e$ui/alenia%
e$ui/alenia%
C%
C%
&sribir asos de pruebas para todas las
&sribir asos de pruebas para todas las
lases /6lidas%
lases /6lidas%
M%
M%
&sribir asos de pruebas para todas las
&sribir asos de pruebas para todas las
lases no /6lidas%
lases no /6lidas%
&*e#plo de lases de e$ui/alenia
&*e#plo de lases de e$ui/alenia
Apliai'n banaria en la $ue el operador debe proporionar un 'digo. Apliai'n banaria en la $ue el operador debe proporionar un 'digo.
un no#bre y una operai'n% un no#bre y una operai'n%
Condicin de
Condicin de
Entrada
Entrada
Clases >lidas
Clases >lidas
Clases #nvlidas
Clases #nvlidas
Cdigo de ?rea Cdigo de ?rea
E de M dgitos $ue no E de M dgitos $ue no
e#pieza on G ni D: e#pieza on G ni D:
D8 CGG D8 CGGN 'digo N OOO N 'digo N OOO
C8 ) C8 )'digo K CGG% 'digo K CGG%
M8 )'digo F OOO% M8 )'digo F OOO%
H8 5o es n=#ero% H8 5o es n=#ero%
:ombre :ombre
"ara identifiar la "ara identifiar la
operai'n operai'n
J8 +eis arateres% J8 +eis arateres%
P8 <enos de P P8 <enos de P
arateres% arateres%
Q8 <6s de P arateres% Q8 <6s de P arateres%
Orden Orden
0na de las +iguientes 0na de las +iguientes
2) 2) 2)he$ue4 2)he$ue4
3) 3) 2Dep'sito4 2Dep'sito4
+4) +4) 2"ago fatura4 2"ago fatura4
++)@ ++)@Retiro de fondos Retiro de fondosA A

DC8 5inguna orden DC8 5inguna orden
/6lida /6lida
An6lisis de /alores li#ite
An6lisis de /alores li#ite
(as reglas para identifiar las lases son:
(as reglas para identifiar las lases son:
D% D% +i una ondii'n de entrada espeifia un rango $ue +i una ondii'n de entrada espeifia un rango $ue
deben generar asos para los e1tre#os% deben generar asos para los e1tre#os%
C% C% +i la ondii'n de entrada espeifia un n=#ero finito +i la ondii'n de entrada espeifia un n=#ero finito
y onseuti/o de /alores. esribir asos para los y onseuti/o de /alores. esribir asos para los
n=#eros #61i#o. #ni#o. uno #6s del #61i#o y uno n=#eros #61i#o. #ni#o. uno #6s del #61i#o y uno
#enos del #ni#o de /alores #enos del #ni#o de /alores
M% M% 0sar la regla D para la ondii'n de salida% 0sar la regla D para la ondii'n de salida%
H% H% 0sar la regla C para ada ondii'n de salida% 0sar la regla C para ada ondii'n de salida%
"rueba de )o#parai'n
"rueba de )o#parai'n

+e desarrollan /ersiones independientes de


+e desarrollan /ersiones independientes de
una apliai'n on las #is#as
una apliai'n on las #is#as
espeifiaiones%
espeifiaiones%

"robar todas las /ersiones on los #is#os


"robar todas las /ersiones on los #is#os
datos de prueba%
datos de prueba%

(uego se e*eutan las /ersiones en paralelo


(uego se e*eutan las /ersiones en paralelo
y se hae una o#parai'n en tie#po real
y se hae una o#parai'n en tie#po real
de los resultados%
de los resultados%
)on*etura de &rrores
)on*etura de &rrores

&nu#erar una lista de e$ui/oaiones $ue


&nu#erar una lista de e$ui/oaiones $ue
pueden o#eter los desarrolladores%
pueden o#eter los desarrolladores%

:enerar asos de prueba en base a diha


:enerar asos de prueba en base a diha
lista%
lista%

(a generai'n de asos se obtiene en base


(a generai'n de asos se obtiene en base
a la intuii'n o la e1perienia%
a la intuii'n o la e1perienia%
"ruebas Aleatorias
"ruebas Aleatorias

+e si#ula los posibles datos de entrada en


+e si#ula los posibles datos de entrada en
la seuenia y freuenia $ue pueden
la seuenia y freuenia $ue pueden
apareer en la pratia%
apareer en la pratia%

+i el proeso de generai'n se ha realizado


+i el proeso de generai'n se ha realizado
orreta#ente. se rear6n e/entual#ente
orreta#ente. se rear6n e/entual#ente
todas las posibles entradas del progra#a
todas las posibles entradas del progra#a
en todas las posibles o#binaiones y
en todas las posibles o#binaiones y
per#utaiones%
per#utaiones%

9a*a probabilidad de enontrar errores%


9a*a probabilidad de enontrar errores%
9I9(I,:RA-IA
9I9(I,:RA-IA

-airley R% Ingeniera de Software%

"ress#an. R%+% Ingeniera del Software. Un


enfoque prctico%

Vous aimerez peut-être aussi