Integratsioonitestimine on tarkvaraarenduse ja testimise etapp, mille käigus koondatakse ja testitakse mitu programmi või riistvarakonfiguratsiooni üksust või moodulit. Neid erinevaid seadmeid on tavaliselt testitud eraldi, et tagada iga üksuse korralik toimimine eraldi; selles testimise etapis integreeritakse need erinevad üksused suuremasse süsteemi. Seda saab teha tarkvaraarenduses, et tagada suurema programmi erinevate aspektide koos töötamine või riistvara testimisel, et tagada nõuetekohane funktsionaalsus erinevate üksuste vahel. Integratsiooni testimine on testimise põhifaas, kuna võib leida palju vigu ja arendada üldise tarkvara või riistvara varajase väljalaske versioone.
Seda nimetatakse ka integreerimiseks ja testimiseks või I&T-ks, integratsioonitestimist peetakse tavaliselt testimise teiseks oluliseks etapiks. Esimest etappi nimetatakse üksuse testimiseks ja see keskendub peamiselt üksikute üksuste või suurema programmi või süsteemi osade testimisele, et tagada iga üksuse iseseisev toimimine. Need eraldiseisvad üksused koondatakse integratsioonitestidesse, kui need on läbinud üksuse testimise, et tagada nende koos töötamine suuremates rühmades. Hiljem pannakse need tavaliselt kokku kogu süsteemis või programmis, mida arendatakse, ja testitakse selle täissüsteemi osana, mida nimetatakse süsteemi testimiseks.
Integratsioonitestimiseks on palju viise, kuigi tavaliselt kasutatakse mõningaid levinud meetodeid. Alt-üles testimine on üsna levinud ja hõlmab tavaliselt integreeritud süsteemi erinevate aspektide testimist, alustades süsteemi madalamatest tasemetest. Kui need süsteemi “alumised” aspektid läbivad testimise, liigub testimine “üles” olulisemate aspektide juurde. Samuti saab läbi viia ülalt-alla integratsioonitestimise vormi, kus kõigepealt testitakse süsteemi kõrgeimaid tasemeid ja protsess liigub edasi “alla” madalamatele tasemetele.
Üks peamisi probleeme nende kahe integratsioonitestitüübi puhul on aga see, et kumbki neist ei saa hõlpsasti luua põhifunktsioonidega toote varajast väljalaskmist. Seda tüüpi alfaversiooni väljalase võib olla suuremate testimisvõimaluste jaoks ülioluline ja seetõttu tuleb sellise väljalaske võimaldamiseks tavaliselt kasutada muid lähenemisviise. Üks selline lähenemisviis on “suure paugu” testimise vorm, mille käigus testitakse kõiki integreeritud süsteemi osi korraga. See võib osutuda kasulikuks, kui testitava tarkvaraga on vähe probleeme või vigu, kuid liiga palju probleeme võib olla raske täpselt kindlaks teha.
Samuti on olemas integratsioonitestide tüüp, mida nimetatakse “võileiva testimiseks”, mille eesmärk on leevendada mõnda neist probleemidest. Põhimõtteliselt algab seda tüüpi testimine samaaegselt nii ülalt-alla kui ka alt-üles testimisega ning mõlemad testimisvormid kohtuvad tõhusalt “keskel”. See võimaldab põhiliste loogikasüsteemide varakult testimist, ülalt-alla testimise eelist ja tuvastab väiksemad probleemid varem, nagu alt-üles testimise puhul. Selline testimine võib kiiremini toota ka toote varajase väljalaske versiooni laiaulatuslikumaks testimiseks või toote meediaesitluseks.