In de praktijk is het vanwege tijd- en budgetoverwegingen niet mogelijk om uitputtende tests uit te voeren voor elke set testgegevens, vooral als er een grote pool van invoercombinaties is.
- We hebben een gemakkelijke manier nodig of speciale technieken die testcases intelligent kunnen selecteren uit de pool van testcases, zodat alle testscenario's aan bod komen.
- We gebruiken twee technieken - Equivalence Partitioning & Boundary Value Analysis testtechnieken om dit te bereiken.
In deze tutorial zullen we leren
- Wat is grensonderzoek?
- Wat is gelijkwaardige klassepartitionering?
- Voorbeeld 1: gelijkwaardigheid en grenswaarde
- Voorbeeld 2: gelijkwaardigheid en grenswaarde
- Waarom testen van gelijkwaardigheid en grensanalyse
Wat is grensonderzoek?
Boundary testing is het proces van testen tussen extreme uiteinden of grenzen tussen partities van de invoerwaarden.
- Dus deze extreme doelen zoals Start-End, Lower-Upper, Maximum-Minimum, Just Inside-Just Outside waarden worden grenswaarden genoemd en het testen wordt "boundary testing" genoemd.
- Het basisidee bij het testen van normale grenswaarden is om de waarden van invoervariabelen te selecteren op hun:
- Minimum
- Net boven het minimum
- Een nominale waarde
- Net onder het maximum
- Maximaal
- Bij Boundary Testing speelt Equivalence Class Partitioning een goede rol
- Boundary Testing komt na de gelijkwaardigheidsklasse-partitionering.
Equivalentiepartitionering
Equivalentiepartitionering of gelijkwaardigheidsklasse Partitionering is een soort black box-testtechniek die kan worden toegepast op alle niveaus van softwaretests, zoals eenheid, integratie, systeem, enz. Bij deze techniek worden invoergegevenseenheden onderverdeeld in equivalente partities die kunnen worden gebruikt om testgevallen die de tijd die nodig is voor het testen vermindert vanwege het kleine aantal testgevallen.
- Het verdeelt de invoergegevens van software in verschillende equivalentiegegevensklassen.
- U kunt deze techniek toepassen als er een bereik is in het invoerveld.
Voorbeeld 1: gelijkwaardigheid en grenswaarde
- Laten we eens kijken naar het gedrag van het onderstaande tekstvak Pizza bestellen
- Pizzawaarden 1 tot 10 worden als geldig beschouwd. Er wordt een succesbericht weergegeven.
- Hoewel de waarde 11 tot 99 als ongeldig wordt beschouwd voor de bestelling, verschijnt er een foutmelding: "Er kunnen slechts 10 pizza's worden besteld"
Hier is de testconditie
- Elk getal groter dan 10 ingevoerd in het veld Pizza bestellen (bijvoorbeeld 11) wordt als ongeldig beschouwd.
- Elk getal kleiner dan 1 dat 0 of lager is, wordt als ongeldig beschouwd.
- De nummers 1 tot 10 worden als geldig beschouwd
- Elk 3-cijferig nummer, bijvoorbeeld -100, is ongeldig.
We kunnen niet alle mogelijke waarden testen, want als dit gedaan is, zal het aantal testcases meer dan 100 zijn.Om dit probleem aan te pakken, gebruiken we een equivalentiepartitiehypothese waarbij we de mogelijke waarden van tickets in groepen of sets verdelen, zoals hieronder getoond, waar het systeem gedrag kan als hetzelfde worden beschouwd.
De verdeelde sets worden equivalentiepartities of equivalentieklassen genoemd. Vervolgens kiezen we uit elke partitie slechts één waarde om te testen. De hypothese achter deze techniek is dat als één voorwaarde / waarde in een partitie slaagt, alle andere ook zullen slagen . Evenzo , als één voorwaarde in een partitie faalt, zullen alle andere voorwaarden in die partitie mislukken .
Boundary Value Analysis - in Boundary Value Analysis test je grenzen tussen equivalentiepartities
In ons eerdere voorbeeld van equivalentiepartitionering, in plaats van één waarde voor elke partitie te controleren, controleert u de waarden op de partities zoals 0, 1, 10, 11 enzovoort. Zoals u wellicht opmerkt, test u waarden op zowel geldige als ongeldige grenzen . Grenswaardeanalyse wordt ook wel bereikcontrole genoemd .
Equivalentiepartitie en grenswaardeanalyse (BVA) zijn nauw verwant en kunnen op alle testniveaus samen worden gebruikt.
Voorbeeld 2: gelijkwaardigheid en grenswaarde
Het volgende wachtwoordveld accepteert minimaal 6 karakters en maximaal 10 karakters
Dat betekent dat resultaten voor waarden in partities 0-5, 6-10, 11-14 equivalent moeten zijn
Voer wachtwoord in:Testscenario # | Testscenario Beschrijving | Verwachte uitkomst |
---|---|---|
1 | Voer 0 tot 5 tekens in het wachtwoordveld in | Het systeem zou niet moeten accepteren |
2 | Voer 6 tot 10 tekens in het wachtwoordveld in | Het systeem zou moeten accepteren |
3 | Voer 11 tot 14 tekens in het wachtwoordveld in | Het systeem zou niet moeten accepteren |
Voorbeelden 3: Invoervak moet het cijfer 1 tot 10 accepteren
Hier zullen we de grenswaardetestcases zien
Testscenario Beschrijving | Verwachte uitkomst |
Grenswaarde = 0 | Het systeem zou NIET moeten accepteren |
Grenswaarde = 1 | Het systeem zou moeten accepteren |
Grenswaarde = 2 | Het systeem zou moeten accepteren |
Grenswaarde = 9 | Het systeem zou moeten accepteren |
Grenswaarde = 10 | Het systeem zou moeten accepteren |
Grenswaarde = 11 | Het systeem zou NIET moeten accepteren |
Waarom testen van gelijkwaardigheid en grensanalyse
- Dit testen wordt gebruikt om een zeer groot aantal testgevallen terug te brengen tot beheersbare brokken.
- Zeer duidelijke richtlijnen voor het bepalen van testgevallen zonder afbreuk te doen aan de effectiviteit van testen.
- Geschikt voor rekenintensieve toepassingen met een groot aantal variabelen / inputs
Overzicht:
- Boundary Analysis-testen worden gebruikt wanneer het praktisch onmogelijk is om een grote pool van testgevallen afzonderlijk te testen
- Twee technieken: grenswaardeanalyse en equivalentiepartitietesttechnieken worden gebruikt
- Bij Equivalentiepartitionering verdeelt u eerst een set testcondities in een partitie die in aanmerking kan worden genomen.
- In Boundary Value Analysis test je vervolgens de grenzen tussen equivalentiepartities
- Geschikt voor rekenintensieve toepassingen met variabelen die fysieke grootheden vertegenwoordigen