Professional Documents
Culture Documents
2
Introduccin
El fin es el de entregar productos de calidad.
La calidad puede descomponerse en 6
atributos:
Funcionalidad.
Fiabilidad.
Eficiencia.
Usabilidad.
Mantenibilidad.
Portabilidad.
3
Tipos de evaluaciones
Verificacin, proceso para determinar si
un producto cumple con los requisitos
pre-establecidos.
Validacin, proceso al final del proceso de
desarrollo para asegurar el cumplimiento
de las necesidades del cliente.
4
Tcnicas de evaluacin
Estticas, estudian los distintos modelos
que componen el sistema de software
buscando posibles fallas en los mismos.
Acompaa a las distintas etapas de
desarrollo del software. (top-down)
Dinmicas (o testing), se pone el sistema a
funcionar buscando defectos entre la
salida esperada y la real. (bottom-up)
5
La evaluacin esttica
Los defectos que se buscan al evaluar son:
Requisitos:
Correccin, correctamente lo que debe hacer.
Completitud, todo lo que tiene que hacer.
Ambigedad, los req. No pueden estar sujetos a
interpretacion.
Claridad, se entiende claramente lo que se esta
especificando.
6
La evaluacin esttica
Diseo:
Correccin, el diseo no debe contener errores.
Complecin, nada falta, nada sobra.
Factibilidad, El diseo debe ser realizable.
Tranzabilidad, desde un requisito hasta el fragmento de diseo
donde ste se encuentre representado.
Cdigo fuente
Correccin, no debe contener errores.
Complecin
Consistencia.
Tranzabilidad.
8
La evaluacin esttica
Inspecciones
Verificar y validar un producto software
manualmente. Proceso bien definido y
disciplinado donde un equipo de personas
analizan un producto.
El proceso de Inspeccin
1. Inicio, planificacin y lanzamiento.
2. Deteccin de defectos
3. Coleccin, compilacin e inspeccin en grupo.
4. Correccin y seguimiento.
9
La evaluacin esttica
Heursticas:
Encontrar muchas faltas es sospechoso.
Encontrar muy pocas faltas tambin es
sospechoso.
La estimacin mas fiable es la coincidencia de
faltas encontradas entre distintos inspectores.
(Mtodos de estimaciones Captura-
Recaptura)
12
Tcnicas de evaluacin dinmica
Contexto de prueba de software.
Configuracin
del software
Resultados de
Prueba Evaluacin
la prueba
Configuracin
de la prueba Datos de Fallos
Resultados tasa de error
esperados
Modelo de
Depuracion
fiabilidad
Prediccion Correcciones
fiabilidad
13
Pruebas al Software
La prueba es una actividad costosa.
Debemos elevar la calidad de los
programas o sistemas informticos que
estn probando.
La prueba es el proceso de ejecucin de
un programa con el propsito de
encontrar errores.
14
Tcnicas de Prueba de Caja Blanca
Por lo general el programador las hace
como parte de pruebas de unidad (Unit
Test).
Intentan garantizar que:
Se ejecutan al menos una vez todos los
caminos independientes de cada mdulo.
Se utilizan las decisiones en su parte
verdadera y en su parte falsa
Se ejecuten todos los bucles en sus lmites.
15
Tcnica de prueba de caja blanca:
Prueba del Camino Bsico
16
Prueba del Camino Bsico
(1) Calcular la complejidad ciclomtica
V(G) = A-N+2
V(G)=11-9+2=4
V(G)=Nro Regiones
V(G)=NroNodosLgicos+1
17
Prueba del Camino Bsico
18
Pensar en un
algoritmo para la
automatizacin del
conjunto de
caminos
independientes.
19
Ejercicios: Disear casos de prueba
funcion obtener_media: real ;
Var n, suma, conta, suma2, total_num: integer;
Begin
read (n);
repeat
if ( n>= 20 or n <= 50) then begin
suma := suma + n;
conta := conta + 1;
end
else
suma2 := suma2 + n;
total_num := total_num + 1;
read (n);
until n = 0;
obtener_media := suma / conta;
write (total_num, suma2);
End;
20
Tcnicas de evaluacin dinmica
Pruebas de caja negra o funcionales
Se basan en la especificacin del programa (o
componente) para elaborar los casos de prueba.
Se debe seleccionar un conjunto de entradas y salidas
para realizar las pruebas.
Criterios para confeccionar las casos de prueba de
caja negra: Particiones de equivalencia, Anlisis de
valores limite, Mtodos basados en grafo, Pruebas de
comparacin, Anlisis Causa-Efecto.
21
Tcnicas de Prueba de Caja Negra
Particiones de equivalencia
1. Identificar clases de equivalencia.
Las clases de equivalencia representan conjuntos (estados
validos o no-validos) para condiciones de entrada
22
Tcnicas de evaluacin dinmica
Pausas para identificar las clases de equivalencia
correspondientes:
Si una condicin de entrada especifica un rango de
valores, identificar 1 clase de equivalencia valida y 2
no validas.
Si una condicin de entrada especifica un valor o
numero de valores, identificar 1 clase de equivalencia
valida y 2 no validas.
Si una condicin de entrada especifica un conjunto
valores de entrada, identificar 1 clase de equivalencia
valida y 1 no valida.
Si una condicin de entrada especifica una situacion
que debe ocurrir, identificar 1 clase de equivalencia
valida y 1 no valida.
23
Tcnicas de evaluacin dinmica
2. Identificar los casos de prueba
El objetivo es minimizar el numero de casos de prueba.
Seguir los siguientes pasos:
Asignar a cada clase de equivalencia un numero nico.
Hasta que todas las clases de equivalencia hayan sido cubiertas
por los casos de prueba, se tratara de escribir un caso que
cubra tantas clases validas no incorporadas como sea posible.
Hasta que todas las clases de equivalencia no validas hayan
sido cubiertas por casos de prueba, escribir un caso para
cubrir una nica clase no valida no cubierta.
24
Tcnicas de evaluacin dinmica
Anlisis de valores limite
Las condiciones limite son aquellas que se
hallan en los mrgenes de equivalencia.
Elegir casos de prueba en los extremos.
En lugar de centrarse solo en el dominio de
entrada, los casos de prueba se disean
tambin considerando el dominio de salida.
25
Estrategias de Prueba
A la hora de evaluar dinmicamente un
sistema de software se debe permitir
comenzar por los componentes mas
simples y pequeos. Los pasos sig:
Pruebas unitarias (mdulos)
Un modulo es un bloque bsico de construccin de
programas.
Implementa una funcin independiente y simple.
Probado % separado.
26
Estrategias de Prueba
Pruebas de integracin
Integracin no incremental, todo el conjunto.
Integracin incremental, ascendente.
MC
MA
MB
C1 C2 C3
Grupo1 Grupo3
Grupo2
M1
M2
R3
M4 R7 M3
R5 R6
M7
M5 M6
32
Casos de prueba a partir de un diagrama
de secuencias
Definir el conjunto de secuencia de mensajes.
Analizar sub-secuencias de mensajes a partir de
posibles caminos condicionales en los diagramas
de secuencia.
Identificar los casos de prueba que se han de
introducir al sistema para que se ejecuten las
secuencias de mensajes anteriores, en funcin a
los mtodos y las clases afectadas por la
secuencia.
33
Pruebas Orientadas a Objeto
Prueba del sistema, se centra en las
acciones visibles del usuario y las salidas
del sistema reconocibles por ste.
Prueba de aceptacin, los clientes sern
quienes realicen estas pruebas y
suministren los casos de prueba.
35