Está en la página 1de 38

Cobertura de Sentencias

Cada sentencia se ejecuta al menos una vez.

Cobertura de Decisiones
Cada sentencia se ejecuta al menos una vez; cada
decisin toma todos los resultados posibles al menos
una vez.

Diplomado en Calidad en el Software

Pruebas de Caja Blanca

Cobertura de Condiciones
Cada sentencia se ejecuta al menos una vez; cada
condicin en la decisin toma todos los posibles
resultados al menos una vez.
Juan Antonio Vega Fernndez
Derechos Reservados, 1999

Cobertura de Decisin/Condicin
Cada sentencia se ejecuta al menos una vez; cada
decisin toma todos los resultados posibles al menos
una vez; cada condicin en la decisin toma todos los
posibles resultados al menos una vez.

Diplomado en Calidad en el Software

Pruebas de Caja Blanca

Cobertura de Condiciones Mltiple


Cada sentencia se ejecuta al menos una vez; todas las
posibles combinaciones de los resultados de la
condicin en cada decisin ocurre al menos una vez.
Juan Antonio Vega Fernndez
Derechos Reservados, 1999

Diplomado en Calidad en el Software

Ejemplo

procedure liability (age, sex, married, premium);


begin
premium := 500;
if ((age < 25) and (sex = male) and (not married)) then
premium := premium + 1500;
else (if (married or (sex = female)) then
premium := premium - 200;
if ((age > 45) and (age < 65) then
premium := premium - 100;)
end;

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Slo hay dos sentencias en el programa y


cualquier combinacin de entradas cubre las
sentencias.

Diplomado en Calidad en el Software

Cobertura de Sentencias

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Cobertura
de
age
Decisiones
IF-1
<25
IF-1
<25
IF-2
*
IF-2
>=25
IF-3
<=45
IF-3
>45, <65

sex

married

caso de
pruebas

Male
Female
Female
Male
Female
*

FALSE
FALSE
*
FALSE
*
*

(1) 23 M F
(2) 23 F F
(2)
(3) 50 M F
(2)
(3)

Diplomado en Calidad en el Software

Cobertura de Decisiones

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Cobertura
de
Condiciones
IF-1
IF-1
IF-2
IF-2
IF-3
IF-3
IF-3
IF-3

age

sex

married

caso de
pruebas

<25
>=25
*
*
<=45
>45
<65
>=65

Female
Male
Male
Female
*
*
*
*

FALSE
TRUE
TRUE
FALSE
*
*
*
*

(1) 23 F F
(2) 30 M T
(2)
(1)
(1)
(3) 70 F F
(2)
(3)

Diplomado en Calidad en el Software

Cobertura de Condiciones

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Cobertura
de
age
Decisiones/
Condiciones
IF-1
<25
IF-1
<25
IF-1
<25
IF-1
>=25
IF-2
*
IF-2
>=25
IF-2
*
IF-2
*
IF-3
<=45
IF-3
>45, <65
IF-3
<=45
IF-3
>45
IF-3
<65
IF-3
>=65

sex

married

caso de
pruebas

Male
Female
Female
Male
Female
Male
Male
Female
*
*
*
*
*
*

FALSE
FALSE
FALSE
TRUE
*
FALSE
TRUE
FALSE
*
*
*
*
*
*

(1) 23 M F
(2) 23 F F
(2)
(3) 70 M T
(2)
(4) 50 M F
(3)
(2)
(2)
(4)
(2)
(4)
(4)
(3)

Diplomado en Calidad en el Software

Cobertura de
Decisin/Condicin

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Cobertura
de
age
Condiciones
Mltiples
IF-1
<25
IF-1
<25
IF-1
<25
IF-1
<25
IF-1
>=25
IF-1
>=25
IF-1
>=25
IF-1
>=25
IF-2
*
IF-2
*
IF-2
*
IF-2
*
IF-3
<=45, >=65
IF-3
<=45, <65
IF-3
>45, >=65
IF-3
>45, <65

Juan Antonio Vega Fernndez

sex

married

caso de
pruebas

Male
Male
Female
Female
Male
Male
Female
Female
Male
Male
Female
Female
*
*
*
*

TRUE
FALSE
TRUE
FALSE
TRUE
FALSE
TRUE
FALSE
TRUE
FALSE
TRUE
FALSE
*
*
*
*

(1) 23 M T
(2) 23 M F
(3) 23 F T
(4) 23 F F
(5) 30 M T
(6) 7 M F
(7) 50 F T
(8) 30 F F
(5)
(6)
(7)
(8)
imposible
(8)
(6)
(7)

Diplomado en Calidad en el Software

Cobertura de
Condiciones Mltiples

Derechos Reservados, 1999

Para el nuevo programa de los triangulos haga las


pruebas por cobertura de sentencia, decisin,
condicin, decisin/condicin, y condicin
mltiple. Trabajen en equipo de 2 a 3 personas.
Compare los casos de prueba obtenidos con los
que hubiera necesitado hacer si se basara en el
primer programa.

Diplomado en Calidad en el Software

Ejercicio

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Pruebas de Bajo Nivel


Pruebas unitarias o de mdulos
Pruebas de Integracin

Pruebas de Alto Nivel

Diplomado en Calidad en el Software

Actividades de Validacin

Pruebas de uso
Pruebas de Funcin
Pruebas del Sistema
Pruebas de aceptacin

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Es el proceso de hacer pruebas sobre los


componentes individuales (subprogramas o
procedimientos) de un programa. El
propsito es encontrar discrepancias entre la
especificacin de la interfaz del mdulo y
su comportamiento real.

Diplomado en Calidad en el Software

Pruebas Unitarias

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Es el proceso de combinar y probar mltiples


componentes ensamblados. El propsito es
encontrar errores en las interfaces entre los
componentes.
La integracin se da a varios niveles

Diplomado en Calidad en el Software

Pruebas de Integracin

mdulos de un programa
programas de un subsistema
Subsistemas de un sistema
Sistemas de una red

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Integracin No-Incremental
Todos los componentes se integran al mismo tiempo y el
resultado integrado se prueba.
Este enfoque no es efectivo por que cuando se produce un
error, ste se puede asociar a diferentes componentes.

Diplomado en Calidad en el Software

Enfoques en las
Pruebas de Integracin

Integracin Incremental
Es cuando probamos un mdulo y lo integramos con los que ya
estn probados.
Tiene la ventaja de que los errores encontrados generalmente
estn asociados con el nuevo mdulo que se acaba de integrar.
Juan Antonio Vega Fernndez
Derechos Reservados, 1999

Es el proceso de encontrar discrepancias entre las


interfaces del usuario y los requerimientos
cognitivos de los posibles usuarios.
Involucra que los usuarios tengan que trabajar con
el producto o con una simulacin de este.
A diferencia de las pruebas betas, que tambin
involucran al usuario, las pruebas de uso se deben
hacer lo antes posible en el ciclo de desarrollo.

Diplomado en Calidad en el Software

Pruebas de Uso

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Accesabilidad:
Pueden los usuarios entrar, navegar y salir con relativa
facilidad?

Calidad de Respuesta

Diplomado en Calidad en el Software

Caracteristicas de
Uso que Pueden ser Probadas

Pueden los usuarios hacer lo que quieren hacer,


cuando ellos quieren y de manera clara?

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Eficiencia
Pueden los usuarios hacer lo que quieren en una
cantidad mnima de pasos y tiempo?

Comprensibilidad

Diplomado en Calidad en el Software

Caracteristicas de
Uso que Pueden ser Probadas

Pueden los usuarios entender la estructura del


producto, su sistema de ayuda en lnea y la
documentacin?

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Define los objetivos de la prueba


Define a los sujetos precisamente y contrtalos.
Planea las pruebas y desarrolla todos los materiales necesarios.
Pon a los sujetos en el cuarto de trabajo o laboratorio con sus
estaciones de trabajo, posiblemente usando videocmaras y
espejos de doblevista.
Conduce la prueba
Usando videocamaras u observadores humanos, registra cada
palabra y gesto del sujeto.
Expertos (psiclogos cognitivos, antroplogos, filsofos) y
desarrolladores analizan los resultados y recomiendan cambios.

Diplomado en Calidad en el Software

Proceso de las Pruebas de Uso

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Es el proceso de detectar discrepancias entre la


especificacin funcional del programa y su
comportamiento real.
Cuando se detecta una discrepancia, el programa o
la especificacin puede ser incorrecta.
Todos los mtodos de caja negra de pruebas
basadas en funcin se pueden aplicar aqui.

Diplomado en Calidad en el Software

Pruebas de Funcin

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Analiza la especificacin del diseo funcional.


Particin la funcionalidad en componentes lgicos y por cada
componente haz una lista de funciones detalladas.
Para cada funcin, utilice los mtodos de caja negra para
determinar entradas y salidas.
Desarrolla los casos de prueba funcionales.
Desarrolla una Matriz de Cobertura Funcional.
Ejecuta los casos de prueba y mide la cobertura alcanzada.
Desarrolla pruebas funcionales adicionales hasta cubrir la
totalidad de las funciones.

Diplomado en Calidad en el Software

Pasos para
Pruebas de Funcin

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Es el proceso de demostrar que el programa


o sistema hace lo que debe de hacer de
acuerdo a las especificaciones de los
requerimientos.
Asegurarse que el sistema cumple con las
metas y objetivos.

Diplomado en Calidad en el Software

Pruebas del Sistema

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Pruebas de Volumen
Determinar si el programa puede manejar los
volmenes requeridos de datos, solicitudes de
conexin, etc.

Pruebas de Carga/Tensin

Diplomado en Calidad en el Software

Tipos de Pruebas del Sistema

Identificar las condiciones de carga pico en las cuales el


programa fallar en manejar las cargas de
procesamiento requeridas dentro del periodo de tiempo
requerido.
Juan Antonio Vega Fernndez
Derechos Reservados, 1999

Pruebas de Seguridad
Mostrar que los requerimientos de seguridad se
cumplen.

Pruebas de Rendimiento

Diplomado en Calidad en el Software

Tipos de Pruebas del Sistema

Determinar si el programa cumple con los


requerimientos de rendimiento.

Pruebas de Uso de Recursos


Determinar si el programa utiliza recursos (RAM, HD,
etc.) que exceden lo establecido en los requerimientos.
Juan Antonio Vega Fernndez
Derechos Reservados, 1999

Pruebas de Configuracin
Determinar si el programa funciona adecuadamente
cuando el software o el hardware es configurado de
diferente manera.

Pruebas de Compatibilidad/Conversin

Diplomado en Calidad en el Software

Tipos de Pruebas del Sistema

Determinar si los objetivos de compatibilidad del


programa se cumplen y si los procedimientos de
conversin funcionan adecuadamente.
Juan Antonio Vega Fernndez
Derechos Reservados, 1999

Pruebas de Instalacin
Identificar los procedimientos de instalacin que
pueden llevar a resultados incorrectos.

Pruebas de Recuperacin

Diplomado en Calidad en el Software

Tipos de Pruebas del Sistema

Determinar si el sistema o programa cumple los


requerimientos de recuperacin de una falla.

Pruebas de Servicio/Confiabilidad/Disponibilidad
Determinar si las condiciones de
servicio/confiabilidad/disponibilidad se cumplen.
Juan Antonio Vega Fernndez
Derechos Reservados, 1999

Es el proceso de comparar el producto final con las


necesidades actuales de los usuarios finales.
Generalmente es realizada por los usuarios finales
o clientes e involucra correr y operar el software a
modo de produccin por un perodo de tiempo
especificado previamente.
Si el software se desarrolla bajo contrato, las
pruebas de aceptacin las realiza el cliente y el
criterio de aceptacin se define en el contrato.

Diplomado en Calidad en el Software

Pruebas de Aceptacin

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Si el software no se desarrolla bajo contrato, la


organizacin desarrolladora puede utilizar las formas
Alpha y Beta de pruebas de aceptacin.
Las pruebas Alpha generalmente se realizan por
usuarios finales dentro de la organizacin que
desarroll el software.
Las pruebas Beta generalmente se realizan por un
subconjunto seleccionado de los clientes reales, fuera de
la compaa antes de que el software sea disponible
para todos los usuarios.

Diplomado en Calidad en el Software

Pruebas Alpha y Beta

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Pruebas Progresivas
El proceso de probar cdigo nuevo para
determinar si contiene errores.

Pruebas Regresivas

Diplomado en Calidad en el Software

Pruebas
Progresivas/Regresivas

El proceso de probar un programa para


determinar si los cambios han introducido
errores al cdigo que no se ha alterado.
Juan Antonio Vega Fernndez
Derechos Reservados, 1999

Tanto las pruebas Alpha como Beta, son


ms efectivas como pruebas regresivas.
Los usuarios deben estar altamente
motivados para usar el producto.
Algunas organizaciones dan bonos
financieros importantes para los usuarios
que encuentran errores graves.

Diplomado en Calidad en el Software

Pruebas de Aceptacin

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Diplomado en Calidad en el Software

Tendencias en Software Testing

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Grafical User Interface


Involucra un diferente dispositivo de entrada
(ratn) y el despliegue en una pantalla a colores
de alta resolucin.
GUI Testing es casi imposible de hacer sin
automatizacin.
En ocaciones involucra el hacer pruebas de uso.

Diplomado en Calidad en el Software

Tendencias Actuales en Testing

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Pruebas Estadsticas de Utilizacin


Involucra identificar los patrones de utilizacin
del sistema
Proceso de Pruebas

Diplomado en Calidad en el Software

Tendencias Actuales en Testing

Testing inicial basado en patrones de uso estimados


Recoleccin de datos sobre el uso real del sistema y
desorrollo de un perfil operacional.
Ajuste de prioridades, desarrollo de nuevas pruebas, y
ejecucin de pruebas basado en el perfil operacional.
Juan Antonio Vega Fernndez
Derechos Reservados, 1999

Proporcin testers-a-developers
Histricamente en sistemas mainframes se daba
1:5-10
Datos ms recientes indican:
Microsoft, 1992
Lotus (1-2-3 para Win)
Promedio de Microsoft,
Borland, WordPerfect, y
Novell, 1992

Diplomado en Calidad en el Software

Tendencias Actuales en Testing

2:3
2:1

1:2

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Diplomado en Calidad en el Software

Caso de Estudio
Microsoft Internet Explorer 4.0

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Microsoft generalmente se enfoca en


reclutar a los mejores programadores.
Muchas tcnicas para detectar y sobretodo
evitar errores se basan en buenas tcnicas
de programacin.
Se tratan de detectar errores con tcnicas de
caja blanca.

Diplomado en Calidad en el Software

Caso de Estudio
Microsoft

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

El ratio testers-developers cambia


dependiendo del producto y la divisin en
particular dentro de microsoft:
2:3 para Windows 3.1
1:2 en promedio
2:1 Windows NT

Diplomado en Calidad en el Software

Microsoft

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

La WWW representa una de los ambientes para el


desarrollo de productos ms retadores en la historia.
Las necesidades y tecnologas que un producto intenta
cubrir cambian drsticamente, an mientras el producto
est en desarrollo.
La solucin est en un proceso de desarrollo altamente
flexible.
Esta innovacin permite que las compaas de Internet
incorporen cambios rpidamente a su diseo hasta el
ltimo momento posible antes de que el producto salga al
mercado.

Diplomado en Calidad en el Software

Microsoft e Internet

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Internet Explorer se liber cuando el equipo


pens que ya estaba listo, utilizando su
juicio profesional y a conciencia.
Se tienen diferentes expectativas para
diferentes tipos de clientes en tiempo
diferentes y los clientes leading edge
estaban muy contento con la nueva versin

Diplomado en Calidad en el Software

IE 4

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Siempre se est haciendo un compromiso entre la


probabilidad del problema VS cuando liberar el
producto. En ocasiones las presiones del mercado
forzan a liberar un producto antes de tiempo, pero
esto lo demanda el mercado y no es una mala
decisin para la compaa.
El compromiso cambia para IE, Windows NT, the
Age of Empire, etc.

Diplomado en Calidad en el Software

IE 4

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

También podría gustarte