Вы находитесь на странице: 1из 38

Pruebas de Integracin

Pruebas de integracin
Si se han realizado las pruebas de unidad, y todos los mdulos funcionan bien, Por qu dudar de que funcionen bien cuando se integran?

Pruebas del Software

Pruebas de integracin, para qu?


El problema radica en crear la interfaz entre los mdulos. En la interfaz se podran perder datos, Un mdulo podra tener efectos adversos e inadvertidos sobre otro, La combinacin de subfunciones quiz no produzca la funcin principal deseada, La imprecisin aceptable en elementos individuales, podra ampliarse hasta grados inaceptables, Las estructuras globales de datos podran presentar problemas.
Pruebas del Software 3

Pruebas de integracin, qu es?


Es una tcnica sistemtica para construir la arquitectura del software mientras, al mismo tiempo, se aplican las pruebas para descubrir errores asociados con la interfaz.

Pruebas del Software

Integracin incremental
El programa se construye y prueba en pequeos incrementos, en los cuales resulta ms fcil aislar y corregir los errores, es ms probable que se prueben por completo las interfaces y se vuelve factible la aplicacin de un enfoque sistemtico.

Pruebas del Software

Tipos de pruebas de integracin


Integracin descendente Integracin ascendente Pruebas de regresin Pruebas de humo Integracin incremental de la funcionalidad

Pruebas del Software

Integracin descendente
Los mdulos se integran al descender por la jerarqua de control, Se empieza por el mdulo de control principal (programa principal). Los mdulos subordinados al mdulo principal se incorporan de una de dos maneras: primero en profundidad o primero en anchura.

Pruebas del Software

Integracin primero en profundidad


Integra todos los mdulos en una ruta de control principal de la estructura del programa. La seleccin de la ruta es arbitraria y depende de las caractersticas del programa.

Pruebas del Software

Ejemplo
M1 M2

M3

M4 Se integran M1, M2 y M5

M5

M6

M7

Posteriormente, si se requiere de M6 para que M2 funcione, se integra primero M6 y luego M8, si no, se integra M8 y luego M6 Despus se integra el flujo del medio,

M8

Finalmente se integra el flujo de la derecha


Pruebas del Software 9

Integracin primero en anchura


Se incorporan todos los mdulos directamente subordinados en cada nivel, desplazndose horizontalmente por la estructura.

Pruebas del Software

10

Ejemplo
M1 M2

M3

M4

M5

M6

M7

M8

Pruebas del Software

11

Proceso de integracin descendente


1. El mdulo de control principal se utiliza como controlador de prueba, y se sustituyen los resguardos en todos los componentes directamente relacionados al mdulo principal. Dependiendo del enfoque de integracin, se van reemplazando los resguardos subordinados, uno por uno, con los componentes reales. Se aplican pruebas cada que se integra un nuevo mdulo. Al completar cada conjunto de pruebas, se reemplaza otro resguardo con el mdulo real. Se aplica la prueba de regresin para asegurarse de que no se han introducido nuevos errores.
Pruebas del Software 12

2. 3. 4. 5.

Problemas
El problema ms comn del enfoque descendente es cuando se requieren funciones de mdulos de bajo nivel para que los de alto nivel funcionen adecuadamente. Alternativas
Retrasar las pruebas. Desarrollar resguardos para simular el funcionamiento de los mdulos. Integrar los mdulos de abajo hacia arriba.

Pruebas del Software

13

Integracin ascendente
Empieza la construccin y las pruebas con mdulos de los niveles ms bajos de la estructura del programa. Ventaja:
Siempre est disponible el procesamiento requerido para los componentes subordinados a un determinado nivel. No se requieren resguardos.

Pruebas del Software

14

Proceso de integracin ascendente


Se combinan los mdulos de bajo nivel en grupos que realicen una subfuncin especfica del software. Se escribe un controlador (un programa de control de pruebas) con el fin de coordinar la entrada y la salida de los casos de prueba. Se prueba el grupo Se eliminan los controladores y se combinan los grupos ascendiendo por la estructura del programa.
Pruebas del Software 15

Ejemplo
Mc
Ma Mb

C1

C2

C3

Grupo 3

Grupo 1 Grupo 2
Pruebas del Software 16

Pruebas de regresin
Los cambios que surgen de la integracin de mdulos pueden causar problemas con funciones que antes funcionaban bien. Las pruebas de regresin consisten en ejecutar el mismo conjunto de pruebas que ya se ha aplicado, para asegurar que los cambios no han afectado el funcionamiento del sistema.

Pruebas del Software

17

Pruebas de regresin
Las pruebas de regresin contienen tres distintas clases de casos de prueba:
Una muestra representativa de pruebas que ejecutarn todas las funciones del software. Pruebas adicionales que se concentran en las funciones que probablemente el cambio afecte. Pruebas que se concentran en los componentes del software que han cambiado.

Pruebas del Software

18

Pruebas de humo
Es un enfoque de prueba de integracin que se realiza mientras el software se desarrolla, y que consiste en las siguientes actividades:
Los componentes de software traducidos a cdigo se integran en una sola construccin. Se disea una serie de pruebas para exponer errores que impedirn que la construccin realice apropiadamente su funcin. La construccin se integra con otras construcciones, y diariamente se aplica una prueba de humo a todo el producto en su forma actual.
Pruebas del Software 19

Pruebas de humo
Ventajas:
Se minimiza el riesgo en la integracin. Se mejora la calidad del producto final. Se simplifica el diagnstico y la correccin de errores. El progreso es ms fcil de evaluar.

Pruebas del Software

20

Integracin incremental de la funcionalidad


La integracin y las pruebas se realizan con base en las funciones o funcionalidad, de la forma en que se haya documentado en la especificacin de funcionalidad. Es decir, se toma una determinada funcin del sistema, y se integran los componentes que implementan dicha funcionalidad.

Pruebas del Software

21

Ejercicio
Formar equipos de cuatro personas. Determinar las caractersticas que debe tener un sistema para que su integracin se pueda realizar de forma:
Descendente Ascendente Incremento de funcionalidad

Qu tipos de sistemas deben integrarse siguiendo cada uno de los modelos de integracin anteriores? Escribir sus conclusiones y expresarlas al grupo.
Pruebas del Software 22

Pruebas del sistema

Pruebas del sistema


El software forma parte de un sistema ms grande compuesto de hardware, personas, informacin, otros productos de software, etc. La prueba del sistema abarca un conjunto de pruebas diferentes cuyo propsito es ejercitar profundamente el sistema de cmputo en su totalidad. Deben asegurar que el sistema completo est integrado adecuadamente.
Pruebas del Software 24

Prueba del sistema


Comnmente es la ltima prueba del proceso de desarrollo con el fin de determinar si el sistema cumple su especificacin, y debe ser diseada para encontrar la mayor cantidad de defectos posibles. La prueba del sistema debe investigar tanto los requerimientos funcionales como los no funcionales.

Pruebas del Software

25

Tipos de pruebas de sistema


Prueba de recuperacin Prueba de seguridad Prueba de resistencia Prueba de desempeo

Pruebas del Software

26

Prueba de recuperacin
Obliga al software a fallar de varias maneras y verifica que se recupere adecuadamente.
Se utiliza para verificar que tan tolerante a fallos es el sistema, o qu tan fcil es corregir el sistema despus de una falla.

Si la recuperacin es automtica debe evaluarse que sean correctos la reinicializacin, los mecanismos de respaldo, la recuperacin de datos y el nuevo arranque. Si se requiere intervencin humana, se debe evaluar el tiempo medio de reparacin.
Pruebas del Software 27

Prueba de seguridad
Comprueba que los mecanismos de proteccin integrados al sistema realmente lo protejan de irrupciones inapropiadas. Quien realiza la prueba desempea el rol de un individuo que quiere ingresar al sistema. El papel del diseador del sistema es lograr que el costo de la irrupcin sea mayor que el valor de la informacin que se obtendr.
Pruebas del Software 28

Prueba de resistencia
Ejecuta un sistema de tal manera que requiera una cantidad, una frecuencia o un volumen anormal de recursos. Por ejemplo:
Generar diez interrupciones por segundo cuando la taza media es de dos. Aumentar la frecuencia de entrada de datos en una magnitud que permita determinar cmo respondern las funciones de entrada. Se ejecutan casos de prueba que requieran el mximo de memoria u otros recursos. Se causan problemas de administracin de memoria. Se producen bsquedas excesivas de datos en el disco.
Pruebas del Software 29

Prueba de desempeo
Est diseada para probar el desempeo del sistema en tiempo de ejecucin. Con frecuencia se vinculan con pruebas de resistencia y suelen requerir instrumentacin de software y hardware.

Pruebas del Software

30

Ejercicio
Agruparse por equipos de cuatro personas:
Definir una prueba de sistema para cada uno de los tipos de prueba descritos anteriormente para un sistema hipottico definido por ustedes.

Pruebas del Software

31

Pruebas de aceptacin

Pruebas de aceptacin
Tambin son conocidas como pruebas de validacin. Se concentran en las acciones visibles para el usuario y en la salida del sistema que ste puede conocer. Deben demostrar que el sistema comple con los requerimientos.

Pruebas del Software

33

Tipos de pruebas de aceptacin


Pruebas controladas Pruebas alfa y beta

Pruebas del Software

34

Pruebas controladas
Se utilizan cuando el software es personalizado. El cliente realiza las pruebas de una forma planeada y sistemtica. La prueba puede durar semanas o incluso meses.

Pruebas del Software

35

Pruebas alfa y beta


Utilizadas para productos con mltiples clientes. Los usuarios finales aplican las pruebas alfa en el lugar de trabajo del desarrollador.
El software se utiliza en un entorno natural, mientras que el desarrollador mira sobre el hombro de los usuarios tpicos y reporta los errores y problemas de uso.

Las pruebas beta se aplican en el lugar de trabajo del usuario final.


Es una aplicacin en vivo del software en un entorno no controlado por el desarrollador. El usuario final registra los problemas y los informa al desarrollador.

Pruebas del Software

36

Tarea
Leer y escribir una sntesis crtica sobre el artculo:
Davis, F.D., Perceived Usefulness, Perceived Ease of Use, and User Aceptance of Information Technology, MIS Quarterly, September 1989, 319-340 p.

Pruebas del Software

37

Bibliografa
Pressman, captulo: 13 Graham D. et al., 2008, Foundations of Software Testing: ISTQB Certification, Revised Edition, Course Technology, Captulo 4.

Pruebas del Software

38

Вам также может понравиться