Pruebas

Anuncio
Pruebas
1
1. Descripción y objetivos
9 Las pruebas son prácticas a realizar en diversos
momentos de la vida del sistema de información para
verificar:
8 El correcto funcionamiento de los componentes del sistema.
8 El correcto ensamblaje entre los distintos componentes.
8 El funcionamiento correcto de las interfaces entre los
distintos subsistemas que lo componen y con el resto de
sistemas de información con los que se comunica.
8 El funcionamiento
f ncionamiento correcto del sistema integrado de
hardware y software en el entorno de operación.
8 Que el sistema cumple con el funcionamiento esperado y
permite al usuario de dicho sistema que determine su
aceptación, desde el punto de vista de su funcionalidad y
rendimiento.
Que los cambios sobre un componente
p
de un sistema de
8 Q
información, no introducen un comportamiento no deseado o
errores adicionales en otros componentes no modificados.
2
1. Descripción y objetivos
9 El diseño de casos de prueba para la
verificación del software puede significar un
esfuerzo considerable (cerca del 40% del
tiempo total de desarrollo)
9 Verificación y Validación
8 Verificación:
V ifi
ió
⌂ ¿estamos construyendo el producto correctamente?
8 Validación:
⌂ ¿estamos construyendo el producto correcto?
9 Recursos:
http://www.aptest.com/resources.html
3
2. Tipologías.
9Pruebas
9
9Pruebas
b
9Pruebas
Pruebas
9Pruebas
9Pruebas
9Pruebas
Unitarias.
d Integración.
de
del Sistema.
de Implantación.
de Aceptación.
de Regresión.
Regresión
4
2. Tipologías. Unitarias
9 Las pruebas unitarias constituyen la prueba
inicial de un sistema y las demás pruebas
d b apoyarse sobre
deben
b ellas.
ll
9 Tipologías:
8E
Enfoque
f
estructural
t
t
l o de
d caja
j blanca.
bl
S verifica
Se
ifi
la estructura interna del componente con
independencia de la funcionalidad establecida para
el mismo. Por tanto, no se comprueba la
corrección de los resultados si éstos se
p
producen.
8 Enfoque funcional o de caja negra. Se comprueba
el correcto funcionamiento de los componentes del
sistema de información,
información analizando las entradas y
salidas y verificando que el resultado es el
esperado.
5
2. Tipologías. Integración
9El objetivo de las pruebas de integración
es verificar el correcto ensamblaje
entre los distintos componentes una
vez
que
han
sido
probados
unitariamente con el fin de comprobar
que interactúan correctamente a
través de sus interfaces, tanto internas
como externas,
externas cubren la funcionalidad
establecida y se ajustan a los requisitos
no funcionales especificados en las
verificaciones correspondientes.
6
2. Tipologías. Del Sistema.
9Las pruebas del sistema tienen como
objetivo ejercitar profundamente el
sistema comprobando la integración
del
sistema
de
información
globalmente,,
g
verificando
el
funcionamiento
correcto
de
las
interfaces
entre
los
distintos
subsistemas que lo componen y con el
resto de sistemas de información con
los que se comunica.
7
2. Tipologías. Del Sistema.
9
9
9
9
9
9
9
9
9
9
Pruebas funcionales. Dirigidas a asegurar que el SI realiza correctamente todas las
funciones que se han detallado en las especificaciones dadas por el usuario del sistema.
Pruebas de comunicaciones. Determinan que las interfaces entre los componentes del
p
remotos,, como locales.
sistema funcionan adecuadamente,, tanto a través de dispositivos
Asimismo, se han de probar las interfaces hombre/máquina.
Pruebas de rendimiento. Determinar que los tiempos de respuesta están dentro de los
intervalos establecidos en las especificaciones del sistema.
Pruebas de volumen. Examinar el funcionamiento del sistema cuando está trabajando con
grandes volúmenes de datos,
datos simulando las cargas de trabajo esperadas.
esperadas
Pruebas de sobrecarga. Comprobar el funcionamiento del sistema en el umbral límite de los
recursos, sometiéndole a cargas masivas. El objetivo es establecer los puntos extremos en
los cuales el sistema empieza a operar por debajo de los requisitos establecidos.
p
de datos. Consisten en demostrar q
que el sistema p
puede
Pruebas de disponibilidad
recuperarse ante fallos, tanto de equipo físico como lógico, sin comprometer la integridad de
los datos.
Pruebas de facilidad de uso. Consisten en comprobar la adaptabilidad del sistema a las
necesidades de los usuarios, tanto para asegurar que se acomoda a su modo habitual de
trabajo como para determinar las facilidades que aporta al introducir datos en el sistema y
trabajo,
obtener los resultados.
Pruebas de operación. Consisten en comprobar la correcta implementación de los
procedimientos de operación, incluyendo la planificación y control de trabajos, arranque y
rearranque del sistema, etc.
P
Pruebas
b
d entorno.
de
t
V ifi
Verificar
l
las
i t
interacciones
i
d l sistema
del
i t
con otros
t
sistemas
i t
d t del
dentro
d l
mismo entorno.
Pruebas de seguridad. Consisten en verificar los mecanismos de control de acceso al
sistema para evitar alteraciones indebidas en los datos.
8
2. Tipologías. De Implantación.
9El
objetivo
es
comprobar
el
funcionamiento correcto del sistema
integrado de hardware y software en el
entorno de operación, y permitir al
que,, desde el p
punto de vista de
usuario q
operación, revise el sistema en base al
cumplimiento de los requisitos no
funcionales especificados.
9
2. Tipologías. De Aceptación.
9El objetivo de las pruebas de aceptación
es validar que un sistema cumple con
el funcionamiento esperado y permitir
al usuario de dicho sistema que
determine su aceptación,
p
, desde el
punto de vista de su funcionalidad y
rendimiento.
rendimiento
10
2. Tipologías. De Regresión.
9El objetivo de las pruebas de regresión
es eliminar el efecto onda,
onda es decir,
decir
comprobar que los cambios sobre un
componente
de
un
sistema
de
no
introducen
un
información,,
comportamiento no deseado o errores
adicionales en otros componentes no
modificados
9(R
9(Repetición
i ió de
d casos de
d prueba)
b )
11
3. Pruebas de Caja Blanca
9 Objetivo: Probar el funcionamiento de la
estructura de control de las unidades de
programación.
8 Garantizan que se ejecutan una vez por lo
menos todos los caminos independientes de
cada módulo.
módulo
8 Prueban todas las decisiones lógicas en sus
vertientes
i
verdadera
d d
y falsa.
f l
8 Ejecutan todos los bucles.
8 Ejecutan todas las estructuras internas.
12
3. Pruebas de Caja Blanca
9Pruebas Caja Blanca:
8 Prueba
P
b d
dell Camino
C
i
Bá i
Básico
8 Prueba de la Estructura de Control.
⌂ Prueba de condición
⌂ Prueba de flujo de datos
⌂ Prueba de bucles
13
3. Pruebas de Caja Blanca. Camino Básico
9 Propuesta por Tom McCabe (1976)
9 Objetivo: Definir un conjunto básico de caminos de
ejecución.
9 Pasos:
8 A partir del diseño o del código fuente, dibujar el
grafo de flujo
g
j asociado
8 Se calcula la complejidad ciclomática del grafo
8 Se determina un conjunto
j
básico de caminos
independientes
8 Se preparan los casos de prueba que obliguen a la
ejecución de cada camino del conjunto básico
14
3. Pruebas de Caja Blanca. Camino Básico
Secuencia
While
If
Case
Until
15
3. Pruebas de Caja Blanca. Camino Básico
9Complejidad ciclomática de un grafo de
flujo V(G) establece el número de
caminos independientes
9P d
9Puede
calcularse
l l
d
de
t
tres
f
formas
alternativas:
8 El número de regiones del grafo de flujo
8 V(G) = A - N + 2,
⌂ donde A es el número de aristas y N es el
número de nodos
8 V(G) = P + 1,
1
⌂ donde P es el número de nodos predicado
16
3. Pruebas de Caja Blanca. Camino Básico
9V(G) = 4
11
2, 3
4,
4, 55
66
77
88
99
10
10
9El
El grafo de la figura
tiene cuatro regiones.
911 aristas
i t
- 9 nodos
d + 2
=4
93 nodos predicado + 1 =
4
11
11
17
3. Pruebas de Caja Blanca. Camino Básico
1
2
4
5
3
6
7
8
9
Camino 1: 1-9
Camino 2: 1-2-3-8-1-9
Camino 3: 1-2-4-5-7-8-1-9
Camino 4: 1-2-4-6-7-8-1-9
18
3. Pruebas de Caja Blanca.
Estructuras de Control
Bucles
anidados
Bucles
simples
Bucles
concatenados
Bucles no
estructurados
19
3. Pruebas de Caja Blanca.
Estructuras de Control
9 Prueba de Bucles.
8 Objetivo: Validar las construcciones de bucles.
8 Tipos:
⌂ Simples.
– Aplicar, siendo n el número máximo de pasos permitidos:
1.
2.
3.
4
4.
5.
Saltarse el bucle.
Ejecutarlo sólo una vez.
Pasar dos veces.
Hacer m pasadas,
pasadas siendo m<n.
m<n
Hacer n-1 y n+1 pasos en el bucle.
⌂ Concatenados
1.Comenzar por el bucle más interno.
2. Probarlo como un bucle simple.
3. Progresar hacia fuera, manteniendo los bucles internos en sus valores típicos.
4. Continuar hasta probarlos todos.
⌂ Anidados
– Si el contador del primer bucle no se utiliza como valor inicial del segundo
bucle, pueden probarse como bucles simples.
– Si no es así deberá aplicarse el enfoque de anidados.
20
4. Pruebas de Caja Negra.
9 Las pruebas de caja negra se centran en los requisitos
funcionales del software
9 Comprobar que la funcionalidad del programa o
sistema es completamente operativa.
9 Que
Q
l entrada
la
t d se acepta
t de
d forma
f
adecuada
d
d y la
l
salida es correcta.
9 Verificar que la integridad de la información interna
se mantiene.
9 Errores típicos encontrados:
8
8
8
8
8
Funciones incorrectas o ausentes
Errores de interfase
Errores de estructura de datos o acceso a BD externas
Errores de rendimiento
Errores de inicialización y de terminación
21
4. Pruebas de Caja Negra.
9Algunas técnicas que se basan en la
filosofía de la caja negra son:
8 Partición Equivalente
8 Análisis de Valores Límite
Causa-Efecto
Efecto
8 Grafos de Causa
8 Pruebas de Comparación
22
4. Pruebas de Caja Negra.
Partición Equivalente
9 Método que divide el campo de entrada de un
programa en clases de datos
9 Una condición de entrada es un valor
numérico específico,
específico un rango de valores,
valores un
miembro de un conjunto de valores o lógica
9 Una
U
clase
l
d equivalencia
de
i l
i representa un
conjunto de estados válidos y no válidos para
una condición
di ió de
d entrada
d
9 La prueba de partición equivalente se basa en
evaluar las clases de equivalencia para una
condición de entrada
23
4. Pruebas de Caja Negra.
Condición
de Entrada
Tipo
Partición equivalente.
Clase Equivalencia
Válida
Códi banco
Código
b
Lógica
Ló
i
((puede
d 1:
1 En
E blanco
bl
estar o no) Si está 2: 100<= Código banco <= 999
es Rango
Clase Equivalencia
No Válida
33: Un
U valor
l no numérico
éi
4: Código banco < 100
5: Código banco > 999
Código
Códi
sucursal
R
Rango
6 0 <= Código
6:
Códi sucursall <= 7:
7 Código
Códi sucursall < 1000
9999
8: Código sucursal >= 9999
Nº Cuenta
Valor
9: Cualquier número de cinco 10: Número de más de cinco
dígitos
dígitos
11: Número de menos de cinco
dígitos
Clave
Valor
12:
Orden
Conjunto,
con 15: “”
comportamiento
16: “Transferencia”
di ti t
distinto
17 “Retroceso”
17:
“R t
”
Cualquier cadena de 13: Cadena de menos de 5
caracteres alfanuméricos
posiciones
de 5 posiciones
14: Cadena de más de 5
posiciones
i i
18: Cadena distinta de blanco y de
las válidas
24
4. Pruebas de Caja Negra.
Valores límite
9 La técnica de Análisis de Valores Límites
selecciona casos de prueba que ejerciten los
valores
l
l
límite
9 Complementa
l
l
la
prueba
b
d
de
partición
i i
equivalente. En lugar de realizar la prueba
con cualquier elemento de la partición
equivalente, se escogen los valores en los
bordes de la clase
9 Se derivan tanto casos de prueba a partir de
l
las
condiciones
di i
d entrada
de
d como con las
l
d
de
salida
25
26
Descargar