Acceptance test: en essentiel del af softwareudvikling

Acceptance test er ofte det tidspunkt i et softwareprojekt, hvor spændingen stiger. Ikke fordi teamet pludselig har glemt, hvordan man tester, men fordi acceptance testen er dér, hvor løsningen skal bevise sin værdi for dem, der faktisk skal bruge den.

Hvis du er projektleder, bliver acceptance test hurtigt et spørgsmål om styring, forventningsafstemning og beslutningskraft. En god acceptance test gør det tydeligt, om I kan gå live. En svag acceptance test efterlader jer med diskussioner, tolkninger og et release, der føles som et sats.

Hvad acceptance test egentlig afgør

Acceptance test er den formelle afprøvning af, om en løsning opfylder brugerbehov, krav og forretningsmål. ISTQB beskriver acceptance test som formel test i forhold til brugerbehov, krav og forretningsprocesser, med formålet at afgøre om systemet opfylder acceptkriterierne.


TILMELD DIG NYHEDSBREVET OG FÅ +50 SKABELONER!
Vi har samlet +50 skabeloner!
— Du kan få dem tilsendt herunder! —

Det afgørende er fokus: Acceptance test handler ikke primært om, hvorvidt systemet kan, men om hvorvidt systemet bør godkendes.

Det er også grunden til, at acceptance test ofte ligger sent. Teamet har allerede kørt unit test, integrationstest og systemtest. Alligevel er acceptance testen ikke bare “en ekstra runde”, men en anden type bevis: Den knytter leverancen direkte til det, kunden eller forretningen sagde ja til.

Acceptkriterier: din vigtigste kontrakt

Acceptkriterier er broen mellem krav og godkendelse. Når de er uklare, bliver accepttesten et møde med holdninger. Når de er klare, bliver accepttesten en kontrolleret proces med konkrete resultater.

Som projektleder kan du med fordel insistere på, at acceptkriterier skrives, mens der stadig er tid til at justere løsningen, ikke kun når release nærmer sig. I agile forløb bør acceptkriterier være en fast del af user stories. I mere klassiske projekter bør de fremgå af kravspecifikation og kontraktgrundlag.

Et praktisk pejlemærke er, at et acceptkriterium skal kunne testes uden at kende koden, og uden at skulle gætte på “hvad der var ment”.

Efter du har afklaret behovet med forretningen, hjælper det at samle kriterierne i en accepttestplan, hvor I også aftaler rammerne for selve testen.


Hent vores bøger og skabeloner herunder


  • Formål og scope: Hvad skal godkendes, og hvad er eksplicit uden for testen
  • Indgangskriterier: Hvad skal være på plads før testen starter (miljø, version, data, systemtest gennemført)
  • Udgangskriterier: Hvad betyder “bestået” på tværs af kritikalitet, fejltyper og restfejl
  • Testmiljø (produktionsnært)
  • Testdata og konti
  • Roller og ansvar

Accepttest i testpyramiden

Mange misforståelser opstår, når acceptance test forventes at fange alt det, som tidligere testniveauer burde have fanget. Acceptance test skal validere forretningsværdi og arbejdsgange, ikke være jeres første rigtige end-to-end test.

Her er en enkel måde at forklare forskellene for interessenter, der ikke lever i testterminologi til daglig:

TestniveauPrimært formålTypisk udført afTypiske fund
Unit testKorrekthed i små kodeenhederUdviklereLogikfejl, kanttilfælde
IntegrationstestSamspil mellem moduler og interfacesUdviklere/QAAPI-fejl, dataflow, kontrakter
SystemtestEnd-to-end funktionalitet i samlet løsningQA/testteamKonfigurationsfejl, flows, tværgående defekter
Acceptance test (UAT)Godkendelse mod behov, krav og processerForretning/kunde repræsentanter (ofte støttet af QA)Manglende funktionalitet i praksis, procesbrud, uacceptabel UX

Den korte version: Acceptance test svarer på “kan vi tage ansvaret for at sætte dette i drift?”

Alfa og beta: to måder at lave accept på

Acceptance test bliver i praksis ofte opdelt i alfa og beta. Begge er nyttige, fordi de giver feedback på forskellige tidspunkter og under forskellige betingelser.

Alfatest er intern og kontrolleret. Betatest bringer løsningen ud i virkeligheden, hvor rigtige brugere og rigtige arbejdsmønstre kan afsløre ting, som ingen testcases havde forudset.

DimensionAlfatestBetatest
DeltagereUdvikling/QA og interne repræsentanterKunder eller slutbrugere
MiljøKontrolleret testmiljøBrugerens eget miljø eller “rigtig” brugskontekst
FormålStabilitet og funktionsdækning før ekstern afprøvningFeedback på brug, drift og realisme
TimingFør beta, ofte når løsningen er feature-kompletTættere på release, når kritiske fejl er lukket

Betatest kan være lukket eller åben. Lukket beta betyder få udvalgte brugere, ofte med klare feedbackkanaler og tæt opfølgning. Åben beta betyder en bredere brugergruppe, hvilket giver mere variation, men kræver stærkere support-setup og tydelig forventningsstyring.

Sådan får du acceptance test til at fungere i et projekt

Acceptance test lykkes sjældent, fordi nogen “tester hårdt”. Den lykkes, fordi processen er designet, så I kan træffe en beslutning.

1) Fastlæg hvem der kan godkende

Start med at udpege en reel godkender eller godkendergruppe. Ikke en referenceperson, ikke “forretningen” som abstrakt størrelse, men navne og roller.

Hvis der er flere interessenter, så aftal hvem der har vetoret på hvilke områder. Ellers risikerer du, at accepttesten teknisk set er bestået, men politisk set ikke kan godkendes.

2) Afgræns scope og lav en realistisk testkalender

Acceptance test bliver ofte presset ind i de sidste dage før go-live. Det giver kun mening, hvis alt er forberedt, og hvis acceptkriterierne er skarpe.

Planlæg testvinduer, retest-cyklusser og tid til fejltriage. Og aftal, hvad der sker, hvis testmiljøet ikke er stabilt. Det er ikke et “testproblem”, men et projektproblem.

3) Design testcases som forretningsscenarier

De bedste accepttestcases ligner arbejdsgange. De starter med et udgangspunkt (data, rettigheder, tilstand) og slutter med et forretningsresultat.

Når du skriver dem sammen med brugersiden, så hold fokus på: “Hvilket arbejde skal brugeren kunne få gjort?” Det giver langt bedre kvalitet end testcases, der kun tjekker felter og knapper.

Testmiljø og testdata der ligner virkeligheden

Et produktionsnært miljø er ikke en luksus. Det er en forudsætning for, at accepttestresultater kan bruges til en go/no-go beslutning.

Som projektleder kan du stille tre enkle kontrolspørgsmål:

Er konfigurationen den samme som i drift (integrationer, rettigheder, feature flags)? Er performance nogenlunde realistisk? Og er data realistiske nok til at afsløre procesfejl?

Testdata er ofte den skjulte tidsrøver. Hvis brugerne først skal opfinde data i testøjeblikket, mister du både tempo og kvalitet. Forbered hellere et datasæt pr. hovedflow, og gør det nemt at nulstille, så testcases kan gentages ved retest.

Dokumentation og rapportering der giver ro

Rapporteringen behøver ikke være tung. Den skal være konsekvent og beslutningsorienteret. En daglig status under testperioden er ofte nok, hvis den er skarp.

  • Teststatus: Planlagt vs. kørt, pass/fail og hvad der blokerer fremdrift
  • Defektbillede: Antal åbne fejl, sorteret på alvorlighed og om de påvirker acceptkriterier
  • Beslutningspunkter: Hvad kræver afklaring fra forretning, drift eller leverandører
  • Skærmbilleder og logreferencer (når det giver værdi)
  • Liste over kendte begrænsninger (hvis I går live med restpunkter)

Traceability: fra krav til bevis

Sporbarhed lyder som noget, der kun findes i regulerede brancher. I praksis er det bare en måde at undgå huller: Hvert krav skal kunne pege på én eller flere accepttestcases, og hver testcase skal kunne pege tilbage på et krav.

Det kan gøres simpelt i et regneark eller i jeres testværktøj. Pointen er ikke formatet, men at du kan svare hurtigt på: “Er dette krav faktisk testet og godkendt?”

Her er et mini-eksempel på en kravsporbarhedsmatrix (RTM), der er til at styre efter:

Krav/User storyAcceptkriterium (kort)Testcase-idResultat
US-14 Opret brugerBruger kan oprette med MitID og får kvitteringAT-01Pass
US-18 Eksport rapportEksport matcher filter og formatAT-07Fail
US-22 RettighederKun rolle X kan godkendeAT-12Pass

Når forretningen ændrer et krav sent, gør RTM det også tydeligt, hvilke testcases der skal opdateres og genkøres. Det er en af de hurtigste måder at holde styr på konsekvenser.

Når testen fejler: styring uden drama

Fejl i acceptance test er ikke en katastrofe. Det er information. Udfordringen opstår, når I ikke har aftalt, hvad en fejl betyder for release.

Som projektleder skal du sikre en fast triage-rytme: Hvad er kritisk? Hvad kan vente? Hvad kræver afklaring af acceptkriterier? Og hvem beslutter, om et restpunkt er acceptabelt?

Tre typiske faldgruber går igen i mange teams, og de er værd at spotte tidligt:

  • Uklare acceptkriterier
  • For lidt tid til retest
  • Brugere uden træning i testrollen
  • Et testmiljø der ændrer sig undervejs
  • “Vi fik ikke lige data til det flow”

Når I rammer en blocker, så beskyt testflowet: Frys scope for testen, log afvigelsen, lav en klar plan for retest, og hold interessenter opdateret med fakta frem for mavefornemmelser.

En lille accepttestpakke du kan genbruge

Hvis du vil gøre acceptance test mere gentagelig fra projekt til projekt, kan du standardisere leverancerne. Det giver især mening i organisationer med flere parallelle projekter eller hyppige releases.

ArtefaktHvad det bruges tilTypisk ejer
Acceptkriterier pr. scopeområdeFælles definition af “godkendt”Forretning + projektleder
AccepttestplanRammer, roller, kalender, ind og udgangskriterierProjektleder/QA
Testcases (scenarier)Praktisk afprøvning af brugerflowsQA + nøglebrugere
Defektlog og triagebeslutningerPrioritering og reteststyringQA + udvikling
Sign-off (go/no-go)Formelt beslutningsgrundlagGodkender(e)

Når du har den pakke klar, bliver acceptance test mindre en “slutfase” og mere en kontrolleret aktivitet, der giver tryghed hele vejen frem mod release. Det er præcis den type struktur, der hjælper projekter sikkert i mål, også når tiden er knap og forventningerne høje.


TILMELD DIG NYHEDSBREVET OG FÅ +50 SKABELONER!
Vi har samlet +50 skabeloner!
— Du kan få dem tilsendt herunder! —

Disse værktøjer anbefaler vi:

Mest populære indlæg:

Picture of Mark Høgh Guldbrandsen
Mark Høgh Guldbrandsen
Certificeret projektleder med speciale i digitale projekter. Jeg deler her på bloggen mine erfaringer med projektledelse.
Gratis downloads:​
Følg os på LinkedIn her:
Effektiv projektledelse – Din trin-for-trin guide til at drive succesfulde projekter

Trin-for-trin guide til effektiv projektledelse

Jeg har lavet denne guide til at hjælpe dig med at drive dine projekter mere succesfuldt. Få den tilsendt helt gratis!

Få en gratis bog om Scrum metoden!

Kunne du tænke dig at lære meget mere omkring Scrum metoden? Så få denne bog tilsendt på mail.