Anda di halaman 1dari 6

1. Explique por qu las pruebas solo pueden detectar la presencia de errores, no su ausencia.

Porque el objetivo de las pruebas es la deteccin de defectos en el software (descubrir un error es el xito de una prueba) y el descubrimiento de un defecto significa un xito para la mejora de la calidad. Es interesante planificar y disear las pruebas para poder detectar el mximo nmero y variedad de defectos con el mnimo consumo de tiempo y esfuerzo.

2. Compare una integracin y pruebas ascendente y descendente comentando sus ventajas y desventajas para pruebas arquitectnicas, para mostrar una versin del sistema a los usuarios y para la implementacin prctica y observacin de las pruebas. Explique porqu la integracin de la mayora de los sistemas grandes, en la prctica, tiene que usar una mezcla de aproximaciones ascendentes y descendentes.

Ascendente Ventajas

Descendente Ventajas Es ventajosa si aparecen grandes defectos en los niveles superiores del programa, ya que se prueban antes. Una vez incorporadas las funciones de entrada/salida, es fcil manejar los casos de prueba. Permite ver antes una estructura previa del programa, lo que facilita el hacer demostraciones y ayuda a mantener la moral.

Es un mtodo ventajoso si aparecen grandes fallos en la parte inferior del programa, ya que se prueba antes. La entradas para las pruebas son ms fciles de crear, puesto que los mdulos inferiores tienen funciones ms especficas. Es ms fcil observar los resultados de la prueba, ya que es en los mdulos inferiores donde se elaboran los datos (los superiores suelen ser mdulos de control).

Desventajas Se requieren

Desventajas mdulos Se requieren mdulos ficticios

impulsores, que deben codificarse. El programa, como entidad, slo aparece cuando se agrega el ltimo mdulo.

que suelen ser complejos de crear. Antes de incorporar la entrada/salida resulta complicado el manejo de los casos de prueba. Las entradas para las pruebas pueden ser difciles o imposibles de crear, puesto que, a menudo, se carece de los mdulos inferiores que proporcionan los detalles de operacin. Es ms difcil observar la salida, ya que los resultados surgen de los mdulos inferiores. Pueden inducir a diferir la terminacin de la prueba de ciertos mdulos.

Integracin Descendente: Esta ataca directamente a la implementaron de los mdulos desde el programa principal hacia los mdulos inferiores de manera jerrquica. El modo de funcionamiento consiste en que el modulo de control principal maneje toda la informacin de las pruebas y las distribuya directamente a los mdulos que se encuentren inmediatamente subordinados, y a su ves estos van realizando el mismo procedimiento a sus mdulos dependientes. Hay que tener presente que las pruebas se tienen que realizar cada ves que se va incorporando un nuevo mdulo.

La estrategia descendente suena relativamente fcil, pero en la realidad pueden producirse algunos problemas logsticos que podran llegar a repercutir en los resultados de nuestras pruebas, esto se refiere a, que ocurrira si un mdulo de nivel jerrquico superior depende de clculos realizados en un mdulo de nivel inferior. El encargado de realizar la prueba tiene tres opciones ante esta problemtica:

Retrasar muchas de las pruebas hasta que se fusionen los mdulos faltantes.

Realizar resguardos que realicen funciones limitadas que simulen los mdulos reales.

Integrar el software desde el fondo de la jerarqua hacia arriba.

La primera aproximacin hace que perdamos cierto control sobre la correspondencia de ciertas pruebas especificas con la incorporacin de estos mdulos y por ende el control que realicemos no ser tan exacto y acabado, adems de producir incongruencia en los resultados, por ende, dificulta la determinacin de la causa del error y tiende a violar la naturaleza altamente de restrictiva de la aproximacin descendente. La segunda aproximacin es factible, pero puede llevar a un significativo incremento del esfuerzo a medida que los resguardos se hagan mas y mas complejos.

Integracin Ascendente: Las pruebas de integracin ascendente, como su nombre lo indica, consiste bsicamente en tratar el mdulo atmico (mdulo de nivel jerrquico mas bajo) hacia arriba. Dado que los mdulos son integrados de abajo hacia arriba, e procesamiento requerido de los mdulos subordinados siempre esta disponible y se elimina la necesidad de resguardo.

Una estrategia de integracin ascendente puede ser implementada mediante los siguientes pasos:

Se combinan los mdulos de bajo nivel en grupos que realicen una funcin especifica del software.

Se escribe un conductor (Programa de control de la prueba) para coordinar la entrada y la salida de los casos de prueba.

Se prueba el grupo.

Se eliminan los conductores y se combinan los grupos movindose hacia arriba por la estructura del programa.

A medida que la integracin progresa hacia arriba, disminuye la necesidad de conductores de pruebas separados. De hecho si los niveles superiores del programa se integran de forma descendente, se pueden reducir sustancialmente en numero de conductores y se simplifica enormemente la integracin de grupos.

Hay muchas discusiones sobre las ventajas y desventajas de las pruebas de integracin ascendentes frente a las descendentes, pero los que tenemos que tener claro, que se lleg a la conclusin que las ventajas de una, son las desventajas de la otra.

La seleccin de un tipo de prueba de integracin depender directamente del software y a veces del plan del proyecto. En general el mejor compromiso puede ser una aproximacin combinada (a veces denominada prueba sndwich) que use la descendente para los niveles superiores de la estructura del programa junto con la ascendente para los niveles subordinados.

A medida que progresen las pruebas de integracin, el encargado debe identificar los mdulos crticos. Un mdulo crtico es aquel que tiene una o ms de las siguientes caractersticas:

Esta dirigido a varios requerimientos del software. Tiene un mayor nivel de control (Reside relativamente alto en la estructura del programa). Es complejo o propenso a errores. Tiene unos requerimientos de rendimientos muy definidos

Los mdulos crticos deben ser probados lo antes posible. Adems las pruebas de regresin se deben centrar en el funcionamiento de los mdulos crticos.

3. Explique porqu las pruebas de interfaz son necesarias incluso cuando los componentes individuales han sido validados

extensamente a travs de las pruebas de componentes e inspecciones de programas.

Las pruebas de interfaces son particularmente importantes para el desarrollo orientado a objetos y basado en componentes. Los objetos y componentes se definen por sus interfaces y pueden ser reutilizados en combinacin con otros componentes en sistemas diferentes. Los errores de interfaz en el componente compuesto no pueden detectarse probando los objetos individuales o componentes. Los errores en el componente compuesto pueden surgir debido a interacciones entre sus partes.

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 encuentran dentro de los estndares de la industria.

4. Indique tres situaciones en las que las pruebas de todos los caminos independientes en un programa pueden o no detectar errores en el programa.

1ra. Situacin: Una vez determinada la cantidad de pruebas necesarias, los datos no sean variados, no se consideren errores humanos en el ingreso de datos. Esto dara resultados errneos en la prueba de los caminos independientes. 2da. Situacin: En la etapa de actualizacin de los sistemas, las pruebas de caminos independientes originales no tendran la validez, ya que los mdulos adicionados o modificados podran anular los resultados arrojados.

3ra. Situacin: Una vez determinada la cantidad de pruebas necesarias, se necesita que las pruebas se realicen con datos tomados de procesos anteriores o de uso real.