Ækvivalenspartitionering er en blackbox testteknik, der anvendes, hvor vi kan identificere grupper af data kaldet ækvivalensklasser eller partitioner, som forventes at være generelt repræsentative for en komponents eller systems opførsel. Dvs. inputdomænet kan opdeles i grupper af data kaldet ækvivalensklasser, hvor samme resultat forventes af alle inputværdier i klassen. Hver klasse repræsenterer et sæt af enten gyldige eller ugyldige værdier. Tanken med ækvivalensklasser er altså, at input hørende til samme klasse vil opføre sig ens. Man behøver derfor ikke teste samtlige værdier i en klasse. Der vælges et testscenarier fra hver klasse for at reducere antallet af testcases.
Der kan være flere input dvs. klassifikationer, som kombineres. Antallet af nødvendige testcases afhænger af antallet af klassifikationer og antallet af ækvivalensklasser pr klassifikation.
Fordele
Begrænsninger
Typiske anvendelsestilfælde
Ækvivalenspartitionering bruges typisk, når der er et stort inputdomæne, og det er nødvendigt at reducere antallet af testtilfælde uden at miste testdækning. Det er især nyttigt i funktionel testning, hvor systemets interne struktur ikke er kendt.
Det gælder om at finde klassifikationer og tilhørende ækvivalensklasser/partitioner.
Eksempler
I tabellen herunder er listet eksempler på klassifikationer og tilhørende ækvivalensklasser/partitioner fra en AU IT kontekst.
Klassifikation | Ækvivalensklasser |
|---|---|
| Persontype | Studerende Medarbejder |
| Aflønning | Timelønnet Ikke timelønnet |
| Fortrolighed | Fortrolig Ikke fortrolig |
| Prøveforløbstyper | Prøveforløb med EN prøve Prøveforløb med flere prøver Specialer / Afsluttende prøver |
| Stedkode | Århus Herning Emdrup Viborg Uden campus |
| Prøvetype | Ordinær Reeksamen |
| Status | Deltager Deltager ikke Deltager måske |
Beregning af antal nødvendige testcases
Antal testcases – grundlæggende ækvivalenspartitionering
Antal testcases – hvis man kører 1:1 – dvs. tager en klassifikation ad gangen og en ækvivalensklasse ad gangen – vil antallet af testcases være summen af ækvivalensklasser for de aktuelle klassifikationer.
Hvis vi fx tester eksamenstilmelding/afmelding med klassifikationerne Prøvetype og Status ovenfor, så vil antallet af testcases være 2+3, da der er to prøvetyper og 3 værdier for status.
Fordi man indsætter tilfældigt data for de øvirge klassifikationer kan man risikere at nogle testcases bliver ens. Derfor kan nogle testcases springes over. Hvis man tænker sig lidt om kan man minimere antallet af tescases.
Antal testcases - Minimal antal testcases
Hvis vi går efter det minimale antal testcases, vil man kunne nøjes med et antal testcases svarende til antal klasser i den klassifikation, som har flest klasser fordi man kan sørge for at tilpasse, så de øvrige klasser også bliver dækket ind. Dvs. i dette eks vil vi kunne klare os med 3 testcases.