Diplomado en Calidad en el Software Derechos Reservados, 1999 Juan Antonio Vega Fernández Pruebas...
-
Upload
margaretta-alegria -
Category
Documents
-
view
15 -
download
1
Transcript of Diplomado en Calidad en el Software Derechos Reservados, 1999 Juan Antonio Vega Fernández Pruebas...
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
Pruebas de Caja BlancaPruebas 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
decisión toma todos los resultados posibles al menos una vez.
• 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.
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
• 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.
• 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.
Pruebas de Caja BlancaPruebas de Caja Blanca
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
EjemploEjemplo
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;
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
• Sólo hay dos sentencias en el programa y cualquier combinación de entradas cubre las sentencias.
Cobertura de SentenciasCobertura de Sentencias
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
Cobertura de DecisionesCobertura de Decisiones
Cobertura de
Decisionesage sex married
caso de pruebas
IF-1 <25 Male FALSE (1) 23 M FIF-1 <25 Female FALSE (2) 23 F FIF-2 * Female * (2)IF-2 >=25 Male FALSE (3) 50 M FIF-3 <=45 Female * (2)IF-3 >45, <65 * * (3)
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
Cobertura de CondicionesCobertura de Condiciones
Cobertura de
Condiciones
age sex marriedcaso de pruebas
IF-1 <25 Female FALSE (1) 23 F FIF-1 >=25 Male TRUE (2) 30 M TIF-2 * Male TRUE (2)IF-2 * Female FALSE (1)IF-3 <=45 * * (1)IF-3 >45 * * (3) 70 F FIF-3 <65 * * (2)IF-3 >=65 * * (3)
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
Cobertura de Cobertura de Decisión/CondiciónDecisión/Condición
Cobertura de
Decisiones/ Condiciones
age sex marriedcaso de pruebas
IF-1 <25 Male FALSE (1) 23 M FIF-1 <25 Female FALSE (2) 23 F FIF-1 <25 Female FALSE (2)IF-1 >=25 Male TRUE (3) 70 M TIF-2 * Female * (2)IF-2 >=25 Male FALSE (4) 50 M FIF-2 * Male TRUE (3)IF-2 * Female FALSE (2)IF-3 <=45 * * (2)IF-3 >45, <65 * * (4)IF-3 <=45 * * (2)IF-3 >45 * * (4)IF-3 <65 * * (4)IF-3 >=65 * * (3)
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
Cobertura de Cobertura de Condiciones Múltiples Condiciones Múltiples
Cobertura de
Condiciones Múltiples
age sex marriedcaso de pruebas
IF-1 <25 Male TRUE (1) 23 M TIF-1 <25 Male FALSE (2) 23 M FIF-1 <25 Female TRUE (3) 23 F TIF-1 <25 Female FALSE (4) 23 F FIF-1 >=25 Male TRUE (5) 30 M TIF-1 >=25 Male FALSE (6) 7 M FIF-1 >=25 Female TRUE (7) 50 F TIF-1 >=25 Female FALSE (8) 30 F FIF-2 * Male TRUE (5)IF-2 * Male FALSE (6)IF-2 * Female TRUE (7)IF-2 * Female FALSE (8)IF-3 <=45, >=65 * * imposibleIF-3 <=45, <65 * * (8)IF-3 >45, >=65 * * (6)IF-3 >45, <65 * * (7)
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
EjercicioEjercicio
• 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.
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
• Pruebas de Bajo Nivel– Pruebas unitarias o de módulos– Pruebas de Integración
• Pruebas de Alto Nivel– Pruebas de uso– Pruebas de Función– Pruebas del Sistema– Pruebas de aceptación
Actividades de ValidaciónActividades de Validación
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
• 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.
Pruebas UnitariasPruebas Unitarias
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
• 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– módulos de un programa
– programas de un subsistema
– Subsistemas de un sistema
– Sistemas de una red
Pruebas de IntegraciónPruebas de Integración
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
Enfoques en las Enfoques en las Pruebas de IntegraciónPruebas de Integración
• 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.
• 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.
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
• 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.
Pruebas de UsoPruebas de Uso
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
Caracteristicas de Caracteristicas de Uso que Pueden ser ProbadasUso 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?
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
• Eficiencia– ¿Pueden los usuarios hacer lo que quieren en una
cantidad mínima de pasos y tiempo?
• Comprensibilidad– ¿Pueden los usuarios entender la estructura del
producto, su sistema de ayuda en línea y la documentación?
Caracteristicas de Caracteristicas de Uso que Pueden ser ProbadasUso que Pueden ser Probadas
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
• 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.
Proceso de las Pruebas de UsoProceso de las Pruebas de Uso
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
• 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.
Pruebas de FunciónPruebas de Función
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
Pasos para Pasos para Pruebas de FunciónPruebas de Función
• 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.
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
• 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.
Pruebas del SistemaPruebas del Sistema
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
• 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– 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.
Tipos de Pruebas del SistemaTipos de Pruebas del Sistema
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
Tipos de Pruebas del SistemaTipos 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.
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
• 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– Determinar si los objetivos de compatibilidad del
programa se cumplen y si los procedimientos de conversión funcionan adecuadamente.
Tipos de Pruebas del SistemaTipos de Pruebas del Sistema
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
• Pruebas de Instalación– Identificar los procedimientos de instalación que
pueden llevar a resultados incorrectos.
• Pruebas de Recuperación– 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.
Tipos de Pruebas del SistemaTipos de Pruebas del Sistema
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
• 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.
Pruebas de AceptaciónPruebas de Aceptación
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
• 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.
Pruebas Alpha y BetaPruebas Alpha y Beta
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
• Pruebas Progresivas– El proceso de probar código nuevo para
determinar si contiene errores.
• Pruebas Regresivas– El proceso de probar un programa para
determinar si los cambios han introducido errores al código que no se ha alterado.
Pruebas Pruebas Progresivas/RegresivasProgresivas/Regresivas
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
• 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.
Pruebas de AceptaciónPruebas de Aceptación
Tendencias en Software TestingTendencias en Software Testing
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
• 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.
Tendencias Actuales en TestingTendencias Actuales en Testing
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
• Pruebas Estadísticas de Utilización– Involucra identificar los patrones de utilización
del sistema– Proceso de Pruebas
• 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.
Tendencias Actuales en TestingTendencias Actuales en Testing
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
Tendencias Actuales en TestingTendencias Actuales en Testing
• 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, yNovell, 1992 1:2
Caso de EstudioCaso de Estudio
Microsoft Internet Explorer 4.0
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
Caso de EstudioCaso de EstudioMicrosoftMicrosoft
• 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.
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
MicrosoftMicrosoft
• 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
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
Microsoft e InternetMicrosoft e Internet
• 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.
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
• 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
IE 4
Dip
lom
ado
en C
alid
ad e
n el
Sof
twar
eD
iplo
mad
o en
Cal
idad
en
el S
oftw
are
Derechos Reservados, 1999
Juan Antonio Vega FernándezJuan Antonio Vega Fernández
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 decisión para la compañía.
• El compromiso cambia para IE, Windows NT, the Age of Empire, etc.