Sei sulla pagina 1di 24

Universidad de Los Andes

ISIS4713 - CBSE
Pruebas de Integracin
Pruebas de Integracin

Testing in which software components,


hardware components, or both are combined
and tested to evaluate interaction between
them IEEE
Pruebas de Integracin

Intercomponent Faults

Interoperability Faults
Integracin

Qu tipos de problemas podran surgir?

Relacionados con programacin

Relacionados con la operacin


Integracin

Tipo I - Problemas entre componentes

Componentes individuales probados

La secuencia de invocaciones en un componente


puede fallas

Estado

Abrazos mortales
Integracin

Tipo II - Problemas de Interoperabilidad

Sistema

Lenguaje de Programacin

Especicacin
Integracin

Sistema

Componentes desarrollados en diferentes


infraestructuras

Posiblemente no 100% compatibles

Ejemplo: Diferentes implementaciones de


CORBA o de EJB (JBoss / Glasssh)
Integracin

Lenguaje de Programacin

Componentes desarrollados en diferentes


lenguajes de programacin

Manejo en la conversin de tipos y los


resultados de operaciones aritmticas
Integracin

Especicacin

Especicaciones mal interpretadas por


los desarrolladores

Falla en el nivel de detalle de la


arquitectura
Integracin

Tipo III - Otras fallas

Entradas especiales

Condiciones particulares de ejecucin


Pruebas de Integracin

Metodologas de Prueba

En que orden integrar componentes

Cmo probar incrementalmente el


sistema

Cmo probar un nuevo componente


Pruebas de Integracin

Tipo 1 - Descomposicin Funcional


Pruebas de Integracin

Categoras de Descomposicin Funcional

Big-bang

Top-down

Stubs

Bottom-Up

Drivers

Sandwich (in-the-middle)
Pruebas de Integracin

Tipo 2- Grafo de Llamadas


Pruebas de Integracin

Grafo de llamadas

neighborhood integration

path-based integration
Pruebas de Integracin

Modelo de Pruebas - CBSE

Basado en el grafo de llamadas

Elementos de pruebas

El objetivo es identicar fallas de tipos 1 y 2

Se utiliza el conector seleccionado como punto


de partida (RPC / Eventos)
Pruebas de Integracin

Elementos de Prueba

Interfaces

Eventos
Pruebas de Integracin

Relaciones dependientes de contexto

Un evento e2 tiene una relacin de dependencia de


contexto con un evento e1 si existe un camino de
ejecucin donde el lanzamiento del evento e1 genera,
directa o inderectamente, el lanzamiento de e2

Dado un evento e, es necesario probar e con cada


evento que tenga una dependencia sensitiva al
contexto con e

Pruebas de Integracin

Relaciones dependientes del contenido

Cuando una funcin declarada en una interfaz Vi tiene una


relacin de dependencia basada en datos con otra funcin
declarada en una interfaz Vj, el orden de la invocacin de Vi
y Vj puede afectar el resultado

Una funcin f2 depende de una funcin f1 si y solo si el


valor de una variable que es denida en f1 es usada en f2

Una relacin dependiente del contenido entre Vj y Vi se


presenta cuando Vi tiene una rma f1 y Vj tiene una rma
f2 y f2 depende de f1
Pruebas de Integracin

Grafo de interaccin de componentes (CIG)

Conjunto (V,E) donde

V = Interfaces, Eventos ; E = arcos dirigidos

Interacciones directas

Un evento

Interacciones indirectas

Una secuencia de eventos


Pruebas de Integracin

Pruebas basadas en caja-negra

Basadas en el grafo de interaccin de


componentes

Nodos

Interfaces

Eventos
Pruebas de Integracin

Relaciones dependientes del contexto

Diagramas de colaboracin / secuencia

Diagramas de estados
Pruebas de Integracin

Relaciones dependiente de contenido

Diagramas de colaboracin

Diagramas de estado
Bibliograa

[3] Testing and Quality Assurance for Component-Based Software (Artech


House Computer Library), Jerry Zeyu Gao, H.-S. Jacob Tsao, Ye Wu

Potrebbero piacerti anche