what is negative testing
Het hebben van de meest optimale productkwaliteit is het primaire doel van de testorganisaties.
Met behulp van een efficiënt kwaliteitsborgingsproces proberen testteams dat te doen vinden maximale defecten tijdens hun testen , waardoor wordt verzekerd dat de klant of de eindgebruiker die het product gebruikt, geen afwijkingen ziet met betrekking tot het functioneren ervan in hun eigen computeromgeving.
Omdat het vinden van defecten een van de belangrijkste doelen van een tester is, moet hij / zij de testscenario's zorgvuldig ontwerpen of ontwerpen om er zeker van te zijn dat de specifieke toepassing of het product naar behoren functioneert.
Hoewel het absoluut belangrijk is om te verifiëren dat de software zijn basisfuncties uitvoert zoals bedoeld, is het even belangrijk of belangrijker om te verifiëren dat de software in staat is om een abnormale situatie netjes aan te pakken. Het is duidelijk dat de meeste defecten voortkomen uit het genereren van dergelijke situaties met redelijke en acceptabele creativiteit van de testers.
De meesten van ons zijn al op de hoogte van verschillende soorten testen, zoals functionele testen, geestelijke gezondheid testen, rook testen , integratietesten, regressietesten alfa- en bètatesten , toegankelijkheidstests, enz. Iedereen zal het er echter over eens zijn dat welke testcategorie u ook uitvoert, de gehele testinspanning kan in principe worden gegeneraliseerd in twee categorieën: positieve testpaden en negatieve testpaden.
Laten we verder gaan met de volgende secties, waarin we bespreken wat positieve en negatieve tests zijn, hoe ze verschillen en we enkele voorbeelden beschrijven om te begrijpen wat voor soort negatieve tests kunnen worden uitgevoerd tijdens het testen van een applicatie.
Wat je leert:
- Wat zijn positieve tests en negatieve tests?
- Praktische voorbeelden van positieve en negatieve testen
- Basisfactoren die helpen bij het schrijven van positieve en negatieve tests
- Gevolgtrekking
- Aanbevolen literatuur
Wat zijn positieve tests en negatieve tests?
Positieve testen
Positieve testen, vaak aangeduid als 'Happy path testing', is over het algemeen de eerste vorm van testen die een tester op een applicatie zou uitvoeren. Het is het proces van het uitvoeren van testscenario's die een eindgebruiker zou uitvoeren voor zijn gebruik. Daarom, zoals geïmpliceerd, houdt positief testen in dat een testscenario wordt uitgevoerd met alleen correcte en geldige gegevens. Als een testscenario geen gegevens nodig heeft, zou voor positieve tests de test moeten worden uitgevoerd op precies de manier waarop deze zou moeten worden uitgevoerd en dus om ervoor te zorgen dat de app aan de specificaties voldoet.
Soms kan er meer dan één manier zijn om een bepaalde functie of taak uit te voeren met de bedoeling de eindgebruiker meer flexibiliteit te geven of voor algemene productconsistentie. Dit wordt alternatieve padtest genoemd, wat ook een soort positieve test is. Bij alternatieve padtesten wordt de test opnieuw uitgevoerd om aan de vereisten te voldoen, maar met een andere route dan het voor de hand liggende pad. Het testscenario zou zelfs dezelfde soort gegevens gebruiken om hetzelfde resultaat te bereiken.
Het kan schematisch worden begrepen vanuit een zeer algemeen voorbeeld dat hieronder wordt beschreven:
A is een startpunt en B is het eindpunt. Er zijn twee manieren om van A naar B te gaan. Route 1 is de algemeen gebruikte route en Route 2 is een alternatieve route. Daarom zou in een dergelijk geval het testen van een gelukkig pad het doorkruisen van punt A naar B met behulp van Route 1 zijn en het alternatieve pad testen zou bestaan uit het nemen van Route 2 van A naar B. Merk op dat het resultaat in beide gevallen hetzelfde is.
Negatief testen
Negatieve tests, gewoonlijk aangeduid als foutpadtesten of storingstesten wordt over het algemeen gedaan om de stabiliteit van de applicatie te garanderen.
hoe string-array in java wordt afgedrukt met for-lus
Negatief testen is het proces waarbij zoveel mogelijk creativiteit wordt toegepast en de toepassing wordt gevalideerd tegen ongeldige gegevens. Dit betekent dat het beoogde doel is om te controleren of de fouten aan de gebruiker worden getoond waar het hoort, of om een slechte waarde op een meer elegante manier te behandelen.
Het is absoluut essentieel om te begrijpen waarom negatief testen nodig is.
De functionele betrouwbaarheid van de applicatie of software kan alleen worden gekwantificeerd met effectief ontworpen negatieve scenario's. Negatieve tests zijn niet alleen bedoeld om mogelijke gebreken aan het licht te brengen die een ernstige impact kunnen hebben op de consumptie van het product in het algemeen, maar kunnen ook een rol spelen bij het bepalen van de omstandigheden waaronder de toepassing kan crashen. Ten slotte zorgt het ervoor dat er voldoende foutvalidatie in de software aanwezig is.
Voorbeeld:
Stel dat u bijvoorbeeld negatieve testcases over een pen moet schrijven. Het basismotief van de pen is om op papier te kunnen schrijven.
Enkele voorbeelden van negatieve tests kunnen zijn:
- Verander het medium waarop het moet schrijven, van papier in stof of een baksteen, en kijk of het nog moet schrijven.
- Doe de pen in de vloeistof en controleer of hij weer schrijft.
- Vervang de vulling van de pen door een lege en controleer of deze stopt met schrijven.
Praktische voorbeelden van positieve en negatieve testen
Laten we een voorbeeld nemen van een UI-wizard om een aantal beleidsregels te maken. In de wizard moet de gebruiker tekstuele waarden invoeren in het ene paneel en numerieke waarden in een ander.
java hoe een array te sorteren
Eerste paneel
In de eerste wordt van de gebruiker verwacht dat hij het beleid een naam geeft, zoals hieronder weergegeven:
Laten we ook enkele basisregels bekijken om ervoor te zorgen dat we goede positieve en negatieve scenario's ontwerpen.
Vereisten:
- Het naamtekstvak is een verplichte parameter
- De beschrijving is niet verplicht.
- Het naamvak mag alleen a-z- en a-z-tekens bevatten. Geen cijfers, speciale tekens zijn toegestaan.
- De naam mag maximaal 10 tekens lang zijn.
Laten we nu de positieve en negatieve testcases voor dit voorbeeld gaan ontwerpen.
Positieve testgevallen: Hieronder staan enkele positieve testscenario's voor dit specifieke deelvenster.
- ABCDEFGH (validatie van hoofdletters binnen tekenlimiet)
- abcdefgh validatie in kleine letters binnen de tekenlimiet)
- aabbccddmn (validatie van tekenlimiet)
- aDBcefz (hoofdletters gecombineerd met validatie van kleine letters binnen de tekenlimiet)
- .. enzovoort.
Negatieve testgevallen : Hieronder staan enkele negatieve testscenario's voor dit specifieke deelvenster.
- ABCDEFGHJKIOOOOOKIsns (naam langer dan 10 tekens)
- abcd1234 (naam met numerieke waarden)
- Geen naam opgegeven
- sndddwwww_ (de naam met speciale tekens)
- .. enzovoort.
Tweede paneel
In het tweede paneel wordt van de gebruiker verwacht dat hij alleen numerieke waarden invoert, zoals hieronder wordt weergegeven:
Laten we hier ook enkele basisregels vaststellen:
Vereisten:
- De ID moet een nummer zijn tussen 1-250
- De ID is verplicht.
Daarom zijn hier enkele positieve en negatieve testscenario's voor dit specifieke deelvenster.
Positieve testscenario's : Hieronder staan enkele positieve testscenario's voor dit specifieke deelvenster.
- 12 (Voer een geldige waarde in binnen het opgegeven bereik)
- 1.250 (De grenswaarde van het opgegeven bereik invoeren)
Negatieve testscenario's : Hieronder staan enkele negatieve testscenario's voor dit specifieke deelvenster.
- Ab (Tekst invoeren in plaats van cijfers)
- 0, 252 (Buiten grenswaarden invoeren)
- Null-invoer
- -2 (waarden buiten bereik invoeren)
- +56 (Invoer van een geldige waarde voorafgegaan door een speciaal teken)
Basisfactoren die helpen bij het schrijven van positieve en negatieve tests
Als je de bovenstaande voorbeelden nauwkeurig bekijkt, zul je merken dat er meerdere positieve en negatieve scenario's kunnen zijn. Effectief testen is echter wanneer u een eindeloze lijst van positieve en negatieve scenario's zo optimaliseert dat u voldoende testen bereiken
Ook zul je in beide gevallen een gemeenschappelijk patroon zien over hoe de scenario's worden bedacht. In beide bovenstaande gevallen zijn er twee basisparameters of technieken die de basis vormden voor het ontwerpen van voldoende positieve en negatieve testgevallen.
De twee parameters zijn:
Grenswaardeanalyse
Zoals de naam zelf aangeeft, geeft boundary grenzen aan iets aan. Daarom moeten testscenario's worden ontworpen die alleen focussen op de grenswaarden en valideren hoe de applicatie zich gedraagt. Als de invoer binnen de grenswaarden wordt geleverd, wordt dit daarom als positief testen beschouwd en wordt invoer buiten de grenswaarden als onderdeel van negatief testen beschouwd.
Bijvoorbeeld, als een bepaalde applicatie VLAN-id's accepteert van 0 - 255. Daarom vormen hier 0, 255 de grenswaarden. Elke invoer onder 0 of boven 255 wordt als ongeldig beschouwd en vormt daarom een negatieve test.
Equivalentie partitionering
Bij equivalentiepartitionering worden de testgegevens gescheiden in verschillende partities. Deze partities worden equivalentiegegevensklassen genoemd. Aangenomen wordt dat de verschillende invoergegevens (gegevens kunnen een voorwaarde zijn) in elke partitie zich op dezelfde manier gedragen. Daarom hoeft van elke partitie slechts één bepaalde voorwaarde of situatie te worden getest, alsof de ene werkt, dan wordt aangenomen dat alle andere in die partitie werken. Evenzo, als een voorwaarde in een partitie niet werkt, zal geen van de andere werken.
Daarom is het nu heel duidelijk dat geldige dataklassen (in de partities) positieve tests zullen omvatten, terwijl ongeldige dataklassen negatieve tests zullen omvatten.
In hetzelfde VLAN-voorbeeld hierboven kunnen de waarden worden onderverdeeld in zeg twee partities.
dvd-ripper voor Windows 10 gratis download
Dus de twee partities hier zouden zijn:
- Waarden -255 tot -1 in één partitie
- Waarden 0 tot 255 in een andere partitie
Gevolgtrekking
Meerdere keren ben ik geconfronteerd met de situatie waarin mensen denken dat negatieve tests min of meer een duplicatie zijn van de positieve tests in plaats van te geloven dat het de positieve tests onderbouwt. Mijn standpunt over deze vragen is altijd consistent geweest als tester. Degenen die hoge normen en kwaliteit begrijpen en ernaar streven, zullen ongetwijfeld negatieve testen afdwingen als een must in het kwaliteitsproces.
Terwijl positieve tests ervoor zorgen dat de zakelijke use-case wordt gevalideerd, zorgen negatieve tests ervoor dat de geleverde software geen gebreken vertoont die het gebruik ervan door de klant kunnen afschrikken.
Het ontwerpen van nauwkeurige en krachtige negatieve testscenario's vereist creativiteit, vooruitziendheid, vaardigheid en intelligentie van de tester. De meeste van deze vaardigheden kunnen worden verworven door ervaring, dus blijf daar en blijf je volledige potentieel keer op keer beoordelen!
Over de auteur: Dit is een gastartikel van Sneha Nadig. Ze werkt als een testleider met meer dan 7 jaar ervaring in handmatige en automatiseringstestprojecten.
Laat ons uw mening en ervaring weten over negatief testen.
PREV-zelfstudie VOLGENDE zelfstudie
Aanbevolen literatuur
- Beste softwaretesttools 2021 (QA Test Automation Tools)
- Primer eBook downloaden testen
- Een wekelijks statusrapport voor softwaretests schrijven
- Verschil tussen Desktop, Client Server Testing en Web Testing
- Laadtests met HP LoadRunner-zelfstudies
- Handleiding voor het testen van webapplicaties
- Applicatie testen - In de basis van softwaretesten!
- Installeer uw applicatie op het apparaat en begin met testen vanuit Eclipse