Pruebas de Software - ITSPA
-
Upload
xhubuntu-durchet -
Category
Documents
-
view
106 -
download
0
Transcript of Pruebas de Software - ITSPA
Pruebas de SoftwareSistemas 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 PruebasPruebas 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 PruebasPruebas 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 PruebasPruebas 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 PruebasPruebas 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 PruebasPrueba 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 BetaPara 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 procedimentalRequisitos 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 prueba1. Prueba de unidad: es la prueba de cada mdulo, quenormalmente 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 NegraPermiten 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 Negra1. 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