Testcases der holder: Sådan tester du både det forventede og det uventede

Testcases der holder: Sådan tester du både det forventede og det uventede

Når du udvikler software, er test ikke bare en formalitet – det er din bedste forsikring mod fejl, frustration og uforudsete nedbrud. Men gode testcases handler om mere end at bekræfte, at koden virker, når alt går som planlagt. De handler også om at udfordre systemet, tænke som brugeren – og som fejlen. I denne artikel ser vi på, hvordan du kan skrive testcases, der holder i længden, og som dækker både det forventede og det uventede.
Hvorfor testcases er mere end tjeklister
En testcase er i sin enkleste form en beskrivelse af, hvad der skal testes, hvordan det skal gøres, og hvilket resultat der forventes. Men i praksis er testcases også en måde at tænke på: en systematisk metode til at forstå, hvordan din software opfører sig under forskellige forhold.
Når testcases bliver skrevet med omtanke, hjælper de ikke kun med at finde fejl – de dokumenterer også, hvordan systemet bør fungere. Det gør dem værdifulde både for udviklere, testere og fremtidige kolleger, der skal forstå systemet.
Start med det forventede – de positive scenarier
De fleste begynder med de såkaldte “happy path”-tests: de situationer, hvor brugeren gør alt rigtigt, og systemet reagerer som forventet. Det er en vigtig start, for det sikrer, at grundfunktionaliteten virker.
Eksempler på positive testcases kan være:
- En bruger logger ind med korrekt brugernavn og adgangskode.
- En ordre gennemføres med gyldige betalingsoplysninger.
- En fil uploades i et tilladt format og vises korrekt.
Disse testcases bekræfter, at systemet leverer den ønskede værdi – men de fortæller ikke hele historien.
Test det uventede – de negative scenarier
De mest værdifulde testcases er ofte dem, der udfordrer systemet. Hvad sker der, når brugeren gør noget forkert, eller når data ikke opfører sig som forventet?
Negative testcases kan for eksempel dække:
- Forkerte input (som bogstaver i et felt, der kun må indeholde tal).
- Manglende data (som et tomt felt, der burde være obligatorisk).
- Ekstreme værdier (som meget store tal eller filer).
- Uventede brugerhandlinger (som at trykke “tilbage” midt i en transaktion).
Ved at teste det uventede kan du opdage fejl, der ellers først ville dukke op i produktion – og som ofte er de mest kostbare at rette.
Brug grænsetest og kombinationer
Mange fejl opstår i grænsetilfælde – lige dér, hvor input eller systemets tilstand skifter. Derfor er det vigtigt at teste både minimums- og maksimumsværdier, samt værdier lige omkring grænsen.
Et klassisk eksempel: Hvis et felt accepterer tal fra 1 til 100, så test ikke kun 1 og 100, men også 0 og 101. Det afslører, om valideringen faktisk fungerer.
Kombinationstests er også nyttige, især når flere inputfelter eller systemdele påvirker hinanden. Her kan du bruge teknikker som pairwise testing til at finde de mest relevante kombinationer uden at skulle teste alt.
Automatisér – men med omtanke
Automatiserede tests er en gave, når de bruges rigtigt. De kan køre hurtigt, gentages ofte og fange fejl, før de når brugerne. Men automatisering bør ikke erstatte menneskelig dømmekraft.
Automatisér de testcases, der er stabile, gentagelige og forudsigelige – typisk de funktionelle og regressionstests. Brug manuelle tests til de områder, hvor brugeroplevelse, design eller uforudsete interaktioner spiller en rolle.
En god tommelfingerregel: Automatisér det, du vil køre mange gange. Udforsk manuelt det, du stadig lærer om.
Dokumentér og vedligehold dine testcases
Testcases mister hurtigt værdi, hvis de ikke holdes opdaterede. Når systemet ændrer sig, skal testene følge med. Ellers risikerer du, at de giver falsk tryghed.
Sørg for, at hver testcase har:
- Et klart formål.
- En entydig beskrivelse af input og forventet output.
- En reference til den funktion eller kravspecifikation, den dækker.
Brug versionsstyring og del testcases i et fælles system, så hele teamet kan se, hvad der testes – og hvorfor.
Tænk som brugeren – og som fejlen
De bedste testere er dem, der kan sætte sig i brugerens sted. Hvad ville en travl, distraheret eller nysgerrig bruger gøre? Hvordan kan systemet misforstås? Ved at tænke som brugeren opdager du fejl, som tekniske tests ofte overser.
Men prøv også at tænke som fejlen: Hvor kunne systemet bryde sammen? Hvilke antagelser bygger koden på, som måske ikke altid holder? Den kombination af empati og skepsis er kernen i god testning.
Testcases, der holder, skaber tillid
Når testcases dækker både det forventede og det uventede, bliver de et værktøj til kvalitet – ikke bare kontrol. De hjælper udviklere med at arbejde hurtigere, fordi de tør ændre kode uden frygt. De hjælper ledelsen med at træffe beslutninger på et solidt grundlag. Og de hjælper brugerne, fordi de får et produkt, der virker – også når verden ikke gør det.
At skrive testcases, der holder, kræver tid, nysgerrighed og disciplin. Men det betaler sig – hver gang en fejl bliver fanget, før den rammer virkeligheden.










