Você está na página 1de 37

Pruebas de Software

Sistemas de Informacin II

ITSPA ISC Alfredo Ayala Ortega

Definicin de Prueba
Testing: es el proceso orientado a demostrar que un programa no tiene errores. Testing: es la tarea de demostrar que un programa realiza las funciones para las cuales fue construido. Testing: es la tarea de probar que un programa realiza lo que se supone debe hacer. An haciendo lo esperado, puede contener errores. Testing: es la ejecucin de programas de software con el objetivo de detectar defectos y fallas. Proceso destructivo, sdico.

Otras definiciones
Error: una equivocacin de una persona al desarrollar alguna actividad de desarrollo de software. Defecto: se produce cuando una persona comete un error. Falla: es un desvo respecto del comportamiento esperado del sistema, puede producirse en cualquier etapa

Notas: Defecto es una vista interna, lo ven los desarrolladores. Falla es una vista externa, la ven los usuarios.

Costos

Principios
Una parte necesaria de un test es la definicin de los resultados esperados Un programador debe evitar probar su propio desarrollo Una organizacin no debe probar sus propios desarrollos Revise los resultados de los test en profundidad Los test deben incluir entradas invlidas e inesperadas as como las vlidas y esperadas

Principios
Revisar un programa para verificar que hace lo que se espera que haga es slo la mitad de la prueba; la otra mitad consiste comprobar que no haga lo que no se espera No tirar los test a la basura a menos que el programa sea basura No planear esfuerzos de pruebas asumiendo que no se encontrarn errores

Principios
La probabilidad de encontrar errores en una seccin de un programa es proporcional al nmero de errores ya encontrados en esa seccin E l t e s t i n g c o n s t i t u y e u n a t a r e a c r e a t i v a e intelectualmente desafiante

El proceso de pruebas en el ciclo de vida


El estndar ISO/IEC 12207 (ISO/IEC 1995) identifica tres grupos de procesos en el ciclo de vida software:
Procesos principales Procesos de la organizacin Procesos de soporte o auxiliares

No define, como vemos, un proceso de Pruebas como tal, sino que aconseja, durante la ejecucin de los procesos principales o de la organizacin, utilizar los procesos de soporte.

Pruebas
Entre stos se encuentran los procesos de Validacin y de Verificacin:
El proceso de Validacin tiene como objetivo determinar si los requisitos y el sistema final cumplen los objetivos para los que se construy el producto, respondiendo as a la pregunta el producto es correcto? El proceso de Verificacin intenta determinar si los productos software de una actividad se ajustan a los requisitos o a las condiciones impuestas en actividades anteriores. De este modo, la pregunta a la que responde este proceso es se est construyendo el producto correctamente?

UNA ESTRATEGIA DE PRUEBA DEL SW


La prueba en el contexto de espiral

Niveles de Prueba
Test Unitarios Test de Componentes / Test de Integracin Test de Funcionalidad Test de Sistema Test de Aceptacin Test de Instalacin

Modelo Tradicional

Modelo Actual

Niveles de prueba

Tipo de Pruebas
Pruebas Unitarias Hacen uso intensivo de tcnicas de prueba de caja blanca. Se prueba la interfaz del mdulo (Primero que todo, si no funciona, NO seguir. Verificar que la informacin llega y sale de manera correcta). Estructuras de datos locales (datos se conservan ntegros durante la ejecucin).

Tipo de Pruebas
Pruebas Unitarias
Condiciones lmites. (Caminos de control para asegurar que se ejecutan al menos una vez; luego se prueban todos los caminos de manejo de errores). Validez Funcional.

Tipo de Pruebas
Pruebas de integracin Usa fundamentalmente tcnicas de caja negra. Algunas veces usa tcnicas de prueba de caja blanca para asegurar que se cubren los principales caminos de control.

Tipo de Pruebas
Pruebas de Alto Nivel Sirven para comprobar si se cumplen los criterios de validacin. Prueba de Validacin Se usa para verificar si se cumplen todos los requerimientos funcionales, de comportamiento y de rendimiento.

Tipo de Pruebas
Prueba del Sistema Operando en condiciones reales. Pruebas de recuperacin Pruebas de seguridad Pruebas de resistencia (pruebas en situaciones anormales) Pruebas de rendimiento

Un problema tpico es la delegacin de culpabilidad, esto ocurre cuando se descubre un error y cada uno de los creadores de cada elemento del sistema echa la culpa del problema a los otros. Se debe anticipar a los posibles problemas y: 1.disear caminos de manejo de errores que prueben toda la informacin procedente de los elementos del sistema; 2.llevar a cabo una serie de pruebas que simulen la presencia de datos en mal estado o de otros posibles errores en la interfaz del software; 3.registrar los resultados de las pruebas como evidencia en el caso de que se le seale con el dedo; 4.participar en la planificacin y el diseo de pruebas del sistema para asegurarse de que el software se prueba de forma adecuada.

PRUEBA DEL SISTEMA.

Pruebas Alfa y Beta


Para descubrir errores que pareciera que slo el usuario puede descubrir.

Prueba Alfa Se hace en el lugar de desarrollo y con un cliente que la realiza. El desarrollador es un observador del usuario y registra errores y problemas de uso. Pruebas Beta La hacen los usuario finales. Se hacen despus de haber acogido las pruebas del sistema y las pruebas alfa.

UNA ESTRATEGIA DE PRUEBA DEL SW

Desde el punto de vista procedimental


Requisitos Diseo Pruebas de alto nivel Prueba de Integraci n Prueba de unidad

Codificacin Direccin del la prueba

Etapas de prueba del SW

23

Pruebas de Software

Estrategias de prueba del software. Niveles de prueba


1. Prueba de unidad: es la prueba de cada mdulo, que
normalmente realiza el propio personal de desarrollo en su entorno mdulos probados se integran para comprobar sus interfaces en el trabajo conjunto prueba como un todo para comprobar si cumple los requisitos funcionales y de rendimiento, facilidad de mantenimiento, recuperacin de errores, etc. sistema (rendimiento, seguridad, recuperacin y resistencia) de explotacin si lo acepta como est o no

2. Prueba de integracin: con el esquema del diseo del software, los

3. Prueba de validacin: el software totalmente ensamblado se

4. Prueba del sistema: el sw. ya validado se integra con el resto del 5. Prueba de aceptacin: el usuario comprueba en su propio entorno

Profe sor: Juan Anto nio

24

Relacin entre productos de desarrollo y niveles de prueba

Pruebas de Software

Requisitos de usuario Especificacin de requisitos Diseo modular Especificacin lgica del mdulo
(Piattini et al. 96) Cdigo

Pruebas de aceptaci n Pruebas de sistema Pruebas de integracin Pruebas de unidad

Profe sor: Juan Anto nio

Tipos de prueba
Test de Facilidad Test de Volumen Test de Stress Test de Usabilidad Test de Seguridad Test de Performance Test de Configuracin

Tipos de prueba
Test de Insta labilidad Test de Fiabilidad Test de Recuperacin Test de Documentacin Test de Mantenibilidad

Caja Negra
Pruebas funcionales sin acceso al cdigo fuente de las aplicaciones, se trabaja con entradas y salidas

Caja Negra

Caja Negra

Pruebas de Caja Negra


Permiten obtener conjuntos de condiciones de entrada que ejecuten todos los requisitos funcionales de un programa. Las pruebas de caja negra NO son una alternativa a las tcnicas de prueba de caja blanca. Es un enfoque complementario. Las pruebas de caja negra intentan hallar errores tales como:

Pruebas de Caja Negra


1. Funciones incorrectas o ausentes. 2. Errores de interfaz. 3. Errores en estructuras de datos o en accesos a BD externas. 4. Errores de rendimiento. 5. Errores de inicializacin y de terminacin.

Otras Pruebas

Pruebas de GUI (Interfaces Grficas de Usuario).

Pruebas de Arquitectura Cliente/Servidor.

Pruebas de Documentacin y Ayudas.

Caja Blanca
Pruebas con acceso al cdigo fuente (datos y lgica). Se trabaja con entradas, salidas y el conocimiento interno. 1. Garanticen que se ejercitan por lo menos una vez TODOS los caminos, independientemente de cada mdulo.

2. Ejerciten todas las decisiones lgicas por sus vertientes Cierto y Falso. 3. Ejecuten todos los ciclos en sus lmites y lmites operacionales. 4. Ejerciten las estructuras internas de datos para asegurar su validez.

Caja Blanca

Caja Blanca

Diseo de caso de prueba


Clases de equivalencia Decisiones/condiciones Valores lmites Tester Visitante

Pruebas

Você também pode gostar