Grenswaardeanalyse en gelijkwaardigheidspartitionering
โก Slimme samenvatting
Equivalentiepartitionering en grenswaardeanalyse zijn black-box testtechnieken die grote invoerbereiken comprimeren tot equivalentieklassen en de randen van de partities testen. Dit zorgt voor een sterke detectie van defecten met een efficiรซnte dekking voor zowel geldige als ongeldige invoer.

Uitputtende tests zijn zelden haalbaar vanwege tijdgebrek en combinatorische beperkingen. Equivalentiepartitionering en grenswaardeanalyse lossen dit op door groepering vanping vergelijkbare inputs gebruiken en de randen ervan targeten voor een betere dekking met minder gevallen.
Wat is equivalentiepartitionering?
Gelijkwaardigheid Partitionering (Ook wel Equivalence Class Partitioning of ECP genoemd) is een black-box-techniek die invoergegevens verdeelt in groepen van equivalente waarden. De tester kiest รฉรฉn representant per klasse, ervan uitgaande dat de software zich voor elk lid hetzelfde gedraagt.
- Verdeelt het invoerdomein in geldige en ongeldige equivalentieklassen.
- Geldt in alle gevallen niveaus van testenโeenheid, integratie, systeem en acceptatie.
Wat is grenswaardeanalyse?
Grenswaardeanalyse (BVA)BVA, ook wel bereikcontrole genoemd, valideert de uiterste grenzen van elke equivalentieklasse. Omdat defecten zich ophopen aan de grenzen van het bereik, richt BVA zich op vijf belangrijke punten:
- Minimum
- Net boven het minimum
- Een nominale waarde
- Net onder het maximum
- maximaal
BVA vormt een aanvulling op Equivalence Partitioning: zodra klassen zijn gedefinieerd, komen hun grenswaarden aan het licht, met afwijkingen van รฉรฉn en randfouten.
Waarom equivalentiepartitionering en randwaardeanalyse gebruiken?
Intelligente testselectie is essentieel wanneer de combinaties te talrijk zijn om volledig te testen. Deze technieken bieden drie voordelen:
- Comprimeer grote hoeveelheden testcases tot beheersbare delen.
- Formuleer duidelijke regels voor het selecteren van testgegevens zonder dat dit ten koste gaat van de effectiviteit.
- Geschikt voor rekenintensieve apps met veel numerieke variabelen.
Hoe voer je equivalentiepartitionering uit (voorbeeld)?
- Bekijk het tekstvak 'Pizza bestellen' hieronder.
- Aantallen 1โ10 zijn geldig; er verschijnt een succesbericht.
- Hoeveelheden 11โ99 zijn ongeldig, waardoor een foutmelding wordt geactiveerd. โEr kunnen slechts 10 pizza's besteld wordenโ.
Test voorwaarden:
- Elk getal boven de 10 is ongeldig.
- Elk getal lager dan 1 is ongeldig.
- Numbers 1โ10 zijn geldig.
- Elk driecijferig getal zoals -100 is ongeldig.
Het testen van elke waarde levert meer dan 100 gevallen op. Equivalentiepartitionering groepeert het domein in klassen met identiek gedrag.
Deze groepen worden genoemd EquivalentieklassenKies รฉรฉn waarde per klasse: als deze slaagt, slagen alle andere klassen; als deze faalt, faalt de hele klasse.
Hoe voer je een grenswaardeanalyse uit (voorbeeld)?
Met behulp van hetzelfde Pizza-veld controleert BVA de randen van de partitie in plaats van de nominale waarden. Testers evalueren 0, 1, 10 en 11, waarmee zowel geldige als ongeldige grenzen worden afgedekt.
Voor een invoer die waarden van 1 tot 10 accepteert, zijn de grensgevallen voor de test:
| Testscenario Description | Verwacht resultaat |
|---|---|
| Grenswaarde = 0 | Systeem zou NIET moeten accepteren |
| Grenswaarde = 1 | Systeem zou moeten accepteren |
| Grenswaarde = 2 | Systeem zou moeten accepteren |
| Grenswaarde = 9 | Systeem zou moeten accepteren |
| Grenswaarde = 10 | Systeem zou moeten accepteren |
| Grenswaarde = 11 | Systeem zou NIET moeten accepteren |
Equivalentiepartitionering versus grenswaardeanalyse
Beide methoden verminderen het aantal tests, maar verschillen in focus en timing.
| Aspect | Gelijkwaardigheid Partitionering | Grenswaardeanalyse |
|---|---|---|
| Focus | Groepen van gelijkwaardige inputs | Randen van elke groep |
| Gegevensselectie | Eรฉn waarde per klasse | Min, bijna-min, nominaal, bijna-max, max |
| Best voor | Het aantal overbodige gevallen verminderen | Het opsporen van fouten die met รฉรฉn afwijking samenhangen. |
| Bestel | Eerst toegepast | Vervolgens toegepast |
Voorbeeld: Validatie van het wachtwoordveld
Een wachtwoordveld dat 6 tot 10 tekens accepteert, wordt onderverdeeld in drie categorieรซn: 0-5, 6-10 en 11-14, met binnen elke categorie een gelijkwaardig resultaat.
| # | Testscenario | Verwacht resultaat |
|---|---|---|
| 1 | Voer 0 tot 5 tekens in. | Systeem zou dit niet moeten accepteren |
| 2 | Voer 6 tot 10 tekens in. | Systeem zou moeten accepteren |
| 3 | Voer 11 tot 14 tekens in. | Systeem zou dit niet moeten accepteren |
Beste werkwijzen voor equivalentiepartitionering en BVA
Volg deze richtlijnen om de dekking sterk te houden en tegelijkertijd het aantal tests onder controle te houden:
- Breng elk domein in kaart: Geef eerst de geldige, ongeldige en speciale partities weer.
- Test beide kanten van elke limiet: Voeg waarden net binnen en buiten toe om off-by-one fouten op te sporen.
- Combineer technieken: Combineer met beslissingstabellen of toestandsovergangstesten voor complexe logica.
- Automatiseer uitzonderlijke gevallen: Parameteriseer de grenswaarden zodat regressieanalyses consistent verlopen.
Key Takeaways
- Equivalentiepartitionering groepeert vergelijkbare invoerwaarden; รฉรฉn waarde per klasse is voldoende.
- Grenswaardeanalyse valideert partitiegrenzen en geldige/ongeldige randen.
- Beide zijn black-box-technieken voor numerieke of bereikgebaseerde velden.
- Door ze te combineren wordt het testvolume verlaagd zonder dat de kwaliteit van de defectdetectie afneemt.
Grenswaardeanalyse en gelijkwaardigheidspartitionering Testvideo
Klik hier als de video niet toegankelijk is




