• Cobertura de Sentencias
– Cada sentencia se ejecuta al menos una vez.
• Cobertura de Decisiones
– Cada sentencia se ejecuta al menos una vez; cada
decisión 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
condición en la decisión toma todos los posibles
resultados al menos una vez.
Juan Antonio Vega Fernández
 Derechos Reservados, 1999
• Cobertura de Decisión/Condición
– Cada sentencia se ejecuta al menos una vez; cada
decisión toma todos los resultados posibles al menos
una vez; cada condición en la decisión toma todos los
posibles resultados al menos una vez.
Diplomado en Calidad en el Software
Pruebas de Caja Blanca
• Cobertura de Condiciones Múltiple
– Cada sentencia se ejecuta al menos una vez; todas las
posibles combinaciones de los resultados de la
condición en cada decisión ocurre al menos una vez.
Juan Antonio Vega Fernández
 Derechos Reservados, 1999
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;
Diplomado en Calidad en el Software
Ejemplo
Juan Antonio Vega Fernández
 Derechos Reservados, 1999
• Sólo hay dos sentencias en el programa y
cualquier combinación de entradas cubre las
sentencias.
Diplomado en Calidad en el Software
Cobertura de Sentencias
Juan Antonio Vega Fernández
 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 Fernández
 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 Fernández
 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
Decisión/Condición
Juan Antonio Vega Fernández
 Derechos Reservados, 1999
Cobertura
de
age
Condiciones
Múltiples
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
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 Múltiples
Juan Antonio Vega Fernández
 Derechos Reservados, 1999
• Para el nuevo programa de los triangulos haga las
pruebas por cobertura de sentencia, decisión,
condición, decisión/condición, y condición
múltiple. 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 Fernández
 Derechos Reservados, 1999
• Pruebas de Bajo Nivel
– Pruebas unitarias o de módulos
– Pruebas de Integración
• Pruebas de Alto Nivel
–
–
–
–
Diplomado en Calidad en el Software
Actividades de Validación
Pruebas de uso
Pruebas de Función
Pruebas del Sistema
Pruebas de aceptación
Juan Antonio Vega Fernández
 Derechos Reservados, 1999
• Es el proceso de hacer pruebas sobre los
componentes individuales (subprogramas o
procedimientos) de un programa. El
propósito es encontrar discrepancias entre la
especificación de la interfaz del módulo y
su comportamiento real.
Diplomado en Calidad en el Software
Pruebas Unitarias
Juan Antonio Vega Fernández
 Derechos Reservados, 1999
• Es el proceso de combinar y probar múltiples
componentes ensamblados. El propósito es
encontrar errores en las interfaces entre los
componentes.
• La integración se da a varios niveles
–
–
–
–
Diplomado en Calidad en el Software
Pruebas de Integración
módulos de un programa
programas de un subsistema
Subsistemas de un sistema
Sistemas de una red
Juan Antonio Vega Fernández
 Derechos Reservados, 1999
• Integración 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 Integración
• Integración Incremental
– Es cuando probamos un módulo y lo integramos con los que ya
están probados.
– Tiene la ventaja de que los errores encontrados generalmente
están asociados con el nuevo módulo que se acaba de integrar.
Juan Antonio Vega Fernández
 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 simulación de este.
• A diferencia de las pruebas betas, que también
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 Fernández
 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 Fernández
 Derechos Reservados, 1999
• Eficiencia
– ¿Pueden los usuarios hacer lo que quieren en una
cantidad mínima 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 línea y la
documentación?
Juan Antonio Vega Fernández
 Derechos Reservados, 1999
•
•
•
•
Define los objetivos de la prueba
Define a los sujetos precisamente y contrátalos.
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 videocámaras y espejos
de doblevista.
• Conduce la prueba
• Usando videocamaras u observadores humanos, registra cada
palabra y gesto del sujeto.
• Expertos (psicólogos cognitivos, antropólogos, filósofos) y
desarrolladores analizan los resultados y recomiendan cambios.
Diplomado en Calidad en el Software
Proceso de las Pruebas de Uso
Juan Antonio Vega Fernández
 Derechos Reservados, 1999
• Es el proceso de detectar discrepancias entre la
especificación funcional del programa y su
comportamiento real.
• Cuando se detecta una discrepancia, el programa o
la especificación puede ser incorrecta.
• Todos los métodos de caja negra de pruebas
basadas en función se pueden aplicar aqui.
Diplomado en Calidad en el Software
Pruebas de Función
Juan Antonio Vega Fernández
 Derechos Reservados, 1999
• Analiza la especificación del diseño funcional.
• Partición la funcionalidad en componentes lógicos y por cada
componente haz una lista de funciones detalladas.
• Para cada función, utilice los métodos 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 Función
Juan Antonio Vega Fernández
 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 Fernández
 Derechos Reservados, 1999
• Pruebas de Volumen
– Determinar si el programa puede manejar los
volúmenes requeridos de datos, solicitudes de
conexión, etc.
• Pruebas de Carga/Tensión
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 Fernández
 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 Fernández
 Derechos Reservados, 1999
• Pruebas de Configuración
– Determinar si el programa funciona adecuadamente
cuando el software o el hardware es configurado de
diferente manera.
• Pruebas de Compatibilidad/Conversión
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
conversión funcionan adecuadamente.
Juan Antonio Vega Fernández
 Derechos Reservados, 1999
• Pruebas de Instalación
– Identificar los procedimientos de instalación que
pueden llevar a resultados incorrectos.
• Pruebas de Recuperación
Diplomado en Calidad en el Software
Tipos de Pruebas del Sistema
– Determinar si el sistema o programa cumple los
requerimientos de recuperación de una falla.
• Pruebas de Servicio/Confiabilidad/Disponibilidad
– Determinar si las condiciones de
servicio/confiabilidad/disponibilidad se cumplen.
Juan Antonio Vega Fernández
 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 producción por un período de tiempo
especificado previamente.
• Si el software se desarrolla bajo contrato, las
pruebas de aceptación las realiza el cliente y el
criterio de aceptación se define en el contrato.
Diplomado en Calidad en el Software
Pruebas de Aceptación
Juan Antonio Vega Fernández
 Derechos Reservados, 1999
• Si el software no se desarrolla bajo contrato, la
organización desarrolladora puede utilizar las formas
Alpha y Beta de pruebas de aceptación.
• Las pruebas Alpha generalmente se realizan por
usuarios finales dentro de la organización que
desarrolló el software.
• Las pruebas Beta generalmente se realizan por un
subconjunto seleccionado de los clientes reales, fuera de
la compañía antes de que el software sea disponible
para todos los usuarios.
Diplomado en Calidad en el Software
Pruebas Alpha y Beta
Juan Antonio Vega Fernández
 Derechos Reservados, 1999
• Pruebas Progresivas
– El proceso de probar código 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 código que no se ha alterado.
Juan Antonio Vega Fernández
 Derechos Reservados, 1999
• Tanto las pruebas Alpha como Beta, son
más 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 Aceptación
Juan Antonio Vega Fernández
 Derechos Reservados, 1999
Diplomado en Calidad en el Software
Tendencias en Software Testing
Juan Antonio Vega Fernández
 Derechos Reservados, 1999
• Grafical User Interface
– Involucra un diferente dispositivo de entrada
(ratón) y el despliegue en una pantalla a colores
de alta resolución.
– GUI Testing es casi imposible de hacer sin
automatización.
– En ocaciones involucra el hacer pruebas de uso.
Diplomado en Calidad en el Software
Tendencias Actuales en Testing
Juan Antonio Vega Fernández
 Derechos Reservados, 1999
• Pruebas Estadísticas de Utilización
– Involucra identificar los patrones de utilización
del sistema
– Proceso de Pruebas
Diplomado en Calidad en el Software
Tendencias Actuales en Testing
• Testing inicial basado en patrones de uso estimados
• Recolección de datos sobre el uso real del sistema y
desorrollo de un perfil operacional.
• Ajuste de prioridades, desarrollo de nuevas pruebas, y
ejecución de pruebas basado en el perfil operacional.
Juan Antonio Vega Fernández
 Derechos Reservados, 1999
• Proporción testers-a-developers
– Históricamente en sistemas mainframes se daba
1:5-10
– Datos más recientes indican:
• Microsoft, 1992
2:3
• Lotus (1-2-3 para Win)
2:1
• Promedio de Microsoft,
Borland, WordPerfect, y
Novell, 1992
Diplomado en Calidad en el Software
Tendencias Actuales en Testing
1:2
Juan Antonio Vega Fernández
 Derechos Reservados, 1999
Diplomado en Calidad en el Software
Caso de Estudio
Microsoft Internet Explorer 4.0
Juan Antonio Vega Fernández
 Derechos Reservados, 1999
• Microsoft generalmente se enfoca en
reclutar a los mejores programadores.
• Muchas técnicas para detectar y sobretodo
evitar errores se basan en buenas técnicas de
programación.
• Se tratan de detectar errores con técnicas de
caja blanca.
Diplomado en Calidad en el Software
Caso de Estudio
Microsoft
Juan Antonio Vega Fernández
 Derechos Reservados, 1999
• El ratio testers-developers cambia
dependiendo del producto y la división 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 Fernández
 Derechos Reservados, 1999
• La WWW representa una de los ambientes para el
desarrollo de productos más retadores en la historia.
• Las necesidades y tecnologías que un producto intenta
cubrir cambian drásticamente, aún mientras el producto
está en desarrollo.
• La solución está en un proceso de desarrollo altamente
flexible.
• Esta innovación permite que las compañías de Internet
incorporen cambios rápidamente a su diseño 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 Fernández
 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 versión
Diplomado en Calidad en el Software
IE 4
Juan Antonio Vega Fernández
 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
decisión para la compañía.
• El compromiso cambia para IE, Windows NT, the
Age of Empire, etc.
Diplomado en Calidad en el Software
IE 4
Juan Antonio Vega Fernández
 Derechos Reservados, 1999
Descargar

Pruebas de Caja Blanca