pruebas de sw 3p

38
Pruebas de Integración

Upload: leadrojan

Post on 31-Dec-2015

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pruebas de Sw 3p

Pruebas de Integración

Page 2: Pruebas de Sw 3p

Pruebas de integración

• Si se han realizado las pruebas de unidad, y todos los módulos funcionan bien,

• ¿Por qué dudar de que funcionen bien cuando se integran?

Pruebas del Software 2

Page 3: Pruebas de Sw 3p

Pruebas de integración, ¿para qué?

• El problema radica en crear la interfaz entre los módulos. En la interfaz se podrían perder datos,

• Un módulo podría tener efectos adversos e inadvertidos sobre otro,

• La combinación de subfunciones quizá no produzca la función principal deseada,

• La imprecisión aceptable en elementos individuales, podría ampliarse hasta grados inaceptables,

• Las estructuras globales de datos podrían presentar problemas.

Pruebas del Software 3

Page 4: Pruebas de Sw 3p

Pruebas de integración, ¿qué es?

• Es una técnica sistemática para construir la arquitectura del software mientras, al mismo tiempo, se aplican las pruebas para descubrir errores asociados con la interfaz.

Pruebas del Software 4

Page 5: Pruebas de Sw 3p

Integración incremental

• El programa se construye y prueba en pequeños incrementos, en los cuales resulta más fácil aislar y corregir los errores, es más probable que se prueben por completo las interfaces y se vuelve factible la aplicación de un enfoque sistemático.

Pruebas del Software 5

Page 6: Pruebas de Sw 3p

Tipos de pruebas de integración

• Integración descendente

• Integración ascendente

• Pruebas de regresión

• Pruebas de humo

• Integración incremental de la funcionalidad

Pruebas del Software 6

Page 7: Pruebas de Sw 3p

Integración descendente

• Los módulos se integran al descender por la jerarquía de control,

• Se empieza por el módulo de control principal (programa principal).

• Los módulos subordinados al módulo principal se incorporan de una de dos maneras: primero en profundidad o primero en anchura.

Pruebas del Software 7

Page 8: Pruebas de Sw 3p

Integración primero en profundidad

• Integra todos los módulos en una ruta de control principal de la estructura del programa.

• La selección de la ruta es arbitraria y depende de las características del programa.

Pruebas del Software 8

Page 9: Pruebas de Sw 3p

Ejemplo

Pruebas del Software 9

M1

M2 M3 M4

M5 M6 M7

M8

Se integran M1, M2 y M5

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

Después se integra el flujo del medio,

Finalmente se integra el flujo de la derecha

Page 10: Pruebas de Sw 3p

Integración primero en anchura

• Se incorporan todos los módulos directamente subordinados en cada nivel, desplazándose horizontalmente por la estructura.

Pruebas del Software 10

Page 11: Pruebas de Sw 3p

Ejemplo

Pruebas del Software 11

M1

M2 M3 M4

M5 M6 M7

M8

Page 12: Pruebas de Sw 3p

Proceso de integración descendente

1. El módulo de control principal se utiliza como controlador de prueba, y se sustituyen los resguardos en todos los componentes directamente relacionados al módulo principal.

2. Dependiendo del enfoque de integración, se van reemplazando los resguardos subordinados, uno por uno, con los componentes reales.

3. Se aplican pruebas cada que se integra un nuevo módulo.

4. Al completar cada conjunto de pruebas, se reemplaza otro resguardo con el módulo real.

5. Se aplica la prueba de regresión para asegurarse de que no se han introducido nuevos errores.

Pruebas del Software 12

Page 13: Pruebas de Sw 3p

Problemas

• El problema más común del enfoque descendente es cuando se requieren funciones de módulos de bajo nivel para que los de alto nivel funcionen adecuadamente.

• Alternativas• Retrasar las pruebas.

• Desarrollar resguardos para simular el funcionamiento de los módulos.

• Integrar los módulos de abajo hacia arriba.

Pruebas del Software 13

Page 14: Pruebas de Sw 3p

Integración ascendente

• Empieza la construcción y las pruebas con módulos de los niveles más 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

Page 15: Pruebas de Sw 3p

Proceso de integración ascendente

• Se combinan los módulos de bajo nivel en grupos que realicen una subfunción específica 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

Page 16: Pruebas de Sw 3p

Ejemplo

Pruebas del Software 16

Mc

Ma Mb

C1 C2 C3

Grupo 1

Grupo 2

Grupo 3

Page 17: Pruebas de Sw 3p

Pruebas de regresión

• Los cambios que surgen de la integración de módulos pueden causar problemas con funciones que antes funcionaban bien.

• Las pruebas de regresión 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

Page 18: Pruebas de Sw 3p

Pruebas de regresión

• Las pruebas de regresión contienen tres distintas clases de casos de prueba:• Una muestra representativa de pruebas que ejecutarán

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

Page 19: Pruebas de Sw 3p

Pruebas de humo

• Es un enfoque de prueba de integración que se realiza mientras el software se desarrolla, y que consiste en las siguientes actividades:• Los componentes de software traducidos a código se

integran en una sola construcción.

• Se diseña una serie de pruebas para exponer errores que impedirán que la construcción realice apropiadamente su función.

• La construcción 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

Page 20: Pruebas de Sw 3p

Pruebas de humo

• Ventajas:• Se minimiza el riesgo en la integración.

• Se mejora la calidad del producto final.

• Se simplifica el diagnóstico y la corrección de errores.

• El progreso es más fácil de evaluar.

Pruebas del Software 20

Page 21: Pruebas de Sw 3p

Integración incremental de la funcionalidad

• La integración y las pruebas se realizan con base en las funciones o funcionalidad, de la forma en que se haya documentado en la especificación de funcionalidad.

• Es decir, se toma una determinada función del sistema, y se integran los componentes que implementan dicha funcionalidad.

Pruebas del Software 21

Page 22: Pruebas de Sw 3p

Ejercicio

• Formar equipos de cuatro personas.

• Determinar las características que debe tener un sistema para que su integración se pueda realizar de forma:• Descendente• Ascendente• Incremento de funcionalidad

• ¿Qué tipos de sistemas deben integrarse siguiendo cada uno de los modelos de integración anteriores?

• Escribir sus conclusiones y expresarlas al grupo.

Pruebas del Software 22

Page 23: Pruebas de Sw 3p

Pruebas del sistema

Page 24: Pruebas de Sw 3p

Pruebas del sistema

• El software forma parte de un sistema más grande compuesto de hardware, personas, información, otros productos de software, etc.

• La prueba del sistema abarca un conjunto de pruebas diferentes cuyo propósito es ejercitar profundamente el sistema de cómputo en su totalidad.

• Deben asegurar que el sistema completo está integrado adecuadamente.

Pruebas del Software 24

Page 25: Pruebas de Sw 3p

Prueba del sistema

• Comúnmente es la última prueba del proceso de desarrollo con el fin de determinar si el sistema cumple su especificación, y debe ser diseñada 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

Page 26: Pruebas de Sw 3p

Tipos de pruebas de sistema

• Prueba de recuperación

• Prueba de seguridad

• Prueba de resistencia

• Prueba de desempeño

Pruebas del Software 26

Page 27: Pruebas de Sw 3p

Prueba de recuperación

• 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 fácil es corregir el sistema después de una falla.

• Si la recuperación es automática debe evaluarse que sean correctos la reinicialización, los mecanismos de respaldo, la recuperación de datos y el nuevo arranque.

• Si se requiere intervención humana, se debe evaluar el tiempo medio de reparación.

Pruebas del Software 27

Page 28: Pruebas de Sw 3p

Prueba de seguridad

• Comprueba que los mecanismos de protección integrados al sistema realmente lo protejan de irrupciones inapropiadas.

• Quien realiza la prueba desempeña el rol de un individuo que quiere ingresar al sistema.

• El papel del diseñador del sistema es lograr que el costo de la irrupción sea mayor que el valor de la información que se obtendrá.

Pruebas del Software 28

Page 29: Pruebas de Sw 3p

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 cómo responderán las funciones de entrada.

• Se ejecutan casos de prueba que requieran el máximo de memoria u otros recursos.

• Se causan problemas de administración de memoria.• Se producen búsquedas excesivas de datos en el disco.

Pruebas del Software 29

Page 30: Pruebas de Sw 3p

Prueba de desempeño

• Está diseñada para probar el desempeño del sistema en tiempo de ejecución.

• Con frecuencia se vinculan con pruebas de resistencia y suelen requerir instrumentación de software y hardware.

Pruebas del Software 30

Page 31: Pruebas de Sw 3p

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 hipotético definido por ustedes.

Pruebas del Software 31

Page 32: Pruebas de Sw 3p

Pruebas de aceptación

Page 33: Pruebas de Sw 3p

Pruebas de aceptación

• También son conocidas como pruebas de validación.

• 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

Page 34: Pruebas de Sw 3p

Tipos de pruebas de aceptación

• Pruebas controladas

• Pruebas alfa y beta

Pruebas del Software 34

Page 35: Pruebas de Sw 3p

Pruebas controladas

• Se utilizan cuando el software es personalizado.

• El cliente realiza las pruebas de una forma planeada y sistemática.

• La prueba puede durar semanas o incluso meses.

Pruebas del Software 35

Page 36: Pruebas de Sw 3p

Pruebas alfa y beta

• Utilizadas para productos con múltiples 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 típicos y reporta los errores y problemas de uso.

• Las pruebas beta se aplican en el lugar de trabajo del usuario final.• Es una aplicación 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

Page 37: Pruebas de Sw 3p

Tarea

• Leer y escribir una síntesis crítica sobre el artículo:• 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

Page 38: Pruebas de Sw 3p

Bibliografía

• Pressman, capítulo: 13

• Graham D. et al., 2008, “Foundations of Software Testing: ISTQB Certification”, Revised Edition, Course Technology, Capítulo 4.

Pruebas del Software 38