Systemtesting er et viktig steg i kvalitetssikringen av IT-systemer, men blir ofte undervurdert eller gjennomført for sent. Da risikerer man at feil først oppdages når løsningen tas i bruk.
I systemtesting testes hele systemet samlet slik det faktisk skal brukes. Det gir mulighet til å avdekke feil i samspill, dataflyt og brukerreiser som ikke fanges opp i tidligere testfaser.
Hva er systemtesting?
Systemtesting er testing av et ferdig integrert IT-system for å verifisere at det fungerer som forventet som en helhet. I denne fasen ser man ikke på enkeltkomponenter isolert, men på hvordan systemets ulike deler fungerer sammen i praksis.
Formålet er å avdekke feil som oppstår i samspillet mellom funksjonalitet, dataflyt, brukergrensesnitt og integrasjoner. Mange av disse feilene blir først synlige når systemet brukes på tvers av moduler og roller, og er derfor vanskelige å oppdage i tidligere testnivåer.
Når i utviklingsprosessen brukes systemtesting?
Systemtesting gjennomføres vanligvis etter at integrasjonstesting er fullført, og før akseptansetesting starter. På dette tidspunktet anses systemet som funksjonelt komplett, selv om det fortsatt kan inneholde feil.
I tradisjonelle prosjekter er systemtesting ofte en egen fase mot slutten av utviklingsløpet. I smidige prosjekter skjer systemtesting mer iterativt, gjerne som en del av hver sprint eller ved større leveranser. Uavhengig av metodikk er målet det samme: å sikre at systemet fungerer som en helhet før det tas i bruk.
Systemtesting vs andre testtyper
Systemtesting er én av flere testformer i et IT-prosjekt. For å bruke riktig test til riktig formål, er det viktig å forstå hvordan systemtesting skiller seg fra andre testtyper.
Systemtesting vs integrasjonstesting
Integrasjonstesting verifiserer at ulike komponenter og systemer kommuniserer riktig med hverandre. Her testes grensesnitt, API-er og datautveksling mellom deler av løsningen.
Systemtesting går et steg videre og tester hele systemet samlet. Fokus ligger ikke bare på at integrasjoner fungerer teknisk, men på at løsningen oppfører seg riktig sett fra brukerens og virksomhetens perspektiv.
Systemtesting vs funksjonell testing
Funksjonell testing handler om å kontrollere at enkeltfunksjoner gir korrekt resultat basert på gitte krav. Dette kan være validering av skjemaer, beregninger eller forretningsregler.
I systemtesting settes funksjonene sammen i komplette brukerreiser. Det gjør det mulig å avdekke feil som oppstår i overgangene mellom funksjoner, eller som skyldes avhengigheter i systemet.
Systemtesting vs akseptansetesting
Akseptansetesting utføres vanligvis av virksomheten for å vurdere om løsningen kan godkjennes og tas i bruk. Her vurderes systemet opp mot forretningsbehov og forventninger.
Systemtesting skjer før dette, og har som mål å avdekke feil slik at systemet er tilstrekkelig stabilt når det presenteres for brukerne. God systemtesting gir derfor et bedre grunnlag for en effektiv akseptansefase.
Hva testes i systemtesting?
I systemtesting testes løsningen slik den faktisk skal brukes. Det betyr at fokus ikke bare ligger på enkeltfunksjoner, men på helheten og hvordan systemets ulike deler fungerer sammen over tid.
Typiske områder som testes i systemtesting er:
- Funksjonalitet på tvers av systemet
At alle funksjoner fungerer korrekt når de brukes i sammenheng. - Brukerreiser og arbeidsflyt
At brukeren kan gjennomføre komplette prosesser uten brudd eller uventet adferd. - Dataflyt og datakonsistens
At data lagres, oppdateres og videreføres riktig mellom moduler og integrasjoner. - Feilhåndtering
At systemet håndterer feil på en kontrollert og forståelig måte. - Integrasjoner mot eksterne systemer
At samspill med tredjepartsløsninger fungerer stabilt i realistiske scenarier.
God systemtesting baserer seg på realistiske testdata og scenarier som reflekterer faktisk bruk. Det gir et langt bedre bilde av hvordan systemet vil fungere i produksjon.
Eksempel på systemtesting i praksis
For å forstå verdien av systemtesting, er det nyttig å se på hvordan den brukes i et reelt scenario.
Tenk deg et IT-system som håndterer brukerinnlogging, saksbehandling og integrasjon mot eksterne registre. Hver del kan fungere isolert, men utfordringer oppstår ofte når hele flyten testes samlet.
I systemtesting kan man da verifisere at:
- brukere med ulike roller får riktig tilgang
- en sak kan opprettes, behandles og avsluttes uten brudd i flyten
- data sendes og mottas korrekt i integrasjoner
- systemet håndterer feil, manglende data eller avbrutte prosesser på en kontrollert måte
Ved å teste komplette brukerreiser får man et realistisk bilde av hvordan systemet faktisk oppfører seg. Det gir bedre beslutningsgrunnlag før løsningen tas i bruk, og reduserer risikoen for feil i produksjon.
Systemtesting i smidige IT-prosjekter
I smidige IT-prosjekter skjer utvikling og testing kontinuerlig. Det betyr likevel ikke at behovet for systemtesting forsvinner. Tvert imot blir det ofte enda viktigere å sikre at helheten fungerer etter hvert som løsningen vokser.
Systemtesting i smidige prosjekter gjennomføres gjerne inkrementelt. Nye funksjoner testes i sammenheng med eksisterende funksjonalitet, slik at endringer ikke skaper uventede feil andre steder i systemet.
Ofte kombineres manuell systemtesting med automatiserte tester for repeterende flyter. Samtidig er tett samarbeid mellom utviklere, testere og produkteier avgjørende for å fange opp feil tidlig og sikre felles forståelse av kvalitet.
Verktøy brukt i systemtesting
Verktøy kan støtte systemtesting, men erstatter ikke god planlegging og faglig vurdering. Hvilke verktøy som er hensiktsmessige, avhenger av systemets kompleksitet, prosjektets størrelse og hvordan teamet jobber.
I systemtesting brukes verktøy ofte til:
- planlegging og strukturering av testarbeidet
- dokumentasjon av testtilfeller og avvik
- støtte for automatisering av repeterende tester
Det viktigste er at verktøyene bidrar til oversikt og kvalitet, uten å gjøre testarbeidet unødvendig tungt. I mange tilfeller er enkle løsninger tilstrekkelige, så lenge testene er godt gjennomtenkt og riktig forankret i prosjektet.
Vanlige feil i systemtesting
Selv i godt planlagte prosjekter ser vi at systemtesting ikke alltid gir ønsket effekt. Ofte skyldes det noen gjennomgående utfordringer.
En vanlig feil er at systemtesting starter for sent i prosjektet. Da er det lite tid til å rette opp feil, og kompromisser blir ofte nødvendige. Systemtesting bør planlegges tidlig, selv om selve gjennomføringen skjer senere.
En annen utfordring er at testscenariene ikke er realistiske nok. Tester som kun dekker “glade stier” gir et begrenset bilde av systemets faktiske robusthet. Brukerreiser, avvik og feilsituasjoner bør inngå naturlig i testene.
Uklare roller og ansvar kan også svekke systemtestingen. Når det ikke er tydelig hvem som eier testaktiviteten, risikerer man hull i dekningen. Tydelig ansvar og godt samarbeid mellom fag, test og prosjekt er avgjørende.
Hvem har ansvar for systemtesting?
Ansvar for systemtesting er sjelden knyttet til én enkelt rolle. I praksis er det et samarbeid mellom flere funksjoner i prosjektet.
Testere og QA-ressurser har ofte hovedansvaret for planlegging og gjennomføring av systemtestene. Testleder eller prosjektleder sørger for koordinering, prioritering og fremdrift. Samtidig er fagressurser og produkteiere viktige bidragsytere, særlig når testscenarier og vurdering av resultater krever domenekunnskap.
Når roller og ansvar er tydelig avklart, blir systemtesting mer effektiv og gir bedre beslutningsgrunnlag for videre leveranse.
Aspiria hjelper deg med testledelse
Systemtesting handler om å verifisere at et IT-system fungerer som en helhet før det tas i bruk. Ved å teste komplette brukerreiser, samspill og dataflyt, avdekkes feil som ofte ikke fanges opp i tidligere testfaser.
God systemtesting krever tydelig ansvar, realistiske scenarier og riktig tidspunkt i prosjektet. Når dette er på plass, bidrar systemtesting til høyere kvalitet, lavere risiko og mer forutsigbare leveranser.
Trenger du støtte til planlegging eller gjennomføring av systemtesting i ditt prosjekt, kan Aspiria bidra med erfaring og faglig trygghet tilpasset deres behov og arbeidsform.
Hva er forskjellen på systemtest og systemtesting?
Begrepene brukes ofte om hverandre. Systemtesting beskriver selve testaktiviteten, mens systemtest gjerne brukes om testfasen eller testløpet som gjennomføres.
Er systemtesting det samme som kvalitetssikring (QA)?
Nei. Systemtesting er én del av kvalitetssikringen. QA omfatter også prosesser, metoder og kontinuerlig forbedring gjennom hele utviklingsløpet.
Når er systemtesting ferdig?
Systemtesting avsluttes vanligvis når definerte testkriterier er oppfylt, og kjente feil er vurdert og håndtert. Det betyr ikke nødvendigvis at systemet er feilfritt, men at risikoen er kjent og akseptabel.
Må systemtesting dokumenteres?
Ja. Dokumentasjon gir sporbarhet, oversikt og et bedre grunnlag for beslutninger. Både i prosjektet og i videre forvaltning.