Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Integración
Integración
Contenido
Pruebas en gran escala
Prueba Prueba Prueba Prueba de de de de Unidad Integracin Sistema Aceptacin
Plan de Pruebas
Estrategia Ambientes de Prueba
Depuracin
(c) Carlos Alberto Fau 2
Especificacin
Arquitectura
Codificacin
Prueba de Unidad
Prueba un mdulo en forma independiente Generalmente la realiza el rea que construy el mdulo Se basa en la Descripcin del Diseo Detallado Conductor Tipos de prueba
Interface Estructuras de datos locales Condiciones lmites Caminos independientes Caminos de manejo de errores
En Prueba
Mun
Mun
Prueba Unitaria
Se aplica lo visto en Prueba en pequea escala
Caja Blanca Caja Negra Suposiciones Bordes ...
Comienza una vez codificado, compilado y revisado el mdulo Los mdulos altamente cohesivos son los ms sencillos de probar
(c) Carlos Alberto Fau 5
Saltar Hoja
Procesar Rengln
Imprimir Encabezado
Imprimir Totales
Obtener Producto
Acumular
Imprimir Rengln
Leer Producto
Prueba de Integracin
Es un tcnica sistemtica para construir la estructura del programa mientras que voy probando las interacciones Puedo hacerla:
big bang ascendente descendente sndwich
Grupo 2 Grupo 3
7
Grupo 1
(c) Carlos Alberto Fau
La Prueba de Integracin
Comenzamos a unir las partes probadas aisladamente de nuestro sistema El enfoque depende del tipo de tecnologa
Sistema organizado jerrquicamente
Top-down, bottom up, combinacin de ambos
Bloque 3 Bloque 2
Pantalla para Actualizar Empresas Empresas
Sucursal/Oficina en OPS
Empresas
11 Actualizar Empresas
Facturacin en OPS
Cuentas
Empresas
Bloque 1
Lneas en OPS
Sucursal/Oficina en OPS
Cuentas
Empresas
Lneas en OPS
Empresas
Facturacin de OPS
Bloque 2
Lneas en OPS
Bloque 3
Documento : Impreso el :
Bloque 4
A lo alto
Informar Detalle Estados Contables
Seleccionar Entidades
Obtener Totales
Obtener Porcentajes
A lo ancho
Construir Informe
Obtener Totales
Obtener Porcentajes
Integracin
Recalcular Ratios
Actualizar Ratios
Actualizar un Ratio
Pruebas de Regresin
Pruebas orientadas a verificar que, luego de introducido un cambio en el cdigo, la funcionalidad original no ha sido alterada
Tengo que probar lo nuevo y lo viejo Para esto necesitamos condiciones y casos de prueba reusables; si no, esta tarea no puede hacerse
Por cambiar un par de lneas no va a pasar nada... Yo me juego y catalogo sin probarlo...
Famosas ltimas palabras...
13
14
Estas pruebas no siempre son necesarias Lo que es necesario es analizar si son necesarias
(c) Carlos Alberto Fau 16
Perfil de Uso
Ante problemas de volumen y desempeo debe estudiarse dnde estn los puntos crticos Analizadores de Cobertura o Monitores
Permiten detectar
zonas no cubiertas (no ejecutadas) porcentaje o total de utilizacin tiempo de ejecucin (por zona)
17
Prueba de Resistencia
Prueba del Sistema, excediendo los lmites de su capacidad de procesamiento y almacenamiento
Teniendo en cuenta situaciones no previstas originalmente
18
Alfa: Lo hace el usuario en mis instalaciones (laboratorio) Beta: Lo hace el usuario en sus instalaciones
(c) Carlos Alberto Fau 19
20
10
Prueba de Aceptacin
Definicin de Condiciones y Casos
21
11
Eventos
Los eventos son requerimientos funcionales Tomando al sistema completo como una caja negra, podemos definir las condiciones de prueba de aceptacin a partir de los eventos, con la ayuda del diccionario de datos del contexto y el modelo de datos Un requerimiento que no es testeable no es implementable
Si para un evento, no podemos definir cmo va a ser probado, tenemos un problema
entrenamiento planeado
Plan de Capacitacin
24
12
Ejemplo (continuacin)
Deber probarse el ingreso de entrenamiento planeado para una posicin, teniendo en cuenta las siguientes alternativas:
Condicin de Entrada
Cdigo posicin nombre posicin cdigo curso nombre curso habilitante a la posicin secuencia curso para la posicin
Clases Vlidas
cdigo existente --cdigo existente --S/No entre 0 y 9
Clases Invlidas
cdigo inexistente --cdigo inexistente --otro < 0, >9
25
La prueba de usuarios puede verificar que esa funcionalidad exista, pero no debe probar todos los casos
Para eso est la prueba tcnica...
26
13
Entrenamiento Planeado
actualizacin de cursos
Instructor Curso
Plan de Capacitacin
Instructor Habilitado
(c) Carlos Alberto Fau 28
14
Qu Probar?
Alta de un curso sin instructor habilitado (INV) Alta de un curso con un instructor habilitado (V) Alta de un curso con muchos instructores habilitados (V) Idem 2 y 3 con instructores inexistentes (INV) Idem 2 y 3 con instructores de proveedores no habilitados al curso (INV) Si supongo que los instructores internos son tratados de forma diferente que los externos, debo repetir 2, 3 y 4 para instructores internos
(c) Carlos Alberto Fau 29
Inicio
c: evento 11 a: alta de edicin P de un curso Edicin Planificada c: evento 9 a: edicin.estado = C Edicin Confirmada c: evento 10 a: edicin.estado = R Edicin Realizada
30
15
Los casos vlidos, adems, definen la poblacin necesaria de los archivos de prueba En nuestro ejemplo
La posicin AS = Analista de Sistemas deber ser un registro del archivo de pruebas de posiciones El curso AR = Anlisis de Requerimientos deber ser un registro del archivo de pruebas de cursos
Los casos definidos deben ser asignados a los archivos fsicos del sistema
31
Resumen
Los eventos tienen variaciones, indicadas por su texto, por sus flujos de datos y por las reglas de negocio expresadas en el modelo de datos Cada variacin de un evento constituye una condicin de prueba Cada condicin debe ser ejercitada por, al menos, un caso de prueba Cada caso ejercitar uno o mas programas El conjunto de condiciones y casos constituye la base de la prueba de aceptacin funcional Este trabajo no puede hacerse si no se aplica la fase de Anlisis de Requerimientos
32
16
aviso de fabricado
entregar mercadera
pago factura
Cobrar factura
pedido
(c) Carlos Alberto Fau
factura
33
Depuracin
La depuracin NO es una tarea de prueba Depurar es: eliminar un defecto que posee el software Sigue normalmente a las tareas de prueba La prueba detecta el efecto (sntoma) de un error La depuracin debe:
Primero encontrar la causa (esto es muy caro) Eliminar el defecto Volver a probar
(c) Carlos Alberto Fau
17
Dificultad de la depuracin
Sicologa humana
Frustrante: Es un rompecabezas y solo para arreglar un error Ansiedad y tensin
El sntoma est alejado de la causa (acoplamiento) La correccin de un error enmascara un sntoma Sntoma no producido por un error (redondeo) Participan condiciones no deterministas (otros sistemas) Sntomas intermitentes Sntomas de varias causas que interactan
35
Deteccin
Dada la falla debo hallar el defecto Enfoques
Fuerza bruta Vuelta atrs Eliminacin de causas
Herramientas
Trazadores Ejecucin paso a paso Cuando todo lo dems falle, pida ayuda
(c) Carlos Alberto Fau 36
18
Correccin
Encontrado el defecto hay que eliminarlo Antes de hacer la correccin pregntese
Se repite la causa en otro lado? Qu error puede surgir debido a la correccin? Qu se puede hacer para prevenir este tipo de error?
Abaratamiento de la prueba
Hacer pruebas es caro y trabajoso La forma de abaratar y acelerar las pruebas (sin degradar su utilidad) es: Diseando el Software para ser Probado Algunas herramientas son:
Diseo modular Ocultamiento de informacin Uso de puntos de control Programacin NO egosta
19
Planificacin de Pruebas
39
Estrategia de pruebas
qu tipos de pruebas se van a realizar
Criterios de aceptacin
defectos tolerables grado de cobertura
20
Otros contenidos
La planificacin de pruebas debe incluir tiempos para:
Seleccin de Estrategia Diseo de Condiciones y Casos Diseo y Construccin de Conductores y Muones Preparacin del Ambiente Ejecucin de las Pruebas y registro de resultados Depuracin y Correccin
(c) Carlos Alberto Fau 41
21
43
Ms Ideas
Pruebas de Volumen y Desempeo
siempre que Soporte Tcnico y Procesamiento hayan mostrado preocupacin en la cuantificacin de volmenes del anlisis de requerimientos
Pruebas de Regresin
Esto tiene pinta de telfono pblico...
Pruebas de Estrs
cuando hay poco control sobre los usuarios u otros sistemas que interactan con el nuestro componentes crticos en cuanto al nivel de servicio Todos los sistemas operados por nuestros clientes!
44
22
Ms ideas an
Utilice su Anlisis de Riesgo del Proyecto para determinar cuales son los problemas ms indeseados. Utilice estos para concentrar sus esfuerzos de prueba Utilice su historia de defectos (para ello se registran)
45
ISO 9000-3
Debe haber diferentes niveles y enfoques El plan
debe contener Casos de Prueba, Datos y Resultados Esperados debe describir los tipos de prueba a ser realizadas (funcional, de desempeo, ...) describir el ambiente de pruebas, incluidas las herramientas
La prueba de legibilidad debe incluir al manual de usuario, criterio para finalizacin de las pruebas
46
23
ISO 9000-3
Los resultados de las pruebas deben registrarse Cualquier inconveniente debe ser identificado y ser comunicado al responsable Los cambios deben ser vueltos a probar Debe instrumentarse SCM
47
Resumen
Existen varias pautas para encarar las pruebas Las pruebas se deben planificar El buen diseo y construccin no solo benefician a las pruebas, sino tambin a la correccin de los componentes y su mantenimiento Las pruebas No mejoran al software, solo muestran cuantos defectos tiene El No probar No elimina los errores, ni acorta tiempos, ni abarata el proyecto:
Si puede fallar fallar y en el peor momento posible
24