Hvad er integrationstest?
Integrationstest er en fase af softwareudvikling og -testning, hvor flere enheder eller moduler inden for et program- eller hardwarekonfiguration samles og testes. Disse forskellige enheder er typisk alle testet individuelt for at sikre, at hver enhed fungerer ordentligt alene; denne fase af testning integrerer disse forskellige enheder i et større system. Dette kan gøres i softwareudvikling for at sikre, at forskellige aspekter af et større program er i stand til at arbejde sammen eller i hardwaretest for at sikre korrekt funktionalitet mellem forskellige enheder. Integrationstest er en nøgelfase af testning, da der kan findes mange bugs, og der kan udvikles versioner af tidlig version af den samlede software eller hardware.
Også kaldet integration og testning eller I&T, integrationstest ses typisk som den anden vigtigste fase af testning. Den første fase kaldes enhedsafprøvning og er primært fokuseret på at teste individuelle enheder eller dele af et større program eller system for at sikre, at hver enhed fungerer alene. Disse separate enheder samles i integrationstestning, når de først har bestået enhedstestning, for så at sikre, at de kan arbejde sammen i større grupperinger. Bagefter vil de typisk blive samlet i det fulde system eller det program, der udvikles og testes som en del af det fulde system, der kaldes systemtest.
Der er mange måder at udføre integrationstest på, selvom der ofte findes nogle almindelige metoder. Bund-up-test er ret almindelig og involverer normalt testning af forskellige aspekter af et integreret system, der starter med de lavere niveauer af systemet. Når disse "nederste" aspekter af systemet er godkendt, flyttes testen "op" til mere vigtige aspekter. En top-down form for integrationstest kan også udføres, hvor de højeste niveauer af et system først testes, og processen fortsætter med at bevæge sig ”ned” til lavere niveauer.
Et af de største problemer med disse to typer integrationstest er imidlertid, at ingen af dem let kan etablere en tidlig udgivelse af et produkt med grundlæggende funktionalitet. Denne type alpha-version frigivelse kan være afgørende for større testmuligheder, og derfor må der typisk tages andre tilgange for at muliggøre en sådan frigivelse. En sådan fremgangsmåde er en "big bang" -form, hvor alle dele af det integrerede system testes samtidigt. Dette kan være fordelagtigt, hvis der er få problemer eller fejl med den software, der testes, men det kan være vanskeligt at finde specifikke problemer, hvis der er for mange til stede.
Der er også en type integrationstest, der kaldes “sandwich-test”, der søger at afhjælpe nogle af disse problemer. Grundlæggende begynder denne type test med både top-down og bottom-up-test samtidigt, og begge former for test effektivt “mødes i midten.” Dette giver mulighed for tidlig test af grundlæggende logiksystemer, en fordel til top-down test, og identificerer mindre problemer tidligere som ved bottom-up-test. Sådan test kan også hurtigere producere en version med tidlig frigivelse af produktet til mere omfattende test eller forudgående mediedemonstrationer af produktet.