Les proves d'integració (en anglès, Integration testing), anomenades també proves d'integració de components,[1] són un tipus de proves de programari que tenen com a objectiu verificar el funcionament conjunt de les unitats provades individualment (classes, components, etc.).
Es realitzen després de les proves unitàries i abans de les proves de sistema, i poden executar-se de forma incremental a mesura que es van finalitzant les diferents unitats.
Principalment, en aquestes proves es detecten defectes a les interfícies i en la interacció entre els diferents components integrats. Per a crear-les s'usen tècniques tant de caixa blanca com de caixa negra.
A més d'això, el testing de programari ofereix garantia per a identificar de manera primerenca les fallades en el sistema, la qual cosa permet que aquests se solucionin abans que tinguin un impacte en el funcionament del programari per als seus usuaris finals. De manera que les proves d'integració estan a càrrec de l'examen de les interfícies entre els subsistemes o els grups de components del programa o aplicació que s'analitza, la qual cosa contribueix a garantir el seu funcionament correcte.
Criteris
Les proves dels diferents components provats de forma individual es pot dur a terme segons tres criteris diferents.
Ascendent (bottom-up)
El criteri ascendent (en anglès bottom-up) és una aproximació incremental on els components de més baix nivell són els primers que es proven, i llavors aquests mateixos s'utilitzen per anar provant els components de nivells més alts, formant estructures cada cop més complexes fins a arribar al nivell més alt, i per tant, a provar la integració de tot el programa complet.
Descendent (top-down)
El criteri descendent (en anglès top-down) funciona a l'inrevés de l'anterior. També és un procés incremental però amb la diferència que el primer component que es prova és del nivell superior de la jerarquia, amb els nivells inferiors simulats per stubs. Un cop provats aquests components, llavors s'utilitzen per a realitzar les proves dels nivells inferiors.
En aquest cas no són necessaris components conductors. Una dels avantatges d'aplicar aquesta estratègia és que les interfícies entre els diferents components es proven en una fase primerenca i amb freqüència.(Web: https://manuel.cillero.es/)
Mixt
El criteri mixt es basa a utilitzar com a punt de partida un component, que pot ser qualsevol, i utilitzar els dos criteris anterior segons convingui, acabant per provar la integració de tot el programa complet. Quan es fa servir la tècnica ascendent s'utilitzen drivers per a facilitar la tasca, i quan es treballa amb la tècnica descendent es fa amb l'ajuda de stubs.
En l'OO es fa la integració seguint les herències, agregacions, associacions i dependències.
Referències
Vegeu també