Introduktion: Hvad er en Use Case?
Use cases beskriver hvordan brugeren interagerer med systemet for at opnå et bestemt mål. En use case fokuserer på aktørers intentioner, systemets reaktioner og de variationer, der kan opstå undervejs. Formatet stammer fra UML (Unified Modeling Language) og er standardiseret i bl.a. ISO/IEC/IEEE 29148 og anvendt i kravspecifikationer og softwarearkitektur.
Eksempel: "En kunde ønsker at bestille en vare online." – dette dækker både hovedscenariet (happy path) og alternative flows (f.eks. udsolgte varer, forkert betalingsinformation).
For testmanagers fungerer use cases som en bro mellem kravspecifikation og testscenarier. De udgør et effektivt grundlag for både accepttest og systemtest og muliggør kommunikation på tværs af tekniske og forretningsmæssige domæner.
Use Case-baseret testdesign
Test baseret på use cases fokuserer på brugerens opgaver og systemets opførsel i kontekst. Det sker ofte med udgangspunkt i følgende struktur:
-
Identifikation af aktører og mål
Hvem interagerer med systemet, og hvad forsøger de at opnå? -
Scenarier og alternative flows
Hvilke variationer i flowet kan opstå? Er der undtagelser, fejl eller grænsetilfælde? -
Pre- og postbetingelser
Hvilke tilstande skal gælde før og efter use case’en udføres? -
Testscenarier og testcases
Udledning af konkrete testcases for hver stibane (main flow, alternate flow, exceptions). Data og miljø
Specificering af testdata, aktørroller og systemets tilstand.
Dækning og dækningskriterier
Use case-baseret test muliggør flere dækningskriterier:
-
Basic Flow Coverage: Dækker kun hovedscenariet.
-
Alternative Flow Coverage: Dækker alle variationer og afvigelser.
-
Full Path Coverage: Kombinatorisk dækning af alle mulige stibane-forløb (kræver ofte modellering).
Et af de centrale mål for testmanageren er at beslutte hvilken grad af dækning der er nødvendig – typisk afhængig af risikoniveau, forretningskritikalitet og omfanget af krav.
Eksempel på konvertering fra use case til testcase
Use Case: "Godkend betaling" |
---|
Hovedscenarie: Kunden angiver kortdata → validering → betaling godkendes. |
Alternative flows: Ugyldigt kort, manglende dækning, teknisk fejl. |
Testcases (uddrag): |
TC1: Gennemfør betaling med gyldige kortdata (main flow). |
TC2: Afvisning ved udløbet kort (alt flow). |
TC3: Timeout ved kommunikationsfejl (exception flow). |
Styrker og svagheder
Fordele:
-
Brugervenligt og let at formidle til forretningen.
-
Tydelig kobling mellem krav og testcases.
-
Hjælper med tidlig validering og acceptkriterier.
-
Giver struktureret testdækning på tværs af roller.
Udfordringer:
-
Kræver velstrukturerede use cases – ikke altid til stede.
-
Kan være ufuldstændige ift. lavniveau-funktionalitet.
-
Alternative flows kan overses uden erfaring.
Risiko for overlap med andre testdesignteknikker (f.eks. beslutningstabeller, tilstandstest).
Anbefalinger for testmanagers
-
Sørg for at use cases er testbare
Inkluder pre-/postbetingelser og eksplicitte variationer. -
Integrer med testværktøjer
Mange værktøjer (Jira, TestRail, qTest) understøtter mapping mellem use cases og testcases. -
Brug modellering
Visualiser flows via activity diagrams eller state machines for bedre dækning. -
Prioritér scenarier efter risiko og forretning
Ikke alle flows har samme kritikalitet. Auditér dækning løbende
Brug traceability-matrix til at sikre, at alle kravscenarier testes.
Moderne trends og værktøjer
-
Model-Based Testing (MBT) anvender formelle modeller (ofte baseret på use cases) til automatisk testcasegenerering.
-
AI-assisteret testdesign (f.eks. med Copilot, Testim) kan analysere use case-tekster og foreslå testscenarier.
BDD-integration (f.eks. Cucumber): Use case-scenarier kan omskrives som Gherkin-feature files og automatiseres.
Afslutning
Use case-baseret test er et stærkt værktøj for testmanagers, der ønsker at forbinde krav, test og forretningens forventninger på en struktureret måde. Teknikken er særligt egnet i domæner med komplekse brugerinteraktioner, hvor der kræves tydelig dækning og transparens. Forudsætningen for succes er gode input og en disciplineret tilgang til scenarieudvikling og dækning.