Wat is negatief testen? Testgevallen met voorbeeld

Negatieve testen

Negatieve testen is een softwaretesttype dat wordt gebruikt om de softwaretoepassing te controleren op onverwachte invoergegevens en -voorwaarden. Onverwachte gegevens of voorwaarden kunnen van alles zijn, van een verkeerd gegevenstype tot een sterke hackaanval. Het doel van negatief testen is om te voorkomen dat de softwaretoepassing crasht vanwege negatieve invoer en om de kwaliteit en stabiliteit te verbeteren.

Door alleen maar positieve tests uit te voeren, kunnen we er alleen voor zorgen dat ons systeem onder normale omstandigheden werkt. We moeten ervoor zorgen dat ons systeem onverwachte omstandigheden aankan, zodat we een 100% storingsvrij systeem kunnen garanderen.

Voorbeeld van negatief testen

Neem het geval van een lift, een algemeen beschouwd voorbeeld van negatieve tests.

We kennen allemaal de functionaliteit van een lift. Deze worden beschouwd als de vereisten van een lift, zoals het indrukken van het verdiepingnummer om de lift naar die specifieke verdieping te laten gaan.

De deur gaat automatisch open zodra de lift de opgegeven verdieping bereikt, enzovoort.

Laten we nu eens kijken naar enkele negatieve scenario's voor lift. Sommige ervan zijn,

Negatieve testen Positief testen
Wat gebeurt er als het aantal personen (gewicht) de opgegeven limiet overschrijdt? Er wordt van uitgegaan dat het enige opgegeven aantal personen de lift betreedt
Wat gebeurt er als iemand rookt of brand veroorzaakt in de lift? Er zal geen rook of vuur in de lift zijn
Wat gebeurt er als er tijdens de werking een stroomstoring optreedt? Tijdens de werking van de lift zal er geen stroomstoring optreden

Al deze gevallen zullen negatief worden getest. Het belang hiervan is dat we er niet voor kunnen zorgen dat al het bovengenoemde niet zal gebeuren, dus moeten we ze onder controle houden.

Beschouw het geval dat de toestand van overgewicht wordt gecontroleerd en bij implementatie de lift abnormaal presteert als er sprake is van een toestand van overgewicht. Dit heeft een potentiële impact op de betrouwbaarheid van het systeem en kan zelfs levensgevaar opleveren. Hierin wordt uitgelegd wat negatieve tests zijn en wat het belang ervan is.

Hetzelfde geval wordt ook in software toegepast. Voor negatieve tests zijn we afgeweken van een normale operationele procedure. Laten we een paar voorbeelden doornemen.

Denk bijvoorbeeld aan een inschrijfformulier.

Negatieve testen Positief testen
Probeer een ongeldig e-mailadres in te voeren in het e-mailveld In een e-mailveld worden alleen geldige e-mailadressen ingevoerd
Probeer een ongeldig telefoonnummer in te voeren in een telefoonnummerveld (tekens) Het enige nummer wordt in het nummerveld ingevoerd
Upload een afbeelding met een formaat buiten de opgegeven grens Alleen afbeeldingen met een grootte onder de opgegeven grens worden geüpload
Upload ongeldige bestanden zoals XML, SQL, etc. bestanden in het uploadveld voor afbeeldingen Upload alleen geldige afbeeldingsformaten zoals jpg.png, enz.

Zoals we eerder zeiden, moeten we ervoor zorgen dat ons systeem in al deze negatieve gevallen naar behoren zal werken. Neem het geval waarin iemand probeert een teken in het getalveld in te voeren en het systeem de onverwachte gegevens niet kan verwerken omdat het een getal verwacht, en het systeem uiteindelijk crasht. Of wat als iemand een SQL injectie en al onze gegevens uit de database wissen. Dergelijke potentiële verliezen kunnen wij niet dragen. Negatieve tests zijn dus belangrijk.

Waarom negatief testen?

Omdat testen een tijdrovende en kostbare taak is, is het erg belangrijk om te beslissen 'wat', 'hoe' en 'hoeveel' we testen. We moeten verstandig kiezen of we negatieve testen in ons systeem moeten doen of niet. Laten we dus eens kijken naar het belang van negatieve testen.

Organisatieperspectief

Het is de verantwoordelijkheid van de organisatie om een ​​product van goede kwaliteit aan haar klant te leveren. Om dit te bereiken moet men negatief testen.

Als onderdeel van de bevestiging van een mislukking moet een organisatie negatieve tests uitvoeren.

Misschien kunnen we geen 100% foutvrij systeem bouwen, maar we moeten ervoor zorgen dat we er alles aan hebben gedaan om een ​​storing te voorkomen, om dat te bereiken moeten we negatieve tests uitvoeren.

De impact is een factor waarmee we rekening moeten houden. Stel dat we positieve tests hebben uitgevoerd op een e-commercesite en zorg ervoor dat alles in orde is. Maar wat als er een maas in ons systeem zit waardoor iemand SQL-injectie kan uitvoeren en al onze gegevens kan wissen? Dat zal een grote inbreuk op de beveiliging zijn. Om dit soort gevallen te voorkomen, moet men ook negatief testen.

Voor applicaties die open zijn voor het publiek, voornamelijk websites, moeten we altijd in gedachten houden dat we niet veel controle hebben over de gebruiksprocedure van de applicatie, dus moeten we negatieve tests uitvoeren om er zeker van te zijn dat al dergelijke gevallen gedekt en ingeperkt zijn.

Iets anders waar we op moeten letten is dat er veel zwarte hackers zijn die op zoek zijn naar een mogelijkheid om het systeem te vernietigen. Hacking is een belangrijke zaak die wordt behandeld in negatieve tests

Klantperspectief

Klanten verwachten altijd producten zonder kwetsbaarheid, om ervoor te zorgen dat negatief testen een must is

Als het een gevoelig product betreft zoals e-commerce, online voorraad etc., dan zijn beveiliging en negatieve testen een must.

De enige zorg voor de cliënt met betrekking tot negatieve tests zijn de kosten. Maar zodra de impact is geanalyseerd, is het aan de klant om te beslissen of hij al dan niet negatief test.

Hoe u een negatieve test uitvoert

Om negatief te testen moeten we alle mogelijke gevallen in overweging nemen. Dat wil zeggen, als het mogelijk is, moeten we dit in de overweging overwegen Testgeval ongeacht of het niet de juiste manier is om het te gebruiken. Bijvoorbeeld, als we een e-mailveld zien, denk dan aan alle mogelijke invoer die we daar kunnen plaatsen, behalve het juiste e-mailformaat. Op dezelfde manier als we een optie voor het uploaden van afbeeldingen zien, moeten we deze testen met alle mogelijke bestanden.

Bij het maken van negatieve testcases moeten we de invoer prioriteren, anders zijn er veel mogelijke gevallen. Bijvoorbeeld, voor een afbeeldingsveld waar alleen '.png'-bestanden in moeten komen, kunnen we veel opties hebben om te uploaden, zoals 'jpeg', 'xml', 'xls', etc. Dus we moeten de opties prioriteren, zoals XML en SQL kan een grotere impact hebben dan die van jpeg en xls, dus we moeten eerst voor SQL- en XML-gevallen zorgen. Op deze manier moeten we de cases prioriteren vóór de uitvoering om tijd en testkosten te besparen.

Voor- en nadelen van negatieve tests

Net als bij alle andere testtechnieken zijn er voor- en nadelen verbonden aan negatieve tests, voornamelijk gebaseerd op het 'waar', 'wanneer' en 'hoe' te gebruiken. Laten we dit eens bekijken.

Voordelen van negatieve tests

  • Zoals we allemaal weten zijn negatieve tests erg belangrijk om de kwaliteit van een product te garanderen. Een product van goede kwaliteit is een product zonder kwetsbaarheid, om ervoor te zorgen dat negatieve testen erg belangrijk zijn.
  • Door een negatieve test uit te voeren, weet u zeker dat alle mogelijke gevallen gedekt zijn. Bewust of onbedoeld bestaat de kans dat er negatieve testgevallen optreden. Dus om er zeker van te zijn dat alle gevallen gedekt zijn, moeten we naast positieve tests ook negatieve tests uitvoeren.
  • Negatief testen geeft de klant meer vertrouwen voordat hij live gaat.

Nadelen van negatieve tests

  • Bij Software Engineering wordt negatief testen in sommige gevallen een verspilling van tijd en energie. In veel gevallen is het niet nodig om overmatig negatief te testen. Als een applicatie bijvoorbeeld is gemaakt voor gebruik door één persoon, hoeven we geen rekening te houden met het geval dat 100 gebruikers het systeem tegelijkertijd gebruiken. Het bepalen van de omstandigheden bij negatieve testgevallen is dus erg belangrijk. Er zullen momenten zijn waarop we geen negatieve tests op een bepaald systeem hoeven uit te voeren.
  • Er zijn bekwame en ervaren mensen nodig om negatieve testgevallen te creëren.
  • Voor de klant is negatief testen iets anders dat onnodige vertraging in de release en extra kosten veroorzaakt.
  • De kans dat een team meer tijd en energie besteedt aan negatief testen. De kans bestaat dat testers veel tijd en energie besteden aan negatief testen, wat resulteert in een lagere concentratie bij positief testen.