Você está na página 1de 38

Pruebas de Caja Blanca

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.

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

Diplomado en Calidad en el Software

Pruebas de Caja Blanca


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.

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

Diplomado en Calidad en el Software

Cobertura de Sentencias
Slo hay dos sentencias en el programa y cualquier combinacin de entradas cubre las sentencias.

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Diplomado en Calidad en el Software

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

sex Male Female Female Male Female *

married FALSE FALSE * FALSE * *

caso de pruebas (1) 23 M F (2) 23 F F (2) (3) 50 M F (2) (3)

Derechos Reservados, 1999

Diplomado en Calidad en el Software

Cobertura de Condiciones
Cobertura de Condiciones IF-1 IF-1 IF-2 IF-2 IF-3 IF-3 IF-3 IF-3 age <25 >=25 * * <=45 >45 <65 >=65 sex Female Male Male Female * * * * married FALSE TRUE TRUE FALSE * * * * caso de pruebas (1) 23 F F (2) 30 M T (2) (1) (1) (3) 70 F F (2) (3)

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Diplomado en Calidad en el Software

Cobertura de Decisin/Condicin
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 Male Female Female Male Female Male Male Female * * * * * * married FALSE FALSE FALSE TRUE * FALSE TRUE FALSE * * * * * * caso de pruebas (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)

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Diplomado en Calidad en el Software

Cobertura de Condiciones Mltiples


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 sex Male Male Female Female Male Male Female Female Male Male Female Female * * * * married TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE * * * * caso de pruebas (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)

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Diplomado en Calidad en el Software

Ejercicio
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.

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Diplomado en Calidad en el Software

Actividades de Validacin
Pruebas de Bajo Nivel
Pruebas unitarias o de mdulos Pruebas de Integracin

Pruebas de Alto Nivel


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

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Diplomado en Calidad en el Software

Pruebas Unitarias
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.

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Diplomado en Calidad en el Software

Pruebas de Integracin
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
mdulos de un programa programas de un subsistema Subsistemas de un sistema Sistemas de una red

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Diplomado en Calidad en el Software

Enfoques en las Pruebas de Integracin


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.

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

Diplomado en Calidad en el Software

Pruebas de Uso
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.
Juan Antonio Vega Fernndez

Derechos Reservados, 1999

Diplomado en Calidad en el Software

Caracteristicas de Uso que Pueden ser Probadas


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

Calidad de Respuesta
Pueden los usuarios hacer lo que quieren hacer, cuando ellos quieren y de manera clara?

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Diplomado en Calidad en el Software

Caracteristicas de Uso que Pueden ser Probadas


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

Comprensibilidad
Pueden los usuarios entender la estructura del producto, su sistema de ayuda en lnea y la documentacin?

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Diplomado en Calidad en el Software

Proceso de las Pruebas de Uso


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.
Juan Antonio Vega Fernndez

Derechos Reservados, 1999

Diplomado en Calidad en el Software

Pruebas de Funcin
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.

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Diplomado en Calidad en el Software

Pasos para Pruebas de Funcin


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.

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Diplomado en Calidad en el Software

Pruebas del Sistema


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.

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Diplomado en Calidad en el Software

Tipos de Pruebas del Sistema


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

Pruebas de Carga/Tensin
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

Diplomado en Calidad en el Software

Tipos de Pruebas del Sistema


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

Pruebas de Rendimiento
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

Diplomado en Calidad en el Software

Tipos de Pruebas del Sistema


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

Pruebas de Compatibilidad/Conversin
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

Diplomado en Calidad en el Software

Tipos de Pruebas del Sistema


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

Pruebas de Recuperacin
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

Diplomado en Calidad en el Software

Pruebas de Aceptacin
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.
Juan Antonio Vega Fernndez

Derechos Reservados, 1999

Diplomado en Calidad en el Software

Pruebas Alpha y Beta


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.
Juan Antonio Vega Fernndez

Derechos Reservados, 1999

Diplomado en Calidad en el Software

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

Pruebas 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

Diplomado en Calidad en el Software

Pruebas de Aceptacin
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.
Juan Antonio Vega Fernndez

Derechos Reservados, 1999

Diplomado en Calidad en el Software

Tendencias en Software Testing

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Diplomado en Calidad en el Software

Tendencias Actuales en Testing


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.
Juan Antonio Vega Fernndez

Derechos Reservados, 1999

Diplomado en Calidad en el Software

Tendencias Actuales en Testing


Pruebas Estadsticas de Utilizacin
Involucra identificar los patrones de utilizacin del sistema Proceso de Pruebas
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

Diplomado en Calidad en el Software

Tendencias Actuales en Testing


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

1:2
Derechos Reservados, 1999

Diplomado en Calidad en el Software

Caso de Estudio
Microsoft Internet Explorer 4.0

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Diplomado en Calidad en el Software

Caso de Estudio Microsoft


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.
Juan Antonio Vega Fernndez

Derechos Reservados, 1999

Diplomado en Calidad en el Software

Microsoft
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

Juan Antonio Vega Fernndez


Derechos Reservados, 1999

Diplomado en Calidad en el Software

Microsoft e Internet
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.
Juan Antonio Vega Fernndez

Derechos Reservados, 1999

Diplomado en Calidad en el Software

IE 4
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
Juan Antonio Vega Fernndez

Derechos Reservados, 1999

Diplomado en Calidad en el Software

IE 4
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.
Juan Antonio Vega Fernndez

Derechos Reservados, 1999

Diplomado en Calidad en el Software

Você também pode gostar