Documentos de Académico
Documentos de Profesional
Documentos de Cultura
n
2
R
e
g
i
n
4
R
e
g
i
n
3
R
e
g
i
n
1
R
e
g
i
n
5
a
)
V
(
G
)
=
1
4
-
1
1
+
2
=
5
b
)
V
(
G
)
=
5
r
e
g
i
o
n
e
s
c
e
r
r
a
d
a
s
c
)
V
(
G
)
=
5
c
o
n
d
i
c
i
o
n
e
s
PRUEBAS DEL SOFTWARE
12.180
PRUEBAS FUNCIONALES
PRUEBAS FUNCIONALES
Reduce el nmero de otros casos necesarios para que la prueba sea
razonable. Esto implica que el caso ejecute el mximo nmero de
posibilidades de entrada diferentes para as reducir el total de casos.
Cubre un conjunto extenso de otros casos posibles, es decir, no indica
algo acerca de la ausencia o la presencia de defectos en el conjunto
especfico de entradas que prueba, as como de otros conjuntos
similares.
Se centran en las funciones, entradas y salidas Es impracticable probar el
software para todas las posibilidades. De nuevo hay que tener criterios para
elegir buenos casos de prueba
Un caso de prueba funcional es bien elegido si se cumple que: Un caso de prueba funcional es bien elegido si se cumple que:
PRUEBAS DEL SOFTWARE
12.190
PRUEBAS FUNCIONALES
PRUEBAS FUNCIONALES
TCNICA: PARTICIPACIONES O CLASES DE EQUIVALENCIA TCNICA: PARTICIPACIONES O CLASES DE EQUIVALENCIA
Cada caso debe cubrir el mximo nmero de entradas
Debe tratarse el dominio de valores de entrada dividido en un
nmero finito de clases de equivalencia que cumplan la siguiente
propiedad: la prueba de un valor representativo de una clase
permite suponer razonablemente que el resultado obtenido
(existan defectos o no) ser el mismo que el obtenido probando
cualquier otro valor de la clase
C
u
a
l
i
d
a
d
e
s
q
u
e
d
e
f
i
n
e
n
u
n
b
u
e
n
c
a
s
o
d
e
p
r
u
e
b
a
Identificar clases de equivalencia
Crear casos de prueba correspondiente
Lo que hay que hacer es:
PRUEBAS DEL SOFTWARE
12.200
PRUEBAS FUNCIONALES
PRUEBAS FUNCIONALES
PARTICIPACIONES O CLASES DE EQUIVALENCIA PARTICIPACIONES O CLASES DE EQUIVALENCIA
PASOS PARA IDENTIFICAR CLASES DE EQUIVALENCIA PASOS PARA IDENTIFICAR CLASES DE EQUIVALENCIA
1. Identificacin de las condiciones de las entradas del programa, es decir,
restricciones de formato o contenido de los datos de entrada
2. A partir de ellas, se identifican clases de equivalencia que pueden ser:
a) De datos vlidos
b) De datos no vlidos o errneos
3. Existen algunas reglas que ayudan a identificar clase:
a) Si se especifica un rango de valores para los datos de entrada, secrear una clase vlida y
dos clases no vlidas
b) Si se especifica un nmero finito y consecutivo de valores, se crear una clase vlida y dos
no vlidas
PRUEBAS DEL SOFTWARE
12.210
c) Si se especifica una situacin del tipo debe ser o booleana (por
ejemplo, el primer carcter debe ser una letra), se identifican una
clase vlida (es una letra) y una no vlida (no es una letra)
d) Si se especifica un conjunto de valores admitidos y se sabe que el
programa trata de forma diferente cada uno de ellos, se identifica una
clase vlida por cada valor y una no vlida
e) En cualquier caso, si se sospecha que ciertos elementos de una clase
no se tratan igual que el resto de la misma, deben dividirse en clases
menores
PRUEBAS FUNCIONALES
PRUEBAS FUNCIONALES
PARTICIPACIONES O CLASES DE EQUIVALENCIA PARTICIPACIONES O CLASES DE EQUIVALENCIA
PASOS PARA IDENTIFICAR CLASES DE EQUIVALENCIA PASOS PARA IDENTIFICAR CLASES DE EQUIVALENCIA
PRUEBAS DEL SOFTWARE
12.220
El ltimo paso del mtodo es el uso de las clases de equivalencia para identificar los
casos de prueba correspondientes. Este proceso consta de las siguientes fases:
+ Asignacin de un nmero nico a cada clase de equivalencia
+ Hasta que todas las clases de equivalencia vlidas hayan sido cubiertas
por (incorporadas a) casos de prueba, se tratar de escribir un caso que
cubra tantas clases vlidas no incorporadas como sea posible
+ Hasta que todas las clases de equivalencia no vlidas hayan sido
cubiertas por casos de prueba, escribir un caso para una nica clase no
vlida sin cubrir
PRUEBAS FUNCIONALES
PRUEBAS FUNCIONALES
PARTICIPACIONES O CLASES DE EQUIVALENCIA PARTICIPACIONES O CLASES DE EQUIVALENCIA
PASOS PARA IDENTIFICAR CASOS DE PRUEBA PASOS PARA IDENTIFICAR CASOS DE PRUEBA
PRUEBAS DEL SOFTWARE
12.230
PRUEBAS FUNCIONALES
PRUEBAS FUNCIONALES
TABLA DE CLASES DE EQUIVALENCIA DEL EJEMPLO TABLA DE CLASES DE EQUIVALENCIA DEL EJEMPLO
Condicin de entrada Clases vlidas Clases invlidas
Cdigo rea (1) 200
cdigo
p
i
c
a
s
m
s
e
n
d
e
t
a
l
l
e
RELACION ENTRE PRODUCTOS DE DESARROLLO
RELACION ENTRE PRODUCTOS DE DESARROLLO
Y NIVELES DE PRUEBA
Y NIVELES DE PRUEBA
PRUEBAS DEL SOFTWARE
12.550
Requisitos
de usuario
Especificac.
de requisitos
Diseo
modular
Especific. y
lgica de
mdulo
Cdigo
Pruebas de
unidad
Pruebas de
integracin
Pruebas de
sistema
Pruebas de
aceptacin
Existe una correspondencia entre cada nivel de prueba y el trabajo realizado en
cada etapa del desarrollo
El usuario comprueba que el
sistema hace lo especificado en
el contrato
Sistema (cumplimiento de
objetivos)
Validacin (desajustes entre el
software y los requisitos)
Agrupacin de mdulos
Interfaces
Lgica de mdulos (caja blanca)
Funciones (caja negra)
PRUEBA DE UNIDAD
PRUEBA DE UNIDAD
PRUEBAS DEL SOFTWARE
12.560
Hablamos de una unidad de prueba para referirnos a uno o ms mdulos
que cumplen las siguientes condiciones [IEEE, 1986a]:
Todos son del mismo programa
Al menos uno de ellos no ha sido probado
El conjunto de mdulos es el objeto de un proceso de prueba
Se trata de las pruebas formales que permiten declarar que un mdulo est listo y
terminado (no las informales que se realizan mientras se desarrollan los mdulos)
La prueba de unidad puede abarcar desde un mdulo hasta un grupo de mdulos
(incluso un programa completo)
Estas pruebas suelen realizarlas el propio personal de desarrollo, pero evitando que
sea el propio programador del mdulo
PRUEBAS DE INTEGRACION
PRUEBAS DE INTEGRACION
PRUEBAS DEL SOFTWARE
12.570
Implican una progresin ordenada de pruebas que van desde
los componentes o mdulos y que culminan en el sistema
completo
El orden de integracin elegido afecta a diversos factores,
como lo siguientes:
La forma de preparar casos
Las herramientas necesarias
El orden de codificar y probar los mdulos
El coste de la depuracin
El coste de preparacin de casos
PRUEBAS DEL SOFTWARE
12.580
PRUEBAS DE INTEGRACION
PRUEBAS DE INTEGRACION
Tipos fundamentales de integracin
Integracin incremental. Se combina el siguiente mdulo
que se debe probar con el conjunto de mdulos que ya han
sido probados
Integracin no incremental. Se prueba cada mdulo por
separado y luego se integran todos de una vez y se prueba el
programa completo
;ascendente. Se comienza por los mdulos hoja.
+descendente. Se comienza por el mdulo raz.
Habitualmente las pruebas de unidad y de integracin se solapan y
mezclan en el tiempo.
PRUEBAS DEL SOFTWARE
12.580
INTEGRACIN INCREMENTAL ASCENDENTE
INTEGRACIN INCREMENTAL ASCENDENTE
El proceso es el siguiente
Se combinan los mdulos de bajo nivel en grupos que realicen una funcin
o subfuncin especfica (o quizs si no es necesario, individualmente) de
este modo reducimos el nmero de pasos de integracin.
Se escribe para cada grupo un mdulo impulsor o conductor de este
modo permitimos simular la llamada a los mdulos, introducir datos de
prueba y recoger resultados.
Se prueba cada grupo mediante su impulsor
Se eliminan los mdulos impulsores y se sustituyen por los mdulos de
nivel superior en la jerarqua.
DISEO MODULAR SOBRE EL QUE SE REALIZA
DISEO MODULAR SOBRE EL QUE SE REALIZA
LA INTEGRACION
LA INTEGRACION
PRUEBAS DEL SOFTWARE
12.590
A
D C B
E F G
Supongamos esta estructura de programa
PRIMERA FASE DE LA INTEGRACION
PRIMERA FASE DE LA INTEGRACION
ASCENDENTE DEL EJEMPLO
ASCENDENTE DEL EJEMPLO
PRUEBAS DEL SOFTWARE
12.600
Impulsor de D
D
Impulsor de G
G
Impulsor de E
E
Impulsor de F
F
1 fase
Se definen los impulsores para nodos hoja y se
ejecutan
Pruebas de
Unidad
SEGUNDA Y TERCERA FASE DE LA INTEGRACION
SEGUNDA Y TERCERA FASE DE LA INTEGRACION
ASCENDENTE DEL EJEMPLO
ASCENDENTE DEL EJEMPLO
PRUEBAS DEL SOFTWARE
12.610
Impulsor de E Impulsor de F
C
F G
B
E
A
D C B
E F G
2 fase 3 fase
Prueba de unidad de E
Prueba de integracin de B con E
PRUEBAS DEL SOFTWARE
12.615
INTEGRACIN INCREMENTAL DESCENDENTE
INTEGRACIN INCREMENTAL DESCENDENTE
Comienza por el mdulo de control principal y va incorporando mdulos
subordinados progresivamente.
No hay un orden adecuado de integracin, pero unos consejos son los
siguientes:
-Si hay secciones crticas (especialmente complejas) se deben integrar lo antes
posible.
-El orden de integracin debe incorporar cuanto antes los mdulos de
entrada/salida para facilitar la ejecucin de puebas
Existen dos formas bsicas de hacer esta integracin:
-Primero en profundidad: Se van completando ramas del rbol (A B E C F G D)
-Primero en anchura: Se van completando niveles de jerarqua (A B C D E F G)
PRUEBAS DEL SOFTWARE
12.620
ETAPAS FUNDAMENTALES DE LA
ETAPAS FUNDAMENTALES DE LA
INTEGRACION DESCENDENTE
INTEGRACION DESCENDENTE
El mdulo raz es el primero: Se escriben mdulos ficticios que simulan
los subordinados
Una vez probado el mdulo raz (sin detectarse ya ningn defecto),
se sustituye uno de los subordinados ficticios por el mdulo
correspondiente segn el orden elegido
Se ejecutan las correspondientes pruebas cada vez que se incorpora
un mdulo nuevo
Al terminar cada prueba, se sustituye un ficticio por su correspondiente
real
Conviene repetir algunos casos de prueba de ejecuciones anteriores para
asegurarse de que no se ha introducido ningn defecto nuevo
PRUEBAS DEL SOFTWARE
12.630
MDULOS FICTICIOS
MDULOS FICTICIOS
Mdulos que slo muestran un mensaje de traza
Mdulos que muestran los parmetros que se les pasa
Mdulos que devuelven un valor que no depende de los
parmetros que se pasen como entrada
Mdulos que, en funcin de los parmetros pasados, devuelven
un valor de salida que ms o menos se corresponda con dicha
entrada
La creacin de mdulos ficticios subordinados es ms complicada que
la creacin de impulsores
-Complejidad
+Complejidad
UNA POSIBLE CLASIFICACION DE
UNA POSIBLE CLASIFICACION DE
LOS MODULOS FICTICIOS
LOS MODULOS FICTICIOS
PRUEBAS DEL SOFTWARE
12.640
Tipo 1 Tipo 2 Tipo 3 Tipo 4
Muestra Muestra Devuelve Recibe y
mensaje param. de entrada valor devuelve valor
UN PASO INTERMEDIO EN LA INTEGRACION
UN PASO INTERMEDIO EN LA INTEGRACION
DESCENDENTE PRIMERO EN LA PROFUNDIDAD
DESCENDENTE PRIMERO EN LA PROFUNDIDAD
DEL EJEMPLO
DEL EJEMPLO
PRUEBAS DEL SOFTWARE
12.650
A
Ficticio D Ficticio C B
E
Recordar el recorrido de
rboles en profundidad
UN PASO INTERMEDIO EN LA INTEGRACION
UN PASO INTERMEDIO EN LA INTEGRACION
DESCENDENTE PRIMERO EN LA ANCHURA
DESCENDENTE PRIMERO EN LA ANCHURA
DEL EJEMPLO
DEL EJEMPLO
PRUEBAS DEL SOFTWARE
12.660
A
ficticio D C B
Ficticio E
Recordar el recorrido de
rboles en anchura
PRUEBAS DEL SOFTWARE
12.670
INTEGRACION NO INCREMENTAL
INTEGRACION NO INCREMENTAL
Un mdulo impulsor, que transmite o impulsa los datos
de prueba al mdulo y muestra los resultados de dichos
casos de prueba
Uno o ms mdulos ficticios que simulan la funcin
de cada mdulo subordinado llamado por el mdulo
que se va a probar
Cada mdulo que tiene que ser probado necesita lo siguiente:
Una vez probado cada mdulo por separado, se ensamblan todos de una vez y
se prueban en conjunto
PRUEBA TIPICA DEL MODULO EN LA INTEGRACION
PRUEBA TIPICA DEL MODULO EN LA INTEGRACION
NO INCREMENTAL
NO INCREMENTAL
PRUEBAS DEL SOFTWARE
12.680
Mdulo que se
va a probar
ficticio 3 ficticio 2 ficticio 1
Impulsor
Resultados
Casos de
prueba
COMPARACION DE LOS DISTINTOS
COMPARACION DE LOS DISTINTOS
TIPOS DE INTEGRACION
TIPOS DE INTEGRACION
PRUEBAS DEL SOFTWARE
12.690
Ventajas de la no incremental:
Requiere menos tiempo de mquina para las pruebas, ya que
se prueba de una sola vez la combinacin de los mdulos
Existen ms oportunidades de probar mdulos en paralelo
Ventajas de la incremental:
Requiere menos trabajo, ya que se escriben menos mdulos impulsores
y ficticios
Los defectos y errores en las interfaces se detectan antes, ya que se
empieza antes a probar las uniones entre los mdulos
La depuracin es mucho ms fcil, ya que si se detectan los sntomas
de un defecto en un paso de la integracin hay que atribuirlo muy
probablemente al ltimo mdulo incorporado
Se examina con mayor detalle el programa, al ir comprobando cada
interfaz poco a poco
VENTAJAS Y DESVENTAJAS DE LAS
VENTAJAS Y DESVENTAJAS DE LAS
INTEGRACIONES ASCENDENTE Y DESCENDENTE
INTEGRACIONES ASCENDENTE Y DESCENDENTE
Descendente
Es un mtodo ventajoso si aparecen
grandes fallos en la parte inferior del
programa, ya que se prueba antes.
La entradas para las pruebas son ms
mdulos inferiores tienen funciones
Ascendente
Ventajas
fciles de crear, puesto que los
ms especficas.
Es ms fcil observar los resultados de
la prueba, ya que es en los mdulos
inferiores donde se elaboran los datos
(los superiores suelen ser mdulos de
control).
Ventajas
Es ventajosa si aparecen grandes
defectos en los niveles superiores del
programa, ya que se prueban antes.
Una vez incorporadas las funciones de
entrada/salida, es fcil manejar los
casos de prueba.
Permite ver antes una estructura previa
del programa, lo que facilita el hacer
demostraciones y ayuda a mantener la
moral.
Desventajas
Se requieren mdulos impulsores, que
deben codificarse.
El programa, como entidad, slo
aparece cuando se agrega el ltimo
mdulo.
Desventajas
Se requieren mdulos ficticios que
suelen ser complejos de crear.
Antes de incorporar la entrada/salida
resulta complicado el manejo de los
casos de prueba.
Las entradas para las pruebas pueden
ser difciles o imposibles de crear,
puesto que, a menudo, se carece de
los mdulos inferiores que
proporcionan los detalles de operacin.
Es ms difcil observar la salida, ya
que los resultados surgen de los
mdulos inferiores.
Pueden inducir a diferir la terminacin
de la prueba de ciertos mdulos.
PRUEBAS DEL SOFTWARE
12.700
PRUEBA DEL SISTEMA
PRUEBA DEL SISTEMA
PRUEBAS DEL SOFTWARE
12.710
Cumplimiento de todos los requisitos funcionales, considerando
el producto software final al completo en un entorno de sistema
El funcionamiento y rendimiento en las interfaces hardware,
software, de usuario y de operador
Adecuacin de la documentacin de usuario
Ejecucin y rendimiento en condiciones lmite y de sobrecarga
Es el proceso de prueba de un sistema integrado de hardware y
software para comprobar lo siguiente:
FUENTES DE DISEO DE CASOS DE PRUEBA DEL SISTEMA
FUENTES DE DISEO DE CASOS DE PRUEBA DEL SISTEMA
PRUEBAS DEL SOFTWARE
12.720
Casos basados en los requisitos gracias a tcnicas de caja negra aplicadas
a las especificaciones
Casos necesarios para probar el rendimiento del sistema y de su capacidad
funcional (pruebas de volumen de datos, de lmites de procesamiento, etc.).
Este tipo de pruebas suelen llamarse pruebas de sobrecarga (stress testing)
Casos basados en el diseo de alto nivel aplicando tcnicas de caja blanca
a los flujos de datos de alto nivel (por ejemplo, de los diagramas de flujo
de datos)
PRUEBA DE ACEPTACION
PRUEBA DE ACEPTACION
PRUEBAS DEL SOFTWARE
12.730
- Participacin del usuario
- Est enfocada hacia la prueba de los requisitos de
usuario especificados.
- Est considerada como la fase final del proceso
para crear una confianza en que el producto es el
apropiado para su uso en explotacin
Es la prueba planificada y organizada formalmente para
determinar si se cumplen los requisitos de aceptacin marcados
por el cliente.
Sus caractersticas principales son las siguientes:
RECOMENDACIONES GENERALES
RECOMENDACIONES GENERALES
PRUEBAS DEL SOFTWARE
12.740
Debe contarse con criterios de aceptacin
previamente aprobados por el usuario
No hay que olvidar validar tambin la
documentacin y los procedimientos de uso
(por ejemplo,mediante una auditora)
Las pruebas se deben realizar en el entorno
en el que se utilizar el sistema (lo que incluye
al personal que lo maneja)