Noben razvoj programske opreme ne more storiti brez testiranja izvršljive kode. Dejansko traja polovico vsega časa, porabljenega za razvoj, in več kot polovico stroškov projekta. Vendar pa je sestavni del procesa ustvarjanja novih aplikacij, programov, sistemov.
Eden od načinov za kontrolo kakovosti programske opreme je integracijsko testiranje, na vhod katerega se napajajo posamezni moduli, testirani na prejšnji stopnji. V nasprotju z modularno različico, pri kateri se odkrijejo napake, lokalizirane v vsaki posamezni funkciji ali razredu, je integracijsko testiranje iskanje napak, povezanih z izvajanjem interakcije med posameznimi deli izdelanega izdelka. Funkcionalno testiranje integracije uporablja metodo bele škatle, tj. inženir za kakovost razpoložljiva in znana besedila vsakega posameznega modula ter načela interakcije med njimi.
Monolitna metoda pomeni, da so vsi moduli, ki bodo v prihodnosti predmet integracijskega testiranja, sestavljeni hkrati. Skoraj zagotovo obstajajo situacije, ko del testiranega kompleksa še ni pripravljen.
V tem primeru ga nadomestijo dodatno razviti "vtiči" ali gonilniki.
Poleg monolitne metode je identificirana tudi inkrementalna metoda (imenovana jo je tudi korak za korakom), saj se obseg preskušane kode postopoma povečuje, kar omogoča lokalizacijo območij z napakami v medsebojnih odnosih med posameznimi deli.
Prirastna metoda vključuje dva načina za dodajanje modulov:
Glavna pomanjkljivost monolitnega tipa montaže je veliko časa in stroškov dela za posnemanje manjkajočih delov testiranega kompleksa. Zdi se, da so škrbine precej priročno orodje za testiranje, vendar pa se pojavijo situacije, ko mora proces ponovno ustvariti simulacijske dele programa. Na primer, v primeru sprememb v sestavi preizkušenih modulov. Poleg tega učinkovitost iskanja napak ni tako visoka, če se delo ne izvaja z resničnim izdelkom, ampak samo z navidezno komponento. Enaka pomanjkljivost spremlja postopno testiranje z metodo navzgor.
Hkrati je ena od slabosti metode korak za korakom potreba po organizaciji in ustvarjanju okolja za izvajanje modulov v danem zaporedju. Prav tako je skoraj nemogoče vzporedno razvijati zgornjo in spodnjo raven.
Seveda sta obe metodi montaže, monolitni in inkrementalni, ne le slabosti, ampak tudi prednosti. V prvem primeru obstajajo odlične priložnosti za vzporedni razvoj vseh razredov in funkcij, vključenih v testiranje, tako v začetni fazi kot po izpopolnitvi. Metoda po korakih je manj delovno intenzivna: moduli se povezujejo postopoma, postopoma pa se odkrijejo tudi napake in napake. To, kot veste, vam omogoča, da skrajšate čas za iskanje takega.
Na tej stopnji poteka ogromno delo preverjanja povezav na vseh ravneh, brez katerih, seveda, nadaljnje testiranje ni mogoče.
Testiranje programske opreme za integracijo ima več prednosti:
Testiranje integracije je končano, vendar to ni vse. Najdene napake se popravijo in pošljejo razvijalcu za popravek, po katerem se postopek začne znova.
Najprej je treba preveriti, ali so bile ugotovljene pomanjkljivosti odpravljene. Drugič, med spremembo izvorne kode se lahko pojavijo nove napake v delovanju programa in interakcija s programsko opremo tretjih oseb.
Čeprav trenutno obstajajo številne metode nadzora kakovosti, ima integracijsko testiranje še vedno pomembno vlogo. Primer te vrste preverjanja lahko jasno pokaže "ozka grla" pri razvoju programske opreme in dokumentacije.
Odvisno od velikosti začetnega niza podatkov in domene razvoja lahko pride do težav s časom testiranja in kompleksnostjo dogodka kot celote.
Za najbolj učinkovito preverjanje razvoja je potrebno uporabiti ogromno količino vhodnih podatkov in pogojev, s katerimi je nemogoče ročno obdelati. Za rešitev tega problema se uporablja avtomatizacija testov. Kot pri drugih vrstah se lahko testiranje integracije avtomatizira. To bo zmanjšalo razvojni čas kot celoto in izboljšalo učinkovitost postopka zaznavanja napak.
Toda avtomatizacija testov ne more v celoti nadomestiti dela inženirja kakovosti, temveč ga le dopolnjuje.
Torej je integracijsko testiranje sestavni del razvoja katere koli programske opreme in ena od stopenj celotnega procesa preverjanja kakovosti izdelka. Kot vsaka metoda ima številne prednosti in slabosti, vendar brez njene uporabe postane nemogoče razviti visoko kakovostno programsko opremo.