Sie sind auf Seite 1von 12

Tecnicas de Pruebas

de Software
Tecnicas de Pruebas
Docente: Docente:
Beatrz E. Forn G. Beatrz E. Forn G.
bforan@esc.unvae.edu.co bforan@esc.unvae.edu.co
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Agenda
Tcncas de Pruebas de Software
Fundamentos
Casfcacn
Tcncas
Pruebas de Ca|a Banca
Tecnica de Ruta Bsica
Matriz Grfica
3 Tecnicas de Estructuras de Control
Pruebas de Ca|a Negra
4 Grupos de Tecnicas
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Tecnicas de Pruebas
Drectrces sstemtcas para e dseo de
pruebas
Ayudan a defnr con|untos de casos de prueba
apcando un certo crtero
Los casos de prueba quedarn determnados por
os vaores asgnados a as entradas en su
e|ecucn
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Tecnicas de Pruebas
Seecconar as tcncas de dseo adecuadas, es
una de as actvdades de mayor compe|dad en
os procesos de pruebas,
caracterstcas de proyecto
acance de proceso de pruebas,
expertca de os ngeneros de pruebas
costos asocados
Ca|a Baca -> crteros basados en e contendo
de os mduos
Ca|a Negra -> crteros basados en as nterfaces
y as especfcacones de os mduos
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Tecnicas de Pruebas
Ob|. comprobar a gca nterna y as nterfaces
de os componentes
Comprobar domnos de entrada y sada para
descubrr errores en su funcn comportamento
y desempeo
Resutado:
Casos de prueba
Defncn de resutados esperados
Regstro de resutados reaes
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Tecnicas de Pruebas
Software Fc de Probar
Operatvdad
"Cuanto me|or funcone, con mayor efcenca podr
probarse".
Opera mpamente => efcente en pruebas
Observabdad
"Lo que se ve es o que se prueba".
E resutado de cada caso de prueba es
comprobabe.
Cdgo fuente accesbe
Controabdad - E grado en que una prueba
puede ser automatzada y optmzada
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Tecnicas de Pruebas
Software Fc de Probar
Capacdad de descomposcn
E SW Puede ser dvddo y probado
ndependentemente
Smpcdad
"Cuanto menos haya que probar, ms rpdo se
har"
arqutectura moduar (smpcdad estructura),
gca mnma (smpcdad funcona)
estandares de codfcacn (smpcdad de cdgo)
Estabdad - Requere pocos cambos en pruebas
Facdad de comprensn
Apoyo de a Doc. de desarroo para defnr pruebas
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Pruebas Exahustivas
Hay 10 caminos posibles!! Si se ejecunta una prueba por milisegundo, Hay 10 caminos posibles!! Si se ejecunta una prueba por milisegundo,
tomara 3,170 aos probar el programa tomara 3,170 aos probar el programa
14 14
loop < 20 X loop < 20 X
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Probar Selectivamente
loop < 20 X loop < 20 X
Camino Seleccionado Camino Seleccionado
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Tecnicas de Pruebas
Buenas Pruebas
Oue tene una eevada probabdad de encontrar
error
Pensar en os tpos de faas y comprender e SW
No es redundante
No hay raz para gastar recursos en os msmos
ob|etvos de prueba
La me|or de su case
N muy smpe, n muy compe|a
cudado con as de casos de prueba
en genera probar por separado
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Tecnicas de Pruebas
Fundamentos
Los b Los bugs ugs se esconden en las esquinas se esconden en las esquinas
y se congregan en los y se congregan en los
lmites lmites
Boris Beizer Boris Beizer
OBJETIVO OBJETIVO
CRITERI CRITERIO O
RESTRICCIN RESTRICCIN
descubrir errores descubrir errores
en forma completa en forma completa
con el mnimo de esfuerzo y con el mnimo de esfuerzo y
tiempo tiempo
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Tecnicas de Pruebas
Clasificacion
Las tcncas de pruebas de software se pueden
agrupar en as sguentes categoras:
Tecnicas Aleatorias: Los casos se prueba se
generan aeatoramente.
Tecnicas Funcionales: Se utzan as
especfcacones de probema para generar os
casos de prueba. E programa se ve como una ca|a
negra.
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Tecnicas de Pruebas
Clasificacion
Las tcncas de pruebas de software se pueden
agrupar en as sguentes categoras:
Tecnicas de Flujo de Control: Se requere
conocmento de cdgo fuente. Se seecconan
camnos dentro de programa que deben ser
e|ecutados a ngresar os casos de prueba.
Tecnicas de Flujo de Datos: Tambn requere
conocmento de cdgo fuente. En este caso, os
camnos se egen de forma de exporar
secuencas de eventos reaconadas con e estado
de as varabes u ob|etos.
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Tecnicas de Pruebas
Clasificacion
Tecnicas de Mutacion: En a mutacn se ntroducen faas a
programa creando varos mutantes, cada uno con una faa. Los casos
de prueba se hacen pasar por os mutantes con a ntencn de hacer
faar a programa. Cuando ocurre a faa de un mutante, se dce que
ste ha sdo matado y no se prueba ms ese mutante muerto.
E caso de prueba que hzo faar a mutante, se marca como un caso
de prueba t para a deteccn de faas.
A cabo de e|ecutar todos os casos de prueba, os mutantes pueden
sobrevvr debdo a dos razones:
una es que sean equvaentes a programa nca
otra es que no haya habdo un caso de prueba o sufcentemente
bueno como para detectar e fao. En este caso, se deben generar
ms casos de prueba para poder matar todos os mutantes no
equvaentes.
E score de mutacn es e porcenta|e de mutantes no equvaentes
que mata un con|unto de prueba, cuyo vaor dea es e 100%.
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Caja Blanca
... ... el objetivo es asegurarse que todos el objetivo es asegurarse que todos
sentencias y condiciones han sido sentencias y condiciones han sido
ejecutados por lo menos una vez ejecutados por lo menos una vez ... ...
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Caja Blanca
Seecconar y comprobar un nmero mtado de
rutas gcas mportantes
Probar a coaboracn entre componentes
Probar a vadez de as prncpaes estructuras
de datos
Los casos de prueba e|erctan con|untos de
condcones, buces o ambos.
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Caja Blanca
Los errores lgicos y los supuestos incorrectos Los errores lgicos y los supuestos incorrectos
inversamente proporcionales a la probabilidad inversamente proporcionales a la probabilidad
de ejecucin de las rutas de ejecucin de las rutas
Frecuentemente Frecuentemente creemos creemos que una ruta no es que una ruta no es
probable que se ejecute probable que se ejecute; ; de hecho de hecho, , la realidad la realidad
frecuentemente hay que tomarlo en cuenta frecuentemente hay que tomarlo en cuenta
Los errores tipogrficos son aleatorios, su Los errores tipogrficos son aleatorios, su
probailidad de que las rutas sin probar contendrn probailidad de que las rutas sin probar contendrn
algunos algunos
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Tecnicas de Caja Blanca
Ca|a Banca
Tcncas de Estructura de Contro
Prueba de ruta bsca
Matrz Grfca
Prueba de condcn
Prueba de fu|o de datos
Prueba de buces
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Prueba de Ruta Bsica
Prueba de Ruta Bsca
Tom McCabe (1976)
Para apcar en dseo de pruebas de ca|a banca
Medr a compe|dad gca
Defnr un con|unto de rutas de e|ecucn
Los casos de pruebas garantzan que se e|ecuta
cada nstruccn por o menos una vez durante as
pruebas
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Prueba de Ruta Bsica
E|empo en e tabero
Notacn de grfca de fu|o
Conversn Dagrama de fu|o a grfca de fu|o
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Prueba de Ruta Bsica
Prmero se mde a
compe|dad ccomtca
segn dagrama de fu|o
Nmero de descones
smpes (nodos predcado) +
1
Nmero de reas
Nmero de arstas - nmero
de nodos +2
En este caso V(G)=4
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Prueba de Ruta Bsica
Luego se cacuan as
rutas ndependentes
dado e nmero de
V(G)
En este caso hay 4
rutas pues V(G) = 4
Luego se reaza un
caso de prueba por
cada camno
1 1
2 2
3 3
4 4
5 5 6 6
7 7
8 8
Path 1: 1,2,3,6,7,8 Path 1: 1,2,3,6,7,8
Path 2: 1,2,3,5,7,8 Path 2: 1,2,3,5,7,8
Path 3: 1,2,4,7,8 Path 3: 1,2,4,7,8
Path 4: 1,2,4,7,2,4,...7,8 Path 4: 1,2,4,7,2,4,...7,8
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Prueba de Ruta Bsica
Un nmero de estudios de la industria han indicado Un nmero de estudios de la industria han indicado
que un rango V(G) ms alto, hay mayor probabilidad de que un rango V(G) ms alto, hay mayor probabilidad de
errores errores
V(G) V(G)
mdulos mdulos
Mdulos en este rango son ms propensos Mdulos en este rango son ms propensos
a errores a errores
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Prueba de Ruta Bsica
No se necesta e dagrama de fu|o pero es una
ayuda grfca para cacuar a compe|dad
ccomtca
Es muy t para determnar casos de prueba en
camnos crtcos
Una soa prueba puede representar todo un
con|unto
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Matriz Grfica
Srve para automatzar e mtodo anteror
(Bezer)
Se reaza un grafo que represente e dagrama
de fu|o
Es una matrz de NxN (Nmero de nodos en e
grafo)
Las arstas son e vaor de conexn de un nodo
a otro
Se determna e peso de enace
1 0
Por probabdad de e|ecucn
Por tempo procesamento
Por memora utzada
Por requermentos de HW y SW
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Matriz Grfica
1
3
4
2
5
a
b
c
d
e
I
g
d
c
g
a
e
b
I
1
2
3
4
5
5 4 3 2 1
Matriz
Grfica
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Prueba de Condicion
Es un mtodo de dseo de casos de prueba que
e|ercta as condcones gcas contendas en un
mduo de programa.
Se concentra en a prueba de cada condcn de
programa para asegura que no tene errores.
Eementos en una condcn
operadores booeanos
varabes booeanas
(condcn booeana smpe o compusta)
operador reacona o expresn artmtca
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Prueba de Condicion
Entre os tpos de error se ncuyen os presentes
en:
e operador booeano (ncorretos/fatantes/adconaes)
a varabe booeana
os parntess,
operadores reaconaes
expresn artmtca
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Prueba de Flujo de Datos
Seeccona rutas de prueba de acuerdo con as
ubcacones de as defncones y os usos de as
varabes en e programa.
Supone que cada nstruccn de un programa se
e asgna un nmero de nstruccn y que
nnguna funcn modfca parmetros o varabes
gobaes.
DEF(I)={X | nstruccn I contene una defncn de X}
USO(I)={X | nstruccn I contene un uso de X}
cadena defncn-uso(DU) de X = |X, I, I'|
Estratega de Prueba DU: Soctar que cada
cadena DU sea cuberta por o menos 1 vez
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Prueba de Bucles
I Iteraciones teraciones
Anidadas Anidadas
Iteraciones Iteraciones
concatenadas concatenadas
Iteraciones no Iteraciones no
estructuradas estructuradas
Iteracin Iteracin
simple simple
Prueba de Buces
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Prueba de Bucles
Buces Smpes
n es e nmero mxmo de pasos que permte e
buce
Omtr por competo e buce
So un paso por e buce
Dos pasos por e buce
m pasos por e buce, donde m<n
n= 1, n, n+1 pasos por e buce
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Prueba de Bucles
Buces Andados
Incar en e buce ms nterno. Asgnar a todos os
buces vaores mnmos
Apcar pruebas de buce smpe a ms nterno
mentras se mantenen os externos en os vaores
mnmos de parmetro de teracn. Agregar otras
pruebas para os vaores fuera de rango o excudos.
Traba|ar haca afuera, conducendo pruebas para e
sguente buce, pero mantenendo todos os dems
buces externos en vaores mnmos y otros buces
andados en vaores "tpcos"
Segur mentras no se hayan probado todos os buces
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Prueba de Bucles
Buces concatenados
Se prueban empeando e enfoque defndo para
os buces smpes, s cada uno es ndependente.
Cuando no o son (contador de buce 1 es e vaor
nca de buce 2), entonces se apca e enfoque
de buces andados
Buces estructurados
Dsear nuevamente.
Est muy enredado e agortmo
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Tecnicas de Caja Negra
requerimientos requerimientos
eventos eventos
entrada entrada
salida salida
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Tecnicas de Caja Negra
Ca|a Negra
Mtodos Basados en Grafos
Partcn Equvaente
Anss de Vaores de Frontera
Pruebas de Taba ortogona
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Metodos Basados en
Grafos
Para entender los Para entender los
objetos que son objetos que son
modelados y las modelados y las
relaciones entre relaciones entre
ellos. ellos.
En este contexto, En este contexto,
consideramos objetos dado consideramos objetos dado
el contexto ms amplio el contexto ms amplio
posible: posible:
* Datos * Datos
* Componentes * Componentes
* Elementos OO * Elementos OO
Se recorre la grfica y se Se recorre la grfica y se
hacen pruebas para cubrir hacen pruebas para cubrir
todas las relaciones todas las relaciones
Relacin con pruebas de Relacin con pruebas de
comportamiento comportamiento
Ob|eto
#1
Ob|eto
#2
Ob|eto
#3
Enace Drgdo
(peso de enace) Peso de Nodo (Vaor)
Enaces Paraeos Enace no Drgdo
Men
Nuevo
Archvo
Ventana
Documento
Texto
Documento
Genera
(tempo de gen < 1 seg)
Atrbutos:
- Dmenson nca
- Coor de Fondo
- Coor de texto
Contene
Es representada como
Permte a edcn de
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Metodos Basados en
Grafos
Modeado de Fu|o de Transaccn
Nodos = pasos de a transaccn
Enaces = conexn gca entre pasos
Modeado de Estado Fnto
Nodos = estados de software
Enaces = transaccones entre estados
Modeado de Fu|o de Datos entre Ob|etos
Nodos = ob|etos de datos
Enaces = transaccones de traduccn entre ob|.
Modeado reaconado con e tempo: (Ob|etos)
E peso de enace es una medda de tempo de
e|ecucn requerdo
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Particion Equivalente
consultas consultas
de Usuario de Usuario
toques toques
con con
ratn ratn
Formatos Formatos
de de
salida salida
prompts prompts
entrada entrada
FK FK
datos datos
Dvde e
domno de
entrada en
cases de
datos para
dervar casos
de prueba por
cada con|unto
Reduce e #
de Casos de
Prueba
Descubre
cases de
errores
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Particion Equivalente
S una condcn de entrada especfca
un rango
un vaor especfco
Se defnen 1 case de equvaenca vda y 2 no
vdas
S una condcn de entrada
especfca un membro de un con|unto
es booeana
Se defnen 1 case de equvaenca vda y 1 no
vdas
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Particion Equivalente
Ejemplo: Equivalencia de Clases
comandos provistos por el usuario comandos provistos por el usuario
respuestas a los prompts del sistema respuestas a los prompts del sistema
nombre de archivo nombre de archivo
datos computaciones datos computaciones
parmetros fsicos parmetros fsicos
valores de frontera valores de frontera
valores iniciales valores iniciales
formateo de datos de salida formateo de datos de salida
respuestas a mensajes de error respuestas a mensajes de error
datos grficos (v.g. clic de ratn) datos grficos (v.g. clic de ratn)
datos fuera de la frontera del programa datos fuera de la frontera del programa
datos imposibles fsicamente datos imposibles fsicamente
valores correctos provistos en lugares equivocados valores correctos provistos en lugares equivocados
Datos vlidos Datos vlidos
Datos invlidos Datos invlidos
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Anlisis de Valores de
Frontera
consultas consultas
de usuario de usuario
toques toques
de de
ratn ratn
formatos formatos
de de
salida salida
prompts prompts
entrada entrada
FK FK
datos datos
dominio dominio
de salida de salida
dominio de entrada dominio de entrada
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Anlisis de Valores de
Frontera
S una condcn de entrada especfca un rango
mtado por os vaores x y , os casos de preuba
deben dsearse con esos vaores, adems de
os que se encuentran apenas arrba y aba|o de
eos
S una condcn de entrada especfca dversos
vaores, deben desarroarse casos de prueba
que e|ercten os nmeros mxmo y mnmo y
os apenas arrba o ab|o de estos
Apcar o anteror a condcones de sada.
Casos de prueba que e|ecten os mtes de as
estructuras de datos
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Prueba de Tabla
Ortogonal
Usado cuando e nmero de parmetros es
pequeo y os vaores que cada parmetro
puede tomar son caramente mtados pero no
se pueden hacer pruebas exhaustvas.
One input item at a time L9 orthogonal array
X
Y
Z
X
Y
Z
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Prueba de Tabla
Ortogonal
E|empo:
envarFax (p1, p2, p3, p4)
p1= 1, envaro ahora p2,p3,p4 = 1
p1= 2, envaro en una hora p2,p3,p4 = 2
p1= 3, envaro a medanoche p2,p3,p4 = 3
Exhaustvo.....34= 81 pruebas
Me|or usar e mtodo de taba ortogona L9
Ingenera de Sstemas y Computacn - Unversdad de Vae
Tcncas de Pruebas de Software - Beatrz E. Forn Gavra
Prueba de Tabla
Ortogonal
Parmetros de Prueba
Caso de Prueba P1 P2 P3 P4
1 1 1 1 1
2 1 2 2 2
3 1 3 3 3
4 2 1 2 3
5 2 2 3 1
6 2 3 1 2
7 3 1 3 2
8 3 2 1 3
9 3 3 2 1

Das könnte Ihnen auch gefallen