Está en la página 1de 34

PRUEBAS DEL

del Software SOFTWARE


Ingeniera

Guillermo Choque Aspiazu


UMSA - 2016
Introduccin
Qu es probar software?
Algunas definiciones incorrectas:
Probar es demostrar que no
hay errores presentes en un
programa.
El propsito de probar es
mostrar que el programa
realiza correctamente las
funciones esperadas.
Definicin correcta:
Probar es el proceso de
ejecucin de un programa con
el fin de encontrar errores.
Error, Defecto, Fallo
Objetivos de la Prueba
La prueba es el proceso de
ejecucin de un programa
con la intencin de
descubrir un error.
Un buen caso de prueba es
aquel que tiene una alta
probabilidad de mostrar un
error no descubierto hasta
entonces.
Una prueba tiene xito si
descubre un error no
detectado hasta entonces.
Principios de las Pruebas
A todas las pruebas se
les debera poder hacer
un seguimiento hasta los
requerimientos del
cliente.
Las pruebas deberan
planificarse mucho antes
de que empiecen.
Las pruebas deberan
empezar por lo
pequeo y progresar
hacia lo grande.
Principios de las Pruebas
El principio de Pareto es
aplicable a la prueba de
software.
El 80% de los errores
descubiertos con las
pruebas surgen de hacerle
seguimiento slo al 20%
de todos los mdulos del
programa.
El problema es aislar esos
mdulos sospechosos y
probarlos racionalmente.
Principios de las Pruebas
No son posibles las
pruebas exhaustivas.
Para ser ms eficaces
(pruebas con la ms
alta probabilidad de
encontrar errores), las
pruebas deberan ser
realizadas por un
equipo independiente.
Principios de las Pruebas
Se debe inspeccionar a
conciencia el resultado de cada
prueba para, as, descubrir
posibles sntomas de defectos.
Cada caso de prueba debe
definir el resultado de salida
esperado.
Al generar casos de prueba, se
deben incluir tanto datos de
entrada vlidos y esperados
como no vlidos e
inesperados.
Principios de las Pruebas
Las pruebas deben
centrarse en dos objetivos
(es habitual olvidar el
segundo):
Probar si el software no
hace lo que debe hacer.
Probar si el software
hace lo que no debe
hacer, es decir si provoca
efectos secundarios.
Se deben evitar los casos
desechables.
Enfoques de Prueba
PRODUCTO

PRUEBAS DE CAJA BLANCA PRUEBAS DE CAJA NEGRA


Conociendo el funcionamiento del producto, Conociendo la funcin para la que
se desarrollan pruebas que aseguren que fue diseado, se hacen pruebas
todas las piezas encajan, que la operacin que demuestren que cada funcin
interna se ajusta a las especificaciones y es operativa y al mismo tiempo se
que todos los componentes internos se han buscan errores en cada una.
comprobado adecuadamente.
Pruebas sobre la interfaz del
Examen minucioso de detalles software
procedimentales
Facilidad de Prueba
Operatividad
Observabilidad
Controlabilidad
Capacidad de
descomposicin
Simplicidad
Estabilidad
Facilidad de
comprensin
Bondad de una Prueba
Debe tener una alta
probabilidad de
encontrar un error.
No debe ser
redundante.
Debe ser la mejor de
todas las posibles.
No debe ser ni
demasiado sencilla ni
demasiado compleja.
Proceso de Prueba
La depuracin (localizacin y correccin de
defectos).
El anlisis de la estadstica de errores.
Diseo de Casos de Prueba
Enfoque estructural o de caja blanca.
Enfoque funcional o de caja negra.
Enfoque aleatorio.
Pruebas de Caja Blanca
Garantizan que se ejercita por
lo menos una vez todos los
caminos independientes de
cada mdulo.
Ejercitan todas las decisiones
lgicas en sus vertientes
verdadera y falsa.
Ejecutan todos los bucles en
sus lmites y con sus lmites
operacionales.
Ejercitan las estructuras
internas de datos para
asegurar su validez.
Criterios de Cobertura Lgica
Cobertura de Sentencias.
Cobertura de decisiones. Menos Riguroso
(Mas Barato)
Cobertura de
Condiciones.
Criterios de
decisin/Condicin.
Criterio de Condicin
Mltiple.
Criterio de Cobertura de Ms Riguroso
(Ms Caros)
Caminos (impracticable)
Grafos de Flujo

X X

Secuencia Si x Entonces Hacer hasta x Mientras x Hacer


(If x Then Else) (Do Until x) (While x Do )
Repetir

Separar todas las condiciones


Agrupar sentencias simples en bloques
Numerar todos los bloques y tambin las condiciones
Grafo de Flujo (Ejemplo)
Abrir Archivos;
Leer archivo ventas, al final indicar no mas registros
Limpiar linea de impresin 1
WHILE (Haya registros ventas) DO
2
Total Nacional = 0
Total Extranjero = 0 3
WHILE (haya reg. ventas) y (mismo producto) DO
IF (Nacional) THEN
4
Sumar venta Nacional a Total Nacional 5
ELSE
Sumar venta extranjero a total extranjero 6 a12
END IF
Leer Archivo ventas, al final indicar no mas registros 7 8
END WHILE
9
Escribir lnea de listado
Limpiar rea de impresin 10
END WHILE
11
Cerrar Archivos
Variantes Prueba Caja Blanca
Prueba del Camino Bsico.
Prueba de Condicin.
Prueba de Flujo de Datos.
Prueba de Bucles.
Prueba del Camino Bsico
Complejidad
Ciclomtica (La
complejidad de
McCabe V (G))
La mtrica de
McCabe ha sido
muy popular en el
diseo de pruebas.
Es un indicador del
nmero de caminos
independientes que
existen en un grafo.
Clculo Complejidad Ciclomtica
V (G) = a n + 2
V (G) = r
V (G) = c + 1
Donde
a: # de arcos o
aristas del grafo.
n: # de nodos.
r: # de regiones
cerradas del
grafo.
c: # de nodos de
condicin.
Complejidad Ciclomtica
V (G) marca el lmite
mnimo de casos de
prueba para un
programa.
Cuando V (G) >10 la
probabilidad de
defectos en el mdulo
o programa crece
mucho entonces
quizs sea
interesante dividir el
mdulo.
Complejidad Ciclomtica Ej.
1
V (G) =14-11+2=5 a1
a2 a3
V (G) = 5 Regiones a4
2
Cerradas. 3 Regin 1

V (G) = 4+1= 5 a6
a5
4
a7

Condiciones Regin 2 a8

a9
5 Regin 3
a10

a11
6 a12

Regin 4
7 8
a13 a14
9
10
Regin 5
11
Pruebas de Caja Negra
Permiten obtener
conjuntos de
condiciones de entrada
que ejecuten todos los
requisitos funcionales
de un programa.
Las pruebas de caja
negra NO son una
alternativa a las tcnicas
de prueba de caja
blanca. Es un enfoque
complementario.
Pruebas de Caja Negra
Las pruebas de caja negra
intentan hallar errores tales
como:
1. Funciones incorrectas o
ausentes.
2. Errores de interfaz.
3. Errores en estructuras de
datos o en accesos a BD
externas.
4. Errores de rendimiento.
5. Errores de inicializacin y
de terminacin.
Estrategia de Pruebas

Ingeniera del sistema S

Requisitos R
Diseo D

Codificacin C

U Prueba de unidad

I Prueba de integracin

V Prueba de validacin

PS Prueba del sistema


Pruebas de Unidad
Condiciones lmites.
Caminos de control
para asegurar que
se ejecutan al
menos una vez;
luego se prueban
todos los caminos
de manejo de
errores.
Validez Funcional.
Pruebas de Integracin
Usa
fundamentalmente
tcnicas de caja
negra.
Algunas veces usa
tcnicas de prueba
de caja blanca para
asegurar que se
cubren los
principales caminos
de control.
Pruebas de Validacin
Las pruebas de alto nivel
se utilizan para
comprobar si se
cumplen los criterios de
validacin.
La prueba de validacin
se usa para verificar si
se cumplen todos los
requerimientos
funcionales, de
comportamiento y de
rendimiento.
Prueba del Sistema
Operando en condiciones reales.
Pruebas de recuperacin
Pruebas de seguridad
Pruebas de resistencia (pruebas en
situaciones anormales)
Pruebas de rendimiento
Especificacin de la Prueba
1. mbito de la Prueba.
Caractersticas, funcionamiento,
rendimiento y diseo interno que
se van a probar. Se delimita el
esfuerzo de la prueba, se
describen los criterios de
terminacin de cada fase de
prueba.
2. Plan de Prueba. Describe la
estrategia general para la
integracin. Se divide en fases y
construcciones que tratan
caractersticas funcionales y de
comportamiento del software.
Especificacin de la Prueba
3. Procedimiento de Prueba
Orden de integracin (propsito
y mdulos a probar).
Pruebas Unitarias (descripcin
prueba mdulo n).
Entorno de la prueba
(herramientas o tcnicas
especficas).
Datos de los casos de prueba.
Resultados esperados.
4. Resultados de prueba obtenidos.
5. Referencias.
6. Apndices.
Pruebas Alfa y Beta
Para descubrir errores que
pareciera que slo el usuario
puede descubrir.
Prueba Alfa. Se hace en el lugar
de desarrollo y con un cliente que
la realiza. El desarrollador es un
observador del usuario y registra
errores y problemas de uso.
Pruebas Beta. La hacen los
usuarios finales. Se hacen
despus de haber acogido las
pruebas del sistema y las pruebas
alfa.
Preguntas

saguicas@yahoo.com.mx
http://menteerrabunda.blogspot.com/

También podría gustarte