Integracijsko testiranje je faza razvoja i testiranja softvera u kojoj se spaja i testira više jedinica ili modula unutar programa ili hardverske konfiguracije. Sve ove različite jedinice obično su pojedinačno testirane kako bi se osiguralo da svaka jedinica ispravno funkcionira sama; ova faza testiranja integrira ove različite jedinice u veći sustav. To se može učiniti u razvoju softvera kako bi se osiguralo da različiti aspekti većeg programa mogu raditi zajedno ili u testiranju hardvera kako bi se osigurala pravilna funkcionalnost između različitih jedinica. Integracijsko testiranje je ključna faza testiranja budući da se mogu pronaći mnoge greške i mogu se razviti rane verzije cjelokupnog softvera ili hardvera.
Također se naziva integracijom i testiranjem ili I&T, integracijsko testiranje se obično smatra drugom velikom fazom testiranja. Prva faza naziva se testiranje jedinica i prvenstveno je usmjerena na testiranje pojedinačnih jedinica ili dijelova većeg programa ili sustava kako bi se osiguralo da svaka jedinica funkcionira samostalno. Ove odvojene jedinice se okupljaju u integracijskom testiranju, nakon što svaka prođe testiranje jedinica, kako bi se osiguralo da mogu raditi zajedno u većim grupama. Nakon toga, oni će se obično spojiti u cijeli sustav ili program koji se razvija i testira kao dio tog punog sustava, što se naziva testiranje sustava.
Postoji mnogo načina za izvođenje integracijskog testiranja, iako postoje neke uobičajene metode koje se obično koriste. Testiranje odozdo prema gore prilično je uobičajeno i obično uključuje testiranje različitih aspekata integriranog sustava počevši od nižih razina sustava. Nakon što ovi “donji” aspekti sustava prođu testiranje, testiranje se kreće “gore” na važnije aspekte. Također se može izvesti odozgo prema dolje oblik integracijskog testiranja, u kojem se najprije testiraju najviše razine sustava i proces nastavlja kretati “dolje” na niže razine.
Međutim, jedan od glavnih problema s ove dvije vrste integracijskog testiranja je taj što niti jedan ne može lako uspostaviti rano izdanje proizvoda s osnovnom funkcionalnošću. Ova vrsta izdanja alfa verzije može biti od vitalnog značaja za veće mogućnosti testiranja, pa se obično moraju poduzeti drugi pristupi kako bi se omogućilo takvo izdanje. Jedan takav pristup je oblik testiranja “velikog praska” u kojem se svi dijelovi integriranog sustava testiraju istovremeno. To može biti korisno ako postoji malo problema ili grešaka sa softverom koji se testira, ali može biti teško odrediti specifične probleme ako ih ima previše.
Postoji i vrsta integracijskog testiranja koja se naziva “testiranje sendviča” koja nastoji ublažiti neke od ovih problema. U osnovi, ova vrsta testiranja počinje s testiranjem odozgo prema dolje i odozdo prema gore istovremeno, a oba oblika testiranja učinkovito se „susreću u sredini“. To omogućuje rano testiranje osnovnih logičkih sustava, prednost testiranja odozgo prema dolje, i identificira manje probleme ranije, kao kod testiranja odozdo prema gore. Takvo testiranje također može brže proizvesti verziju proizvoda u ranom izdanju za opsežnije testiranje ili napredne medijske demonstracije proizvoda.