Tipos de Pruebas de Software

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 31

Ingeniera de Software II Docente: Ing.

Marisol Lara Garca


3 UNIDAD. PRUEBAS DE SOFTWARE A continuacin se describen las principales tipos pruebas que se pueden realizar a cualquier tipo de software. Cada prueba contendr como mnimo la siguiente informacin: - Objetivo de la prueba - Descripcin de la prueba - Tcnica - Criterio de Completitud - Consideraciones Especiales

PRUEBAS UNITARIAS Prueba Unitaria Objetivo de la Prueba: Se focaliza en ejecutar cada mdulo (o unidad mnima a ser probada, ej. = una clase) lo que provee un mejor modo de manejar la integracin de las unidades en componentes mayores. Busca asegurar que el cdigo funciona de acuerdo con las especificaciones y que el mdulo lgico es vlido. Particionar los mdulos en pruebas en unidades lgicas fciles de probar. Por cada unidad hay que definir los casos de prueba (pruebas de caja blanca). Para esto los casos de prueba deben disearse de forma tal que se recorran todos los caminos de ejecucin posibles dentro del cdigo bajo prueba; por lo tanto el diseador debe construirlos con acceso al cdigo fuente de la unidad a probar. Los aspectos a considerar son los siguientes: Rutinas de excepcin, Rutinas de error, Manejo de parmetros, Validaciones, Valores vlidos, Valores lmites, Rangos, Mensajes posibles.

Descripcin de la Prueba:

Tcnica:

Comparar el resultado esperado con el resultado obtenido.

Ao 2013

Pgina 1

Ingeniera de Software II Docente: Ing. Marisol Lara Garca

Si existen errores, reportarlos. Todas las pruebas planeadas han sido ejecutadas. Todos los defectos que se identificaron han sido tenidos en cuenta.

Criterio de Completitud:

Consideraciones Especiales: Para la elaboracin de pruebas unitarias en java se puede utilizar el JUNIT y CACTUS.

Prueba de Integracin Objetivo de la Prueba: Identificar errores introducidos por la combinacin de programas probados unitariamente. Determina cmo la base de datos de prueba ser cargada. Verificar que las interfaces entre las entidades externas (usuarios) y las aplicaciones funcionan correctamente. Verificar que las especificaciones de diseo sean alcanzadas. Determina el enfoque para avanzar desde un nivel de integracin de las componentes al siguiente. Describe cmo verificar que las interfaces entre las componentes de software funcionan correctamente. Determina cmo la base de datos de prueba ser cargada. Determina el enfoque para avanzar desde un nivel de integracin de las componentes al siguiente. Decide qu acciones tomar cuando se descubren problemas. Por cada Caso de Prueba ejecutado:

Descripcin de la Prueba:

Comparar el resultado esperado con el resultado obtenido. Utilizar la tcnica top-down. Se empieza con los mdulos de nivel superior, y se verifica Pgina 2

Tcnica: Ao 2013

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


que los mdulos de nivel superior llaman a los de nivel inferior de manera correcta, con los parmetros correctos. Utilizar la tcnica down-top. Se empieza con los mdulos de nivel inferior, y se verifica que los mdulos de nivel inferior llaman a los de nivel superior de manera correcta, con los parmetros correctos. Todas las pruebas planeadas han sido ejecutadas. Todos los defectos que se identificaron han sido tenidos en cuenta.

Criterio de Completitud:

Consideraciones Especiales: Ninguna

Prueba de Regresin Objetivo de la Prueba: Determinar si los cambios recientes en una parte de la aplicacin tienen efecto adverso en otras partes. En esta prueba se vuelve a probar el sistema a la luz de los cambios realizados durante el debugging, mantenimiento o desarrollo de la nueva versin del sistema buscando efectos adversos en otras partes. La prueba de regresin es una nueva corrida de casos de prueba previos.

Descripcin de la Prueba:

Tcnica:

Se requiere de polticas para ser creada la prueba de regresin y decidir qu casos de prueba incluir, para probar eficientemente. La prueba de regresin es un buen candidato para automatizacin. Desde que estas pruebas se repiten una y otra vez, las herramientas para minimizar el esfuerzo del trabajo son tiles. La prueba de viejas funcionalidades es ms importante que la de nuevas funcionalidades. Aquellos casos de uso (y los casos de prueba asociados) que descubren defectos tempranamente deben ser incluidos en la prueba de regresin. Todas las pruebas planeadas han sido ejecutadas. Pgina 3

Criterio de Completitud: Ao 2013

Ingeniera de Software II Docente: Ing. Marisol Lara Garca

Todos los defectos que se identificaron han sido tenidos en cuenta.

Consideraciones Especiales: Ninguna Pruebas de Humo (Smoke Testing o Ad Hoc) Objetivo de la Prueba: Los objetivos son los siguientes:

Detectar los errores en realeases tempranos y de manera fcil Probar el sistema constantemente Garantizar poco esfuerzo en la integracin final del sistema Asegurar los resultados de las pruebas unitarias Se reducen los riesgos y a baja calidad.

Descripcin de la Prueba:

Toma ste nombre debido a que su objetivo es probar el sistema constantemente buscando que saque humo o falle. En algunos proyectos este tipo de prueba va junto con las pruebas funcionales. Permite detectar problemas que por lo regular no son detectados en las pruebas normales. Algunas veces, si las Pruebas ocurren tarde en el ciclo de desarrollo est ser una forma de garantizar el buen desarrollo. Las pruebas de humo NO SON exhaustivas, pero van de extremo a extremo de la aplicacin. 1. Realizar una integracin de todo el sistema cada cierto periodo (se recomienda un da, mximo una semana) 2. Realizar los casos de prueba asignados a los casos de uso finalizados ese da ms los realizados en das anteriores 3. Buscar eficientemente errores TTodas las pruebas planeadas han sido ejecutadas. Todos los defectos que se identificaron han sido tenidos en cuenta.

Tcnica:

Criterio de Completitud:

Consideraciones Especiales: Cuando se encuentre un error en el relase correspondiente al periodo elegido para hacer las integraciones del sistema, se detiene el desarrollo Ao 2013 Pgina 4

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


hasta que el error es corregido. Este tipo de pruebas es til en la programacin extrema (extremme programming) y de sistemas complejos. Es til el uso de programas de prueba automticas que se encarguen de probar o casos de prueba ya ejecutados en realeases anteriores. PRUEBAS DEL SISTEMA Pruebas del Sistema Objetivo de la Prueba: Asegurar la apropiada navegacin dentro del sistema, ingreso de datos, procesamiento y recuperacin. Las pruebas del sistema deben enfocarse en requisitos que puedan ser tomados directamente de casos de uso y reglas y funciones de negocios. El objetivo de estas pruebas es verificar el ingreso, procesamiento y recuperacin apropiado de datos, y la implementacin apropiada de las reglas de negocios. Este tipo de pruebas se basan en tcnicas de caja negra, esto es, verificar el sistema (y sus procesos internos), la interaccin con las aplicaciones que lo usan va GUI y analizar las salidas o resultados. En esta prueba se determina qu pruebas de Sistema (usabilidad, volumen, desempeo, etc.) asegurarn que la aplicacin alcanzar sus objetivos de negocio. La prueba de Sistema incluye: Prueba funcionalidad Prueba de Usabilidad Prueba de Performance Prueba de Documentacin y Procedimientos Prueba de Seguridad y Controles

Descripcin de la Prueba:

Ao 2013

Pgina 5

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


Prueba de Volumen Prueba de Esfuerzo (Stress) Prueba de recuperacin Prueba de mltiples sitios Para sistemas web se recomienda especialmente realizar mnimo el siguiente grupo de pruebas de sistema: Humo. Usabilidad Performance Funcionalidad Para capitalizar el trabajo hasta ahora completado, los casos de prueba de las pruebas previas realizadas pueden frecuentemente ser reorganizados y rehusados durante la prueba de sistema. No obstante, deben ser desarrollados casos de prueba adicionales para aquellos aspectos del sistema, tales como documentacin, procedimientos y desempeo que no han sido probados durante la prueba unitaria y de integracin. La prueba de sistema es compleja porque intenta validar un nmero de caractersticas al mismo tiempo, a diferencia de otras pruebas que slo se centran en uno o dos aspectos del sistema al mismo tiempo. Ejecute cada caso de uso, flujo bsico o funcin utilizando datos vlidos e verificar que: Los resultados esperados ocurren cuando se utiliza un dato vlido. Los mensajes de error o de advertencia invlidos, para

Tcnica:

Ao 2013

Pgina 6

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


aparecen en el momento adecuado, cuando se utiliza un dato invlido.

Cada

regla

de

negocios

es

aplicada

adecuadamente. Criterio de Completitud: Todas las pruebas planeadas han sido ejecutadas. Todos los defectos que se identificaron han sido tenidos en cuenta. Identifique o describa aquellos aspectos (internos o externos) que impactan la implementacin y ejecucin de las pruebas del Sistema

Consideraciones Especiales:

Pruebas de Desempeo Objetivo de la Prueba: Validar el tiempo de respuesta para las transacciones o funciones de negocios bajo las siguientes dos condiciones:

Volumen normal anticipado Volumen mximo anticipado.

Descripcin de la Prueba:

Las pruebas de desempeo miden tiempos de respuesta, ndices de procesamiento de transacciones y otros requisitos sensibles al tiempo. El objetivo de las pruebas de desempeo es verificar y validar los requisitos de desempeo que se han especificado (en este caso, el desempeo ofrecido por el proponente). Las pruebas de desempeo usualmente se ejecutan varias veces, utilizando en cada una, carga diferente en el sistema. La prueba inicial debe ser ejecutada con una carga similar a la esperada en el sistema. Una segunda prueba debe hacerse utilizando una carga mxima. Adicionalmente, las pruebas de desempeo pueden ser utilizadas para perfilar y refinar el desempeo del sistema como una funcin de condiciones tales como carga o configuraciones de hardware.

Ao 2013

Pgina 7

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


Las principales actividades son:

Comparar el desempeo del sistema actual con los requisitos, Poner a punto el sistema para mejorar las mtricas de desempeo y proyectar la capacidad futura de carga del sistema.

Los objetivos de nivel de servicio definidos deben guiar la prueba de performance. Algunas caractersticas que afectan el desempeo son:

Errores lgicos Procesamiento ineficiente Diseo pobre: muchas interfaces, instrucciones y entradas/salidas. Cuellos de botella en discos, CPU o canales de entrada/salida Salidas del sistema Tiempos de respuesta Capacidad de almacenamiento Tasa de entrada/salida de datos Nmero de transacciones que pueden ser manejadas simultneamente.

Tcnica:

Las pruebas de desempeo utilizan las tcnicas de caja blanca y caja negra. Utilice los procedimientos de prueba desarrollados para las pruebas del modelo del negocio (Pruebas del Sistema). Modifique archivos de datos (para incrementar el nmero de transacciones) o los scripts para incrementar el nmero de veces que ocurre cada transaccin. Los scripts deben ser ejecutados en una mquina y deben ser repetidos con mltiples clientes (virtuales o actuales). (Ver consideraciones especiales).

Criterio de Completitud:

Un Usuario / Una Transaccin. Se completaron las pruebas sin ninguna falla y dentro del tiempo esperado o requerido por transaccin. Mltiples transacciones, mltiples usuarios. Se completaron las pruebas de los scripts sin ninguna falla y dentro del tiempo esperado.

Consideraciones Especiales: Unas pruebas de desempeo integrales incluyen Ao 2013 Pgina 8

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


tener una carga en background en el servidor. Hay varios mtodos que pueden ser utilizados para hacer esto: o Transacciones dirigidas directamente al servidor, usualmente en forma de sentencias SQL. o Creacin de usuarios virtuales para simular muchos clientes (usualmente varios cientos). Se utilizan herramientas de Emulacin de Terminales Remotas para obtener esta carga. Esta tcnica tambin puede ser utilizada para cargar de trfico la red. o Use mltiples clientes fsicos, cada uno corriendo los scripts de prueba. Las pruebas de desempeo deben ser ejecutadas en una mquina dedicada o en un tiempo dedicado. Esto permite control total y medidas precisas. La Base de datos utilizada para pruebas de desempeo debe ser de un tamao real o proporcionalmente ms grande que la diseada. Pruebas de Carga Objetivo de la Prueba: Verificar el tiempo de respuesta del sistema para transacciones o casos de uso de negocios, bajo diferentes condiciones de carga. Las pruebas de carga miden la capacidad del sistema para continuar funcionando apropiadamente bajo diferentes condiciones de carga. La meta de las pruebas de carga es determinar y asegurar que el sistema funciona apropiadamente an ms all de la carga de trabajo mxima esperada. Adicionalmente, las pruebas de carga evalan las caractersticas de desempeo (tiempos de respuesta, tasas de transacciones y otros aspectos sensibles al tiempo). Use los scripts desarrolladas para Pruebas del Negocio. Modifique archivos de datos (para Pgina 9

Descripcin de la Prueba:

Tcnica:

Ao 2013

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


incrementar el nmero de transacciones o veces que cada transaccin ocurre). Criterio de Completitud:

Mltiples transacciones, mltiples usuarios. Se completaron las pruebas de los scripts sin ninguna falla y dentro del tiempo esperado. Las pruebas de carga deben ser ejecutadas en una mquina dedicada o en un tiempo dedicado. Esto permite control total y medidas precisas. La Base de datos utilizada para pruebas de desempeo debe ser de un tamao real o proporcionalmente ms grande que la diseada.

Consideraciones Especiales:

Pruebas de Stress Objetivo de la Prueba: Verificar que el sistema funciona apropiadamente y sin errores, bajo estas condiciones de stress:

Memoria baja o no disponible en el servidor. Mximo nmero de clientes conectados o simulados (actuales o fsicamente posibles) Mltiples usuarios desempeando la misma transaccin con los mismos datos. El peor caso de volumen de transacciones (ver pruebas de desempeo).

NOTAS: La meta de las pruebas de stress tambin es identificar y documentar las condiciones bajo las cuales el sistema FALLA.

Descripcin de la Prueba:

Las pruebas de stress se proponen encontrar errores debidos a recursos bajos o completitud de recursos. Poca memoria o espacio en disco puede revelar defectos en el sistema que no son aparentes bajo condiciones normales. Otros defectos pueden resultar de incluir recursos compartidos, como bloqueos de base de datos o ancho de banda de la red. Las pruebas de stress identifican la carga mxima que el sistema puede Pgina 10

Ao 2013

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


manejar. El objetivo de esta prueba es investigar el comportamiento del sistema bajo condiciones que sobrecargan sus recursos. No debe confundirse con las pruebas de volumen: un esfuerzo grande es un pico de volumen de datos que se presenta en un corto perodo de tiempo. Puesto que la prueba de esfuerzo involucra un elemento de tiempo, no resulta aplicable a muchos programas, por ejemplo a un compilador o a una rutina de pagos. Es aplicable, sin embargo, a programas que trabajan bajo cargas variables, interactivas, de tiempo real y de control de proceso. Aunque muchas pruebas de esfuerzo representan condiciones que el programa encontrar realmente durante su utilizacin, muchas otras sern en verdad situaciones que nunca ocurrirn en la realidad. Esto no implica, sin embargo, que estas pruebas no sean tiles. Si se detectan errores durante estas condiciones imposibles, la prueba es valiosa porque es de esperar que los mismos errores puedan presentarse en situaciones reales, algo menos exigentes. Use los scripts utilizados en las pruebas de desempeo. Para probar recursos limitados, las pruebas se deben correr en un servidor con configuracin reducida (o limitada). Para las pruebas de stress restantes, deben utilizarse mltiples clientes, ya sea corriendo los mismos scripts o scripts complementarios para producir el peor caso de volumen de transacciones.

Tcnica:

Criterio de Completitud:

Todas las pruebas planeadas han sido ejecutadas y excedidas sin que el sistema falle. (O si las condiciones en que el sistema falle ocurren por fuera de las condiciones especificadas). Consideraciones Especiales: Producir stress en la red puede requerir herramientas de red para sobrecargarla de trfico. Ao 2013 Pgina 11

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


El espacio en disco utilizado para el sistema debe ser reducido temporalmente para limitar el espacio disponible para el crecimiento de la Base de datos. Sincronizacin de varios clientes accediendo simultneamente los mismos registros. Pruebas de Volumen Objetivo de la Prueba: Verificar que la aplicacin funciona adecuadamente bajo los siguientes escenarios de volumen: o Mximo (actual o fsicamente posible) nmero de clientes conectados (o simulados), todos ejecutando la misma funcin (peor caso de desempeo) por un perodo extendido. o Mximo tamao de base de datos (actual o escalado) y mltiples consultas ejecutadas simultneamente Las pruebas de volumen hacen referencia a grandes cantidades de datos para determinar los lmites en que se causa que el Sistema falle. Tambin identifican la carga mxima o volumen que el sistema puede manejar en un perodo dado. Por ejemplo, si el sistema est procesando un conjunto de registros de Base de datos para generar un reporte, una prueba de volumen podra usar una Base de datos de prueba grande y verificar que el sistema se comporta normalmente y produce el reporte correctamente. El objetivo de esta prueba es someter al sistema a grandes volmenes de datos para determinar si el mismo puede manejar el volumen de datos especificado en sus requisitos. Algunos ejemplos de escenarios de prueba de volmenes: Un compilador puede ser alimentado por un programa para compilar que sea absurdamente grande. Un editor de nexos puede recibir un programa que Ao 2013 Pgina 12

Descripcin de la Prueba:

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


contenga miles de mdulos. Un simulador de circuito electrnico puede recibir un circuito diseado con miles de componentes. Puesto que obviamente, la prueba de volumen es una prueba costosa, tanto en tiempo de mquina como en personal, se debe tratar de no exceder los lmites. Sin embargo, todo programa debera ser expuesto, al menos, a algunas pruebas de volumen. Utilice los scripts diseados para las pruebas de desempeo. Deben usarse mltiples clientes, ya sea corriendo las mismas pruebas o pruebas complementarias para producir el peor caso de volumen (ver pruebas de stress) por un perodo extendido. Se utiliza un tamao mximo de Base de datos. (actual, escalado o con datos representativos) y mltiples clientes para correr consultas simultneamente para perodos extendidos. Criterio de Completitud: Todas las pruebas planeadas han sido ejecutadas y los lmites especificados en el sistema se han conseguido o excedido sin que el sistema falle. Consideraciones Especiales: Qu perodo de tiempo debera considerarse como aceptable para condiciones de volumen alto?

Tcnica:

Pruebas de Recuperacin y Tolerancia a fallas Objetivo de la Prueba: Verificar que los procesos de recuperacin (manual o automtica) restauran apropiadamente la Base de datos, aplicaciones y sistemas, y los llevan a un estado conocido o deseado. Los siguientes tipos de condiciones deben incluirse en la prueba: Interrupcin de electricidad en el cliente. Interrupcin de electricidad en el servidor

Ao 2013

Pgina 13

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


Interrupcin en la comunicacin hacia el servidor (cadas de red) Interrupcin en la comunicacin con los

controladores de disco. Ciclos incompletos (procesos de consultas

interrumpidos, procesos de sincronizacin de datos interrumpidos) Llaves o apuntadores de base de datos invlidos Elementos corruptos o invlidos en la base de datos. Estas pruebas aseguran que una aplicacin o sistema se recupere de una variedad de anomalas de hardware, software o red con prdidas de datos o fallas de integridad. Las pruebas de tolerancia a fallas aseguran que, para aquellos sistemas que deben mantenerse corriendo, cuando una condicin de falla ocurre, los sistemas alternos o de respaldo pueden tomar control del sistema sin prdida de datos o transacciones. Las pruebas de recuperacin son contrarias a las pruebas en que la aplicacin o sistema es expuesto a condiciones extremas (o condiciones simuladas), tales como fallas en dispositivos en entrada/salida o llaves o apuntadores invlidos de base de datos. Los procesos de recuperacin se invocan y la aplicacin es monitoreada y/o inspeccionada para verificar que estos mecanismos se han ejecutado en forma apropiada. El objetivo de esta prueba es determinar la habilidad del sistema para recuperarse de una falla de hardware o software. Esta prueba evala las caractersticas de contingencia construidas en el sistema para procesar interrupciones y para volver a puntos especficos en el ciclo de procesamiento del sistema. La recuperacin debe ser considerada en el proceso de diseo. Errores de programacin o de datos pueden ser incorporados ex profeso en un Ao 2013 Pgina 14

Descripcin de la Prueba:

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


sistema para determinar si se puede recuperar ellos. Las fallas de equipo (por ejemplo errores paridad en memoria, errores en dispositivos entrada/salida) pueden ser simuladas. Se deben utilizar las pruebas creadas para de de de la

Tcnica:

Funcionalidad del sistema y Procesos de Negocios para crear una serie de transacciones. Una vez se alcanza el punto inicial de las pruebas de recuperacin, se deben realizar o simular las siguientes acciones: Interrupcin de electricidad en el cliente. Interrupcin de electricidad en el servidor: simular o iniciar procedimientos de prdida de energa para el servidor. Interrupcin de la comunicacin en la red. (desconectar fsicamente los cables o apagar los hubs o routers) Interrupcin de la comunicacin con los

controladores de disco: simular o eliminar fsicamente la comunicacin con uno o ms controladores o dispositivos. Una vez se realizan estas acciones, se deben ejecutar series de transacciones, y luego, una vez alcanzado el segundo punto de pruebas, se deben invocar los procedimientos de recuperacin. Las pruebas para ciclos incompletos utilizan la misma tcnica que se describe arriba, excepto que los procesos de Base de datos deban ser abortados o terminados prematuramente. Las pruebas para estas condiciones requieren que se llegue a un estado conocido previamente en la Base de datos. Algunos campos, apuntadores y llaves deben ser modificados manualmente, Ao 2013 Pgina 15

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


valindose de las herramientas que ofrezca la SSPD. Las transacciones adicionales deben ser ejecutadas utilizando las pruebas para Funcionalidad de la aplicacin y para Procesos de Negocios. En todos los casos mencionados, la Base de datos, aplicacin y otros sistemas deben retornar a un estado conocido y deseado, una vez se completan los procedimientos de recuperacin. Este estado podra incluir que el dao de datos se limite solamente a los campos, llaves o apuntadores que se sabe que fueron alterados, y reportes indicando los procesos o transacciones que no fueron completadas producidas. Consideraciones Especiales: Las pruebas de recuperacin pueden llegar a ser molestas. Los procedimientos para desconectar cables o simular prdida de electricidad pueden ser poco factibles o deseables. Podran llegar a requerirse mtodos alternativos, como debido a las interrupciones

Criterio de Completitud:

herramientas de diagnstico. Se requiere la participacin de personal de la red, administradores de la base de datos y del sistema. Estas pruebas deben ser ejecutadas en horas no laborables o en mquinas aisladas. Prueba de Mltiples Sitios Objetivo de la Prueba: Descripcin de la Prueba: Detectar fallas en configuraciones y comunicaciones de datos entre mltiples sitios. El propsito de esta prueba es evaluar el correcto funcionamiento del sistema o subsistema en mltiples instalaciones. Realizar casos de prueba que verifiquen mnimo lo siguiente:

Tcnica:

Ao 2013

Pgina 16

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


1. Consistencia de las opciones de configuracin para el sistema a travs de los sitios 2. Empaquetamiento del sistema para mltiples instalaciones 3. Sincronizacin de datos entre sitios 4. Comunicacin de datos entre sistemas en diferentes sitios 5. Rompimiento de funciones de sistema a travs de los sitios. 6. Consistencia de controles y seguridad a travs de los sitios Criterio de Completitud:

Todas las pruebas planeadas han sido ejecutadas. Todos los defectos que se identificaron han sido tenidos en cuenta.

Consideraciones Especiales: Ninguna Prueba de Compatibilidad y Conversin Objetivo de la Prueba: Descripcin de la Prueba: Buscar problemas de compatibilidad y conversin en los sistemas. El propsito es demostrar que los objetivos de compatibilidad no han sido logrados y que los procedimientos de conversin no funcionan. La mayora de los programas que se desarrollan no son completamente nuevos; con frecuencia son reemplazos de partes deficientes, ya sea de sistemas de procesamiento de datos, o sistemas manuales. Como tales, los programas tienen a menudo objetivos especficos con respecto a su compatibilidad y a sus procedimientos de conversin con el sistema existente. Desarrollar casos de prueba que permitan detectar deficiencias con: Compatibilidad entre programas Conversin de datos Todas las pruebas planeadas han sido ejecutadas. Todos los defectos que se identificaron han

Tcnica:

Criterio de Completitud:

Ao 2013

Pgina 17

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


sido tenidos en cuenta. Consideraciones Especiales: Ninguna Pruebas de Integridad de Datos y Base de Datos Objetivo de la Prueba: Asegurar que los mtodos de acceso y procesos funcionan adecuadamente y sin ocasionar corrupcin de datos. La Base de datos y los procesos de Base de datos deben ser probados como sistemas separados del proyecto . Estos sistemas deberan ser probados sin usar interfaces de usuario (como las interfaces de datos). Se necesita realizar investigacin adicional en el DBMS para identificar las herramientas y tcnicas que podran existir para soportar las pruebas identificadas ms adelante. Invoque cada mtodo de acceso y proceso de la Base de datos, utilizando en cada uno datos vlidos e invlidos. Analice la Base de datos, para asegurar que los datos han sido grabados apropiadamente, que todos los eventos de Base de datos se ejecutaron en forma correcta y revise los datos retornados en diferentes consultas.

Descripcin de la Prueba:

Tcnica:

Criterio de Completitud:

Todos los mtodos de acceso y procesos de la Base de datos funcionan como fueron diseados y sin corrupcin de datos Consideraciones Especiales: Las pruebas pueden requerir un ambiente de DBMS o controladores para ingresar o modificar datos directamente en la Base de datos. Se debe utilizar un conjunto pequeo de datos para incrementar la visibilidad de cualquier evento anormal o inesperado. Los procesos pueden ser invocados manualmente.

Pruebas de Seguridad y Control de Acceso Objetivo de la Prueba: Nivel de seguridad de la aplicacin: Verifica que un actor solo pueda acceder a las funciones y datos que su usuario tiene permitido. Nivel de Seguridad del Sistema: Verificar que solo Ao 2013 Pgina 18

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


los actores con acceso al sistema y a la aplicacin estn habilitados para accederla. Las pruebas de seguridad y control de acceso se centran en dos reas claves de seguridad:

Descripcin de la Prueba:

Seguridad del sistema, incluyendo acceso a datos o Funciones de negocios y Seguridad del sistema, incluyendo ingresos y accesos remotos al sistema.

Las pruebas de seguridad de la aplicacin garantizan que, con base en la seguridad deseada, los usuarios estn restringidos a funciones especficas o su acceso est limitado nicamente a los datos que est autorizado a acceder. Por ejemplo, cada usuario puede estar autorizado a crear nuevas cuentas, pero slo los administradores pueden borrarlas. Si existe seguridad a nivel de datos, la prueba garantiza que un usuario tpico 1 puede ver toda la informacin de clientes, incluyendo datos financieros; sin embargo, el usuario 2 solamente puede ver los datos institucionales del mismo cliente. Las pruebas de seguridad del sistema garantizan que solamente aquellos usuarios autorizados a acceder al sistema son capaces de ejecutar las funciones del sistema a travs de los mecanismos apropiados. Debido a la creciente preocupacin de la sociedad por la privacidad de la informacin, muchos programas tienen objetivos especficos de seguridad. El objetivo de esta prueba es evaluar el funcionamiento correcto de los controles de seguridad del sistema para asegurar la integridad y confidencialidad de los datos. El foco principal es probar la vulnerabilidad del sistema frente a accesos o manipulaciones no autorizadas. Una manera de encontrar esos casos de prueba es estudiar problemas conocidos de seguridad en sistemas similares y tratar de mostrar la existencia de problemas parecidos en el sistema que se examina. Algunas consideraciones de prueba son: Ao 2013 Pgina 19

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


Controles de acceso fsico Acceso a estructuras de datos especficas a travs de los programas de aplicacin. Seguridad en sitios remotos Existencia de datos confidenciales en reportes y pantallas Controles manuales, incluyendo aquellos para autorizacin y aprobacin, formularios, documentacin numerada, transmisin de datos, balances y conversin de datos. Controles automticos, incluyendo aquellos para edicin de datos, chequeo de mquinas, errores del operador, acceso a datos elementales y archivos, acceso a funciones, auditora, entre otros.

Tcnica:

Funciones / Seguridad de Datos: Identificar cada tipo de usuario y las funciones y datos a los que se debe autorizar. Crear pruebas para cada tipo de usuario y verificar cada permiso, creando transacciones especficas para cada tipo de usuario. Modificar tipos de usuarios y volver a ejecutar las pruebas. En cada caso, verificar si los datos o funciones adicionales quedan correctamente permitidos o denegados.

Acceso al sistema (ver consideraciones especiales) Criterio de Completitud: Para cada tipo de usuario conocido, las funciones y datos apropiados y todas las transacciones funcionan como se esperaba. Consideraciones Especiales: El acceso al sistema debe ser revisado y discutido con los administradores de la red y/o del sistema. Esta prueba puede no ser requerida como tal, sino como una funcin de los administradores de red o del sistema. PRUEBAS DE VALIDACIN A SISTEMAS A LA MEDIDA Pruebas del Ciclo del Negocio Ao 2013 Pgina 20

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


Objetivo de la Prueba: Asegurar que el sistema funciona de acuerdo con el modelo de negocios emulando todos los eventos en el tiempo y en funcin del tiempo. Las pruebas del ciclo de negocio deberan emular las actividades ejecutadas en el a travs del tiempo. Debera identificarse un periodo, como por ejemplo un ao, y las transacciones y actividades que podran ocurrir durante un periodo de un ao deberan ejecutarse. Incluyendo todos los ciclos y eventos diarios, semanales y mensuales que sean datos sensitivos, como las agendas. Ejecute cada caso de uso, flujo bsico o funcin utilizando datos vlidos e invlidos, para verificar que: Incremente el nmero de veces en que una funcin es ejecutada para simular diferentes usuarios sobre un periodo especificado Todas las fechas o funciones que involucren tiempos sern probadas con datos vlidos e invlidos de fechas o periodos de tiempo. Todas las funciones ocurren en un periodo de tiempo sern ejecutadas en el tiempo

Descripcin de la Prueba:

Tcnica:

apropiado. Los resultados esperados ocurren cuando los datos vlidos son usados. Los mensajes de error o de advertencia aparecen en el momento adecuado, cuando se utiliza un dato invlido. Cada regla de negocios es aplicada

adecuadamente. Criterio de Completitud: Todas las pruebas planeadas han sido

Ao 2013

Pgina 21

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


ejecutadas. Todos los defectos que se identificaron han sido tenidos en cuenta. Consideraciones Especiales: Las fechas y eventos del sistema pueden requerir actividades especiales de soporte. Se requiere un modelo de negocios para identificar requisitos y procedimientos de prueba apropiados. Pruebas de GUI Objetivo de la Prueba: Verifica lo siguiente:

La navegacin a travs de los objetos de la prueba reflejan las funcionalidades del negocio y requisitos, se realiza una navegacin ventana por ventana, usando los modos de acceso (tabuladores, movimientos del mouse, teclas rpidas, etc.) Los objetos de la ventana y caractersticas, tales como mens, medidas, posiciones, estados y focos se verifican conforme a los estndares.

Descripcin de la Prueba:

Tcnica:

Criterio de Completitud:

La prueba de interfaz de usuario verifica la interaccin del usuario con el software. El objetivo es asegurar que la interfaz tiene apropiada navegacin a travs de las diferentes funcionalidades. Adicionalmente, las pruebas de interfaz aseguran que los objetos de la interfaz a ser probada se encuentra dentro de los estndares de la industria Pruebas de crear / modificar cada ventana para verificar la adecuada navegacin y estado de los objetos. Cada ventana elegida ser totalmente verificada y comparada con similares en el mercado logrando una buena aceptacin dentro del estndar.

Consideraciones Especiales: Ninguna Pruebas de Configuracin

Ao 2013

Pgina 22

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


Objetivo de la Prueba: Validar y verificar que el cliente del sistema funciona apropiadamente en las estaciones de trabajo recomendadas. Estas pruebas verifican la operacin del sistema en diferentes configuraciones de hardware y software. En la mayora de los ambientes de produccin, las especificaciones para las estaciones de trabajo, equipos de red y servidores pueden variar. Las estaciones pueden tener diferentes versiones de software instaladas (Sistemas Operativos, Drivers, etc.) y en cualquier momento, pueden llegar a utilizarse diferentes combinaciones. Con frecuencia, el nmero de configuraciones posibles es demasiado grande para intentar una prueba de cada una de ellas, pero el programa debe probarse al menos con cada tipo de dispositivo y con las configuraciones mnima y mxima posibles. Use los scripts para Integracin y Pruebas del Sistema. Incluya la apertura o cierre de varias aplicaciones Microsoft, como Excel y Word (o algn tipo de software similar a la que se est probando ) como una parte de la prueba, ya sea al comienzo o en algn momento intermedio. Ejecute algunas transacciones para simular actividades cotidianas del usuario, dentro y fuera de las aplicaciones que interactan con la Base. Repita estos pasos, minimizando la cantidad de memoria clientes. Criterio de Completitud: Para cada combinacin de aplicaciones que interactan con la Base de datos a probar, las transacciones deben ser ejecutadas sin fallas. Consideraciones Especiales: Qu aplicaciones estn disponibles para los Ao 2013 Pgina 23 convencional disponible en los

Descripcin de la Prueba:

Tcnica:

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


clientes? Qu aplicaciones se utilizan normalmente? Qu tipos de datos manejan estas aplicaciones? (ej. Una larga hoja de clculo, o un documento de 100 pg. En Word.) Los sistemas, software de red, servidores, bases de datos tambin deben ser incluidas como parte de estas pruebas. Prueba de Estilo Objetivo de la Prueba: Comprobar que la aplicacin sigue los estndares de estilo propios del cliente. Descripcin de la Prueba: Tcnica: Se entienden como tales el formato de las ventanas, colores corporativos, tipos de letra etc. Se realiza una navegacin por la aplicacin verificando si se cumplen con los

estndares de GUI del cliente. Validar objetos grficos contra el manual de estilos del cliente. Criterio de Completitud: Todas las pruebas planeadas han sido ejecutadas. Todos los defectos que se identificaron han sido tenidos en cuenta. Consideraciones Especiales:

Solicitar al cliente el manual de estilos, en caso de no existir, hacer un levantamiento preliminar de este con base en la informacin corporativa existente.

Prueba de Aceptacin Objetivo de la Prueba: Determinacin por parte del cliente de la aceptacin o rechazo del sistema desarrollado. Ao 2013 Pgina 24

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


Descripcin de la Prueba: La prueba de aceptacin es ejecutada antes de que la aplicacin sea instalada dentro de un ambiente de produccin. La prueba de aceptacin es generalmente desarrollada y ejecutada por el cliente o un especialista de la aplicacin y es conducida a determinar como el sistema satisface sus criterios de aceptacin validando los requisitos que han sido levantados para el desarrollo, incluyendo a documentacin y procesos de negocio. Basado en esta prueba el cliente determina si acepta o rechaza el sistema Estas pruebas estn destinadas a probar que el producto est listo para el uso operativo. Suelen ser un subconjunto de las Pruebas de Sistema. Sirve para que el usuario pueda validar si el producto final se ajusta a los requisitos fijados, es decir, si el producto est listo para ser implantado para el uso operativo en el entorno del usuario. Esta prueba es complementada por la prueba de estilo. Realizacin de los documentos de planes de prueba de aceptacin y especificacin de los mismos, basados en los criterios de aceptacin del cliente. Los casos prueba de aceptacin han de ser planificados, organizados y formalizados de manera que se determine el cumplimiento de los requisitos del sistema. Para la realizacin de estas pruebas se necesita disponer de los siguientes documentos:

Tcnica:

Especificacin de requisitos del sistema. Manual de usuario. Manual de administrador.

Realizar Pruebas de estilo Criterio de Completitud: Todas las pruebas planeadas han sido ejecutadas. Todos los defectos que se identificaron han sido tenidos en cuenta. Ao 2013 Pgina 25

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


Consideraciones Especiales: Las Pruebas de Aceptacin se suelen realizar en un entorno de pre-produccin. Prueba de Instalacin Objetivo de la Prueba: Verificar y validar que el sistema se instala apropiadamente en cada cliente, bajo las siguientes condiciones: Instalaciones nuevas, nuevas mquinas a las que nunca se les ha instalado el sistema. Actualizar mquinas previamente instaladas con el sistema. Instalar versiones viejas en mquinas previamente instaladas con el sistema. Descripcin de la Prueba: Las pruebas de instalacin tienen dos propsitos. El primero es asegurar que el sistema puede ser instalado en todas las configuraciones posibles, tales como nuevas instalaciones, actualizaciones, instalaciones completas o personalizadas, y bajo condiciones normales o anormales; estas ltimas incluyen insuficiente espacio en disco, falta de privilegios para algunas tareas, etc. El segundo propsito es verificar que, una vez instalado, el sistema opera correctamente. Esto usualmente implica correr un nmero significativo de pruebas de Funcionalidad. Disear scripts para validar las condiciones de la mquina a instalar . Realizar la instalacin Criterio de Completitud: Las transacciones de la aplicacin se ejecutan sin fallas. Consideraciones Especiales: Qu transacciones del sistema se deben seleccionar para realizar una prueba confiable de que el sistema ha sido instalado exitosamente y no hace falta ningn componente del sistema? Pgina 26

Tcnica:

Ao 2013

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


Pruebas Funcionales Objetivo de la Prueba: Se asegura la trabajo apropiado de los requisitos funcionales, incluyendo la navegacin, entrada de datos, procesamiento y obtencin de resultados Las pruebas Funcionales deben enfocarse en los requisitos funcionales, las pruebas pueden estar basadas directamente en los Casos de Uso (o funciones de negocio), y las reglas del negocio. Las metas de estas pruebas son:

Descripcin de la Prueba:

Verificar la apropiada aceptacin de datos, Verificar el procesamiento y recuperacin y la implementacin adecuada de las reglas del negocio.

Tcnica:

Este tipo de pruebas estn basadas en tcnicas de caja negra, que es, verificar la aplicacin (y sus procesos internos) mediante la interaccin con la aplicacin va GUI y analizar la salida (resultados). Lo que se identifica a continuacin es un diseo preliminar de las pruebas recomendadas para cada aplicacin. Se ejecuta cada caso de uso, flujo de caso de uso, o funcin, usando datos vlidos e invlidos, para verificar lo siguiente:

Que los resultados esperados ocurran cuando se usen datos vlidos. Que sean desplegados los mensajes apropiados de error y precaucin cuando se usan datos invlidos. Que se aplique apropiadamente cada regla de negocio. Todas las pruebas planeadas han sido ejecutadas. Todos los defectos que se identificaron han sido tenidos en cuenta.

Criterio de Completitud:

Consideraciones Especiales: Identifique o describa aquellos aspectos (internos o externos) que impactan la implementacin y ejecucin de las pruebas de funcionalidad. Prueba de Documentacin Y Procedimiento Objetivo de la Prueba: Descripcin de la Prueba: Ao 2013 Evaluar la documentacin del usuario Evaluar la exactitud y claridad de la documentacin Pgina 27

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


del usuario y para determinar si el manual de procedimientos trabajar correctamente como una parte integral del sistema. Muchos defectos son identificados cuando un probador competente chequea totalmente los manuales y documentacin del usuario. Muchos programas son parte de sistemas mayores, no completamente automatizados, que contienen procedimientos realizados por operadores. Cualquier procedimiento humano, tal como los que llevan a cabo el operador, el administrador de la base de datos, o el usuario de terminal, debe ser probado durante la prueba de sistemas. Revisar la documentacin del proyecto contra las funcionalidades del sistema y su configuracin fsica. Todas las pruebas planeadas han sido ejecutadas. Todos los defectos que se identificaron han sido tenidos en cuenta.

Tcnica:

Criterio de Completitud:

Consideraciones Especiales: Ninguna. Prueba de Usabilidad Objetivo de la Prueba: Descripcin de la Prueba: Determinar la usabilidad del sistema. Determina cun bien el usuario podr usar y entender la aplicacin. Identifica las reas de diseo que hacen al sistema de difcil uso para el usuario. La prueba de usabilidad detecta problemas relacionados con la conveniencia y practicidad del sistema desde el punto de vista del usuario. Verificar que la aplicacin no presenta los siguientes problemas de usabilidad tpicos:

Tcnica:

El sistema es demasiado complejo y difcil de usar. Es difcil instalar y entender el sistema La recuperacin de errores es pobre y los mensajes de error no tienen significado La sintaxis de los comandos es difcil de aprender y recordar El sistema obliga al usuario a recordar formatos y secuencias fijas Los procedimientos no son simples ni Pgina 28

Ao 2013

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


obvios El sistema no tiene instrucciones de ayuda por computadora y tiene manuales pobres. Los diagramas, pantallas, reportes y grficos son de calidad y apariencia pobre El sistema carece de herramientas de construccin adecuadas y requiere mltiples comandos La lgica y conveniencia de los botones, switches, displays y mensajes de ayuda deben ser testeados. (La prueba de usabilidad puede ser conducida por un grupo separado si es posible.

Criterio de Completitud:

Se deben crear casos de prueba para comprobar que se puede operar en el sistema de forma adecuada. Todas las pruebas planeadas han sido ejecutadas. Todos los defectos que se identificaron han sido tenidos en cuenta.

Consideraciones Especiales: Ninguna Prueba de Campo Objetivo de la Prueba: Correr el sistema en el ambiente real para encontrar errores y validar el producto contra sus especificaciones originales. Realizar un subconjunto vlido de pruebas de sistema. Determinar que pruebas de sistema sern corridas para validar el sistema en produccin. Todas las pruebas planeadas han sido ejecutadas. Todos los defectos que se identificaron han sido tenidos en cuenta.

Descripcin de la Prueba: Tcnica: Criterio de Completitud:

Consideraciones Especiales: Ninguna PRUEBAS DE VALIDACIN A APLICACIONES GENRICAS Pruebas Alfa Objetivo de la Prueba: Descripcin de la Prueba: Prueba de aceptacin para detectar errores en el sistema bajo un ambiente controlado. La verificacin involucra la ejecucin de partes o todo del sistema en ambientes simulados, con el fin Pgina 29

Ao 2013

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


de encontrar errores. La retroalimentacin de esta fase produce cambios en el software para resolver los errores y fallas que se descubren. Realizar las pruebas de sistema bajo las siguientes caractersticas:

Tcnica:

se llevan a cabo en el lugar en donde fue desarrollado el sw, en un ambiente controlado, en el cual el desarrollador est presente.

Criterio de Completitud:

Se selecciona un grupo de usuarios para el alpha test y se les pide trabajen con el sistema como parte de las pruebas. Todas las pruebas planeadas han sido ejecutadas. Todos los defectos que se identificaron han sido tenidos en cuenta.

Consideraciones Especiales: Ninguna Pruebas Beta Objetivo de la Prueba: Descripcin de la Prueba: Realizar la validacin del sistema por parte del usuario. Prueba de aceptacin donde La validacin (o pruebas beta) involucra el uso del software en un ambiente real. Se selecciona un grupo de usuarios que ponen a trabajar el sistema en un ambiente real. Usan el sistema en sus actividades cotidianas, procesan transacciones y producen salidas normales del sistema. Las transacciones y personas que usan el sistema son reales y trabajan en su rea de trabajo real. El desarrollador no est presente. Los usuarios estn advertidos de que estn usando un sistema que puede fallar. Los usuarios realizan pruebas a su antojo realizando uso de la aplicacin. Se establece un periodo de pruebas beta en el que los errores detectados no sean de carcter crtico Pgina 30

Tcnica:

Criterio de Completitud:

Ao 2013

Ingeniera de Software II Docente: Ing. Marisol Lara Garca


para el sistema. Consideraciones Especiales: Se deben considerar mecanismos de comunicacin entre los desarrolladores y los usuarios de manera que los errores detectados puedan ser corregidos.

Ao 2013

Pgina 31

También podría gustarte