Usecase test

Usecase Test er en testteknik, der fokuserer på at validere systemets funktionalitet ud fra brugerens perspektiv – altså hvordan en bruger interagerer med systemet i en konkret arbejdsgang eller situation. En usecase beskriver en sekvens af handlinger, som en bruger udfører for at opnår et mål. Usecase testen tester om systemet understøtter det scenarie, som er beskrevet i usecasen.

Fordele

  • Usecase test er en brugercentreret test, der sikrer at systemet understøtter reelle arbejdsgange.
  • God kommunikation med interessenter – use cases er ofte lette at forstå for både udviklere, testere og forretningen.
  • Dækker både funktionelle og ikke-funktionelle krav – fx brugeroplevelse, performance og sikkerhed.
  • Kan bruges tidligt i udviklingsprocessen – allerede når use cases er defineret.
  • Tester integration og samspil mellem komponenter, da use cases ofte involverer flere systemdele.

Begrænsninger

  • Afhænger af kvaliteten af use cases – dårligt definerede use cases giver dårlig test.
  • Kan overse detaljerede fejl – da fokus er på overordnede scenarier, ikke på edge cases.
  • Ikke egnet til lavniveau test – fx unit tests eller tekniske grænseflader.
  • Kan være tidskrævende – især hvis der er mange use cases med mange variationer.

Typisk anvendelse

  • Systemtest og accepttest, hvor man tester hele systemets funktionalitet.
  • Agile udviklingsprojekter, hvor brugerhistorier og scenarier er centrale
  • Domæner med komplekse arbejdsgange.
  • Test af brugerrejser.

Eksempler

Herunder er beskrevet eksempler fra AU IT.

  • Udbyd et kursus og tilmeld et antal studerende.
  • Opret en arbejdsrelation til en medarbejder. 

Antal testcases

For usecase test taler man ofte om testdækning ift. at dække:

  • Normalt flow - det typiske og mest normale flow.
  • Alternative flows - alternative stadig gyldige scenarier
  • Fejlscenarier med ugyldige input eller uventede situationer

Dvs. antallet af testcases afhænger af hvor mange flows og alternative flows usecasen dækker. Jo større kompleksitet desto flere testcases for at dække usecasens funktionalitet.