Gränsvärdesanalys och ekvivalensuppdelning
⚡ Smart sammanfattning
Ekvivalenspartitionering och gränsvärdesanalys är black-box-testtekniker som komprimerar stora indataområden till ekvivalensklasser och testpartitioneringskanter, vilket ger stark defektdetektering med effektiv täckning över giltiga och ogiltiga indata.

Uttömmande testning är sällan genomförbar på grund av tids- och kombinatoriska begränsningar. Ekvivalenspartitionering och randvärdesanalys löser detta genom att grupperaping liknande ingångar och rikta in sig på deras kanter för starkare täckning med färre fall.
Vad är ekvivalenspartitionering?
Ekvivalensuppdelning (även kallad Equivalence Class Partitioning eller ECP) är en black-box-teknik som delar upp indata i grupper med ekvivalenta värden. Testaren väljer en representant per klass, förutsatt att programvaran beter sig likadant för varje medlem.
- Delar upp indatadomänen i giltiga och ogiltiga ekvivalensklasser.
- Gäller överhuvudtaget testnivåer—enhet, integration, system och acceptans.
Vad är randvärdesanalys?
Gränsvärdesanalys (BVA), även kallad intervallkontroll, validerar extremgränserna för varje ekvivalensklass. Eftersom defekter klustras vid intervallgränser, riktar sig BVA mot fem nyckelpunkter:
- Minsta
- Precis över minimum
- Ett nominellt värde
- Strax under max
- Maximal
BVA kompletterar ekvivalenspartitionering: när klasser har definierats dyker deras randvärden upp off-by-one och kantbuggar.
Varför använda ekvivalenspartitionering och randvärdesanalys?
Intelligent testval är avgörande när kombinationerna är för stora för att kunna testas uttömmande. Dessa tekniker erbjuder tre fördelar:
- Komprimera stora testfallsvolymer till hanterbara delar.
- Tillhandahåll tydliga regler för att välja testdata utan att offra effektiviteten.
- Passar beräkningsintensiva appar med många numeriska variabler.
Hur man utför ekvivalenspartitionering (exempel)
- Titta på textrutan Beställ pizza nedan.
- Kvantiteterna 1–10 är giltiga; ett meddelande om att det lyckades visas.
- Kvantiteterna 11–99 är ogiltiga och utlöser “Endast 10 pizza kan beställas”.
Testvillkor:
- Alla tal över 10 är ogiltiga.
- Alla siffror under 1 är ogiltiga.
- Numbers 1–10 är giltiga.
- Alla tresiffriga tal som -100 är ogiltiga.
Att testa varje värde producerar 100+ fall. Ekvivalenspartitionering grupperar domänen i klasser med identiskt beteende.
Dessa grupper kallas EkvivalensklasserVälj ett värde per klass – om det godkänns, godkänns alla andra; om det misslyckas, misslyckas hela klassen.
Hur man utför randvärdesanalys (exempel)
Med samma Pizza-fält kontrollerar BVA partitionskanter snarare än nominella värden. Testare utvärderar 0, 1, 10 och 11 – och täcker både giltiga och ogiltiga gränser.
För en ingång som accepterar 1 till 10 är gränstestfallen:
| Testscenario Description | Förväntat resultat |
|---|---|
| Gränsvärde = 0 | Systemet bör INTE acceptera |
| Gränsvärde = 1 | Systemet bör acceptera |
| Gränsvärde = 2 | Systemet bör acceptera |
| Gränsvärde = 9 | Systemet bör acceptera |
| Gränsvärde = 10 | Systemet bör acceptera |
| Gränsvärde = 11 | Systemet bör INTE acceptera |
Ekvivalenspartitionering kontra randvärdesanalys
Båda minskar testvolymen men skiljer sig åt i fokus och timing.
| Aspect | Ekvivalensuppdelning | Gränsvärdesanalys |
|---|---|---|
| Fokus | Grupper av likvärdiga ingångar | Kanterna för varje grupp |
| Dataurval | Ett värde per klass | Min, nära min, nominell, nära max, max |
| Bäst för | Minska överflödiga ärenden | Upptäcka defekter en efter en |
| Ordersammanställning | Tillämpad först | Tillämpas härnäst |
Exempel: Validering av lösenordsfält
Ett lösenordsfält som accepterar 6 till 10 tecken bildar tre partitioner – 0–5, 6–10 och 11–14 – med motsvarande resultat inom varje.
| # | Testscenario | Förväntat resultat |
|---|---|---|
| 1 | Ange 0 till 5 tecken | Systemet bör inte acceptera |
| 2 | Ange 6 till 10 tecken | Systemet bör acceptera |
| 3 | Ange 11 till 14 tecken | Systemet bör inte acceptera |
Bästa praxis för ekvivalenspartitionering och BVA
Följ dessa metoder för att hålla täckningen stark samtidigt som du kontrollerar testantalet:
- Kartlägg varje domän: Lista giltiga, ogiltiga och specialfallspartitioner först.
- Testa båda sidor av varje gränsvärde: Inkludera värden bara inom och utanför för att upptäcka fel som bara är ett.
- Kombinera tekniker: Kombinera med beslutstabeller eller tillståndsövergångstester för komplex logik.
- Automatisera kantfall: Parametrisera gränsvärden så att regressionssviterna körs konsekvent.
Key Takeaways
- Ekvivalenspartitionering grupperar liknande ingångar; ett värde per klass räcker.
- Gränsvärdesanalys validerar partitionsgränser och giltiga/ogiltiga kanter.
- Båda är black-box-tekniker för numeriska eller intervallbaserade fält.
- Genom att kombinera dem minskas testvolymen utan att kvaliteten på feldetekteringen minskar.
Gränsvärdeanalys och ekvivalensfördelningstestningsvideo
Klicka här. om videon inte är tillgänglig




