Consiste en probar la aplicacin como un todo, es decir, como un sistema integrado que debe cumplir con sus requisitos funcionales y no funcionales especificados en el Documento de Requisitos Las pruebas de unidad e integracin aseguran que el cdigo implementa el diseo apropiadamente Las pruebas del sistema tienen un propsito diferente Asegurar que el sistema hace lo que el cliente quiere que haga PNFI - IS II Mdulo III Unid. II Pruebas del Sistema Se basan en los en los requisitos funcionales y no funcionales del sistema Aunque muchos de los requisitos funcionales han sido probados durante las prueba de unidad e integracin Los requisitos no funcionales slo pueden ser verificados probando el sistema como un todo PNFI - IS II Mdulo III Unid. II Pruebas del Sistema Las pruebas del sistema constan de un conjunto de pruebas diferentes que ejercitan diferentes aspectos del sistema como un todo. Tipos de Pruebas del Sistema: Pruebas funcionales Pruebas no-funcionales Pruebas de aceptacin Pruebas de instalacin PNFI - IS II Mdulo III Unid. II Pruebas del Sistema Modelos de procesos de pruebas del sistema (Pfleeger, 1998): PNFI - IS II Mdulo III Unid. II Pruebas Funcionales Pruebas No Funcionales Pruebas de Aceptacin Pruebas de Instalacin Requisitos funcionales Requisitos no funcionales Requisitos funcionales y no funcionales Descripcin del ambiente operativo del sistema Subsistemas integrados y probados Sistema en produccin Pruebas Funcionales Verifican que el sistema como un todo satisfaga cada uno de los requisitos funcionales Cmo se determinan las pruebas funcionales? Para cada funcin establecida en el DR, o para cada caso de uso, se establece una prueba funcional Ejemplo: En un sistema ATM, se debe disear un conjunto de pruebas para cada transaccin: iniciar sesin consultar saldo retirar dinero transferir dinero entre cuentas pagar servicios PNFI - IS II Mdulo III Unid. II Pruebas Funcionales Cmo se disean los casos de prueba? Las pruebas funcionales son del tipo caja negra ignoran la estructura del sistema se centran en la funcionalidad del sistema Una tcnica de prueba funcional es la prueba de hilos (thread testing) Un hilo es el conjunto de acciones asociadas a una funcin del sistema es el flujo de procesos que involucra la ejecucin de una funcin del sistema un hilo es activado por un evento y puede tener asociado un conjunto de datos de entrada La ejecucin del hilo produce un resultado determinado P1 P2 P3 Datos de Entrada P4 Resultados PNFI - IS II Mdulo III Unid. II Pruebas Funcionales Pruebas de hilos (thread testing) Las funciones de un sistema son definidas, generalmente, de manera jerrquica Ej.: En un ATM, la funcin de Retiro se divide en retiro de cuenta corriente retiro cuenta de ahorros retiro cuenta de activos lquidos Las pruebas de hilos prueban primero las funciones de ms bajo nivel para cada funcin especifica se construye un hilo correspondiente se elabora un conjunto de casos de prueba basados en los datos de entrada del hilo Los diagramas de casos de uso y sus descripciones textuales ayudan a disear las pruebas funcionales PNFI - IS II Mdulo III Unid. II Pruebas Funcionales Para cada caso de uso, contenido en el diagrama de casos de uso del sistema, se elabora un conjunto de casos de pruebas funcionales Pasos para el diseo de pruebas funcionales: MTODO DE HEUMANN [2001] Determinar los hilos posibles consiste en determinar todos los flujos (hilos) posibles a partir del anlisis de la descripcin textual del caso de uso Identificar los casos de prueba para cada hilo se define un caso de prueba Identificar los valores de las pruebas para cada caso de prueba identificado se determinan los valores de prueba PNFI - IS II Mdulo III Unid. II Diseo de Pruebas Funcionales usando Casos de Uso Paso 1: Determinar los hilos de prueba a partir del anlisis de la descripcin textual del caso de uso, se determinan los flujos posibles: Flujo principal(feliz) y flujos alternos Paso 2: Identificar los casos de prueba para cada hilo identificado se define uno o ms casos de prueba se determinan las variables de entrada y resultados esperados se elabora la matriz de casos de prueba PNFI - IS II Mdulo III Unid. II Diseo de Pruebas Funcionales usando Casos de Uso Paso 3: Identificar los valores de prueba para cada caso de prueba, se definen los valores de prueba usando tcnicas de prueba de caja negra PNFI - IS II Mdulo III Unid. II Caso de Prueba N Variable 1 Variable 2 . Variable n Resultado Esperado 1 Flujo Normal 2 Flujo Alterno 1 3 Flujo Alterno 2 . Pruebas No Funcionales Todos aquellos tipos de pruebas que: se relacionan con los requisitos no funcionales del sistema no verifican la funcionalidad del sistema Al igual que las pruebas funcionales, el diseo de pruebas no funcionales depende de la calidad del Documento de Requisitos si los requisitos no funcionales no han sido definidos y documentados, el diseo de las pruebas no funcionales se ve afectado seriamente no se sabra que probar PNFI - IS II Mdulo III Unid. II Pruebas No Funcionales Tipos de pruebas no funcionales [Pfleeger, 1998] Pruebas de Resistencia Pruebas de Estrs Evalan el sistema en sus lmites o picos por un perodo corto de tiempo Ej.: Nmero mximo de usuarios que pueden acceder simultneamente al sistema Pruebas de Volumen y Almacenamiento Evalan el manejo de grandes cantidades de datos en el sistema Ej.: Tamaos mximos de las estructuras de datos y bases de datos usadas por el sistema Pruebas de configuracin Analizan cada una de las diferentes configuraciones establecidas para el sistema Ej.: Configuraciones monousuario y multiusuario de un mismo sistema Pruebas de Compatibilidad Prueban las interfaces del sistema con otros sistemas Ej.: El acceso a bases de datos corporativas o la conexin con u ERP PNFI - IS II Mdulo III Unid. II Pruebas No Funcionales Tipos de pruebas no funcionales [Pfleeger, 1998] (cont.) Pruebas de Seguridad Aseguran que los requisitos de seguridad del sistema se cumplan Ej.: Accesos al sistema por usuarios no autorizados Pruebas de Temporalidad Evalan el tiempo de respuesta del sistema para ejecutar una funcin Ej.: Tiempo para procesar una transaccin Pruebas del Ambiente Operativo Evalan la capacidad del sistema para operar en condiciones predefinidas Ej.: Cadas frecuentes de energa elctrica, cambios frecuentes de plataforma (portabilidad) Pruebas de Calidad Evalan los requisitos de confiabilidad, mantenibilidad y disponibilidad del sistema Calculan el tiempo medio entre fallas, el tiempo medio de reparacin y la tasa de disponibilidad del sistema PNFI - IS II Mdulo III Unid. II Pruebas No Funcionales Tipos de pruebas no funcionales [Pfleeger, 1998] (cont.) Pruebas de Recuperacin Evalan la respuesta del sistema a la presencia de faltas y a la prdida de datos, energa elctrica y servicios Ej.: Probar cmo se recupera el sistema ante la cada de energa elctrica y servicios Pruebas de Mantenimiento Evalan los procedimientos y herramientas de que dispone el sistema para facilitar las labores de mantenimiento Pruebas de Documentacin Aseguran la calidad de la documentacin del sistema Determinan si la documentacin se corresponde con lo que el sistema realmente hace Prueba de Factores Humanos (Interfaces Grficas U/S) Llamados, tambin, pruebas de utilidad (usability testing) Evalan la interfaz que permite la interaccin del sistema con sus usuarios PNFI - IS II Mdulo III Unid. II Pruebas Aceptacin Tienen por objeto VALIDAR que el sistema desarrollado satisfaga las necesidades reales del cliente es decir, determina si el sistema desarrollado es el correcto (el que el usuario realmente necesita) Su objetivo es permitirle al cliente o a los usuarios determinar si: el sistema desarrollado realmente satisface sus necesidades y expectativas Normalmente, son elaboradas y ejecutadas por el cliente a travs de: la contratacin de terceros la asistencia del grupo de pruebas del proyecto PNFI - IS II Mdulo III Unid. II Pruebas Aceptacin Pueden revelar problemas en los requisitos requisitos mal definidos requisitos incompletos requisitos mal entendidos Sus casos de prueba se disean, generalmente, usando estrategias de caja negra evalan la funcionalidad del sistema y el cumplimiento de los atributos de calidad del sistema PNFI - IS II Mdulo III Unid. II Pruebas Aceptacin Tipos de Pruebas de Aceptacin BENCHMARKS El cliente define y prepara un conjunto de casos de prueba que representan situaciones tpicas, o muy particulares, del entorno en el cual el sistema operar Se basan en pruebas de rendimiento El cliente evala el rendimiento del sistema en cada caso de prueba PRUEBAS PARALELAS Se emplean cuando el sistema desarrollado reemplaza un sistema en funcionamiento El nuevo sistema opera en paralelo con la versin anterior Los usuarios pueden comparar la funcionalidad y rendimiento del nuevo sistema con respecto a la versin anterior PNFI - IS II Mdulo III Unid. II Pruebas Aceptacin Tipos de Pruebas de Aceptacin PRUEBAS PILOTO El sistema se instala en un ambiente experimental Los usuarios ejercitan el sistema como si fuese el sistema real Se dividen en: Pruebas Alfa Son realizadas en el mismo ambiente de desarrollo del sistema por un conjunto de usuarios selectos El ambiente es controlado por los desarrolladores o el grupo de pruebas Pruebas Beta Son realizadas por los usuarios en sus ambientes de trabajo No son controladas por los desarrolladores, ni el grupo de pruebas PNFI - IS II Mdulo III Unid. II Pruebas de Interfaces Grficas Las pruebas de interfaz grfica usuario/sistema (GUI) estn asociadas al concepto de utilidad (usability) Las pruebas de utilidad validan la facilidad con la cual el usuario puede usar y aprender a usar el sistema Cmo se mide la utilidad de un sistema? La utilidad de un sistema es un conjunto de caractersticas relacionadas con el esfuerzo necesario para usar un sistema, visto desde el ngulo de los usuarios PNFI - IS II Mdulo III Unid. II Pruebas de Interfaces Grficas Medidas de Utilidad Comprensibilidad el esfuerzo requerido por un usuario para reconocer y entender los conceptos lgicos del sistema y su aplicabilidad Facilidad de aprendizaje el esfuerzo requerido por un usuario para aprender el uso del sistema y sus entradas y salidas Operabilidad la facilidad de operacin y control del sistema por parte de los usuarios Grado de atraccin la capacidad del sistema de ser atractivo al usuario Cumplimiento (compliance) adhesin a estndares, convenciones y regulaciones relacionadas con el sistema Accesibilidad facilidad con la que entran, navegan y salen los usuarios del sistema PNFI - IS II Mdulo III Unid. II Pruebas de Interfaces Grficas Cmo disear las pruebas de interfaces GUI? La mayora de interfaces GUI siguen estndares de facto Ej: el estndar de interfaces Windows o Web Es posible disear un conjunto de pruebas GUI estndar que pueda ser empleado por toda la empresa Este conjunto se elabora reutilizando y adaptando listas de chequeo suficientemente probadas y disponibles en la literatura La lista de chequeo de Bazman[2000], por ejemplo, proporciona una lista detallada de los aspectos que deben probarse en una interfaz GUI PNFI - IS II Mdulo III Unid. II Pruebas de Interfaces Grficas Se puede organizada en tres secciones: Seccin1: Cumplimiento de Estndares Aplicacin Para cada ventana Cajas de dilogo Botones de radio Cajas de chequeo Botones de comando Listas Drop Down Cajas de combo Cajas de listas Seccin 2: Validacin de Pantallas Condiciones de esttica Condiciones de validacin Condiciones de navegacin Condiciones de integridad de datos Condiciones de edicin Condiciones generales Pruebas de campos de datos Seccin 3: Acciones Estndar En cada pantalla Teclas especiales (shortcut keys, hot keys) Teclas de control PNFI - IS II Mdulo III Unid. II CRITERIOS SI NO NO APLICA INFORMACIN ADICIONAL Estn claramente definidos los bloques de informacin (Frames)? Tiene el encabezado de ttulo y nombre de aplicacin correctos? Las etiquetas de los campos son claras y representativas? Los campos de despliegue estn completamente inhabilitados y del color respectivo? Los campos de despliegue estn claramente identificados? Tiene los colores estndar? Los campos fecha tienen el formato DD-MON-YYYY y se puede ingresar los datos como Ej: 12ago2001? El Calendario funciona correctamente? La forma tiene la dimensin correcta? Los campos estn alineados en forma correcta? Estn habilitados los botones del toolbar de manera adecuada y corresponden con las teclas de funcin? Es rpido y fcil el manejo del formulario? Cuando se cambia el valor de un campo de entrada, se modifica tambin el campo de despliegue? Los campos que hacen referencia a datos de otras tablas tienen cada uno su lista de valores? El tiempo de respuesta es adecuado? Se usan apropiadamente Los mensajes? Si el reporte requiere mucho tiempo, Le es notificado al usuario? Pruebas de Interfaz Grfica PNFI - IS II Mdulo III Unid. II