Tecnicas de Prueba Del Software

download Tecnicas de Prueba Del Software

of 23

description

Apuntes programacion

Transcript of Tecnicas de Prueba Del Software

  • El ingeniero intenta construir el software partiendo de un concepto

    Abstracto y llegando a una implementacin

    Tangible

  • Objetivos de las pruebas

    La prueba es el proceso de

    ejecucin de un programa

    con la intencin de descubrir un

    error.

    Nuestro objetivo es disear pruebas que sistemticamente saquen a la luz diferentes clases de errores, hacindolo con la menor cantidad de tiempo y de esfuerzo.

    Una prueba tiene xito si descubre un

    error no detectado

    hasta entonces.

    Nos quitan la idea que, normalmente, tenemos de que una prueba tiene xito si no

    descubre errores..

    Un buen caso de prueba es aquel

    que tiene una alta

    probabilidad de mostrar un error no descubierto

    hasta entonces.

  • El ingeniero crea una serie de casos de prueba que intentan demoler el software construido

    Las pruebas son uno de los pasos de la ingeniera del software que se puede ver (por lo menos, psicolgicamente) como destructivo en lugar de constructivo.

  • VERIFICACIN Y VALIDACIN (V &V) La verificacin se refiere al conjunto de actividades

    que asegura que el software implementa adecuadamente una funcin especfica.

    La validacin se refiere a un conjunto diferente de actividades que aseguran que el software construido se ajusta a lo requerimientos del cliente.

    Bohem, lo define de otra forma: Verificacin Estamos construyendo el producto

    correctamente? Validacin Estamos construyendo el producto

    correcto?

  • Actividades de prueba de software Actividades de desarrollo

    Anlisis

    Diseo

    Codificacin

    Integracin

    Mantenimiento

    Doc. Requisitos

  • LAS PRUEBAS

    comprueban los caminos lgicos del software proponiendo

    casos de prueba que ejerciten conjuntos especficos de condiciones y/o bucles. Se puede examinar el

    estado del programa en varios puntos para determinar si el estado real coincide con el esperado o mencionado.

    DE LA CAJA BLANCA

    DE LA CAJA NEGRA Se basa las pruebas sobre la interfaz del software operatividad del sistema

    Se basa Es el minucioso examen de los detalles procedimentales (Cdigo

    Fuente). Es diseada despus de tener el

    cdigo fuente

  • La prueba en el contexto del ciclo de vida en espiral

  • LA PRUEBA DEL CAMINO BSICO Permite al

    diseador de casos de prueba obtener una medida de la complejidad lgica de un diseo procedimental y usar esa medida como gua para la definicin de un conjunto bsico de caminos de ejecucin

    Construcciones estructurales en forma de grafo de flujo: Segn-sea (Case) Secuencia Si-si-no Mientras Repetir-hasta- Segn Sea (If) (While) (Untii) (Case) Donde cada crculo representa una o ms sentencias, sin bifurcaciones, en LDP o cdigo fuente

  • Desde el punto de vista procedimental

    Pruebas de alto nivel

    Direccin del la prueba

    Codificacin

    Diseo

    Requisitos

    Prueba de unidad

    Prueba de Integracin

  • Pruebas de unidad La prueba de unidad centra el proceso de

    verificacin en la menor unidad del diseo del software(Mdulo). Aqu se prueban los caminos de control importantes, con el fin de descubrir errores dentro del mbito de un mdulo.

  • Prueba de Integracin Si todos funcionan bien

    Por qu dudar de que no funcionen todos juntos?

    La prueba de Integracin es una tcnica

    sistemtica para construir la estructura del programa mientras que al mismo

    tiempo, se llevan a cabo pruebas para detectar errores asociados con la

    interaccin.

  • Pruebas de Regresin Cada vez que se aade un nuevo modulo

    como parte de una prueba de integracin el software cambia.

    La prueba de regresin es volver a ejecutar un subconjunto de pruebas que se han llevado a cabo anteriormente para asegurarse de que los cambios no han propagado efectos colaterales no deseados.

  • Prueba de Validacin La validacin puede definirse de muchas

    formas, pero una simple definicin es que la validacin se consigue cuando el software funciona de acuerdo con las expectativas razonables del cliente.

  • Pruebas de Resistencia (Stress) La prueba de resistencia ejecuta un sistema de forma que demande recursos en cantidad, frecuencia o volmenes anormales. Por ejemplo: 1. incrementar las frecuencias de datos de entrada en un orden

    de magnitud con el fin de comprobar cmo responden las funciones de entrada;

    2. disear pruebas especiales que generen diez, interrupciones por segundo, cuando las normales son una o dos;

    3. ejecutar casos de prueba que requieran el mximo de memoria o de otros recursos;

    4. disear casos de prueba que puedan dar problemas en un sistema operativo virtual

  • PRUEBA DE ENTRONOS ESPECIALIZADOS

  • Pruebas Funcionales Son pruebas de caja negra. Slo interesan las entradas y salidas del elemento a

    probar. No interesan aspectos de la implementacin. Distintos mtodos:

    Particiones equivalentes. Anlisis de Valores lmite. Pruebas aleatorias.

  • Diagramas de Flujo Diagrama de Flujo

    Representa la estructura y control del programa

    Grafo de Flujo Representa el Flujo de control

    lgico mediante notacin ilustrada

    Cada circula es un Nodo y corresponde a una secuencia de cuadros de proceso y a un

    rombo de decisin

    camino 1: 1-11 camino 2: 1-2-3-4-5-10-1-11 camino 3: 1-2-3-6-8-9-10-1-11 camino 4: 1-2-3-6-7-9-10-1-11 Fjese que cada nuevo camino introduce una nueva arista. Cual es el nuevo camino?

  • La Depuracin La depuracin ocurre como consecuencia de una prueba efectiva.

    Es decir, cuando un caso de prueba descubre un error, la depuracin es el proceso que provoca la eliminacin del error.

    Aunque la depuracin puede y debe ser un proceso ordenado, sigue teniendo mucho de arte. Un ingeniero del software, al evaluar los resultados de una prueba, se encuentra frecuentemente con una indicacin sintomtica de un problema en el software. Es decir, la manifestacin externa de un error, y la causa interna del error pueden no estar relacionadas de una forma obvia. El proceso mental, apenas comprendido, que conecta un sntoma con una causa es la depuracin.

  • La Depuracin La depuracin no es una prueba, pero siempre ocurre como

    consecuencia de la prueba. El proceso de depuracin siempre tiene uno de los dos resultados siguientes:

    1. se encuentra la causa, se corrige y se elimina; 2. o no se encuentra la causa.

    En este ltimo caso, la persona que realiza la depuracin debe sospechar la causa, disear un caso de prueba que ayude a confirmar sus sospechas y el trabajo vuelve hacia atrs a la correccin del error de una forma iterativa.

    Durante la depuracin encontramos errores que van desde lo ligeramente inesperado (por ejemplo, un formato de salida incorrecto) hasta lo catastrfico (por ejemplo, el sistema falla, producindose serios daos econmicos o fsicos).

  • El proceso de la depuracin

  • Enfoques de la depuracin Depuracin por fuerza bruta es la ms comn y menos eficiente a

    la hora de aislar la causa del error en el software. Aplicamos la depuracin por fuerza bruta cuando todo lo dems falla.

    La vuelta atrs es un enfoque ms normal porque se puede usar con xito para pequeos programas. Partiendo del lugar donde se descubre el sntoma, se recorre hacia atrs el cdigo fuente hasta que se llega a la posicin de error. Pero a medida que aumenta el nmero de lneas del cdigo, el nmero de posibles caminos de vuelta se hace difcilmente manejable.

    la depuracin eliminacin de causas se manifiesta mediante induccin o deduccin e introduce el concepto de particin binaria. Los datos relacionados con la ocurrencia del error se organizan para aislar las posibles causas. Se llega a una hiptesis de causa y se usan los datos anteriores para probar o revocar la hiptesis

  • TCNICAS DE PRUEBA DEL SOFTWARENmero de diapositiva 2FUNDAMENTOS DE LAS PRUEBAS Nmero de diapositiva 4VERIFICACIN Y VALIDACIN (V &V) Actividades de prueba de softwareLAS PRUEBASLa prueba en el contexto del ciclo de vida en espiral LA PRUEBA DEL CAMINO BSICODesde el punto de vista procedimental Pruebas de unidadPrueba de IntegracinPruebas de RegresinPrueba de ValidacinPruebas de Resistencia (Stress)Nmero de diapositiva 16Pruebas FuncionalesDiagramas de FlujoLa DepuracinLa DepuracinEl proceso de la depuracinEnfoques de la depuracinNmero de diapositiva 23