Wat is negatief testen? Testcases met voorbeeld

Inhoudsopgave:

Anonim

Negatieve tests

Negatief testen is een softwaretesttype dat wordt gebruikt om de softwaretoepassing te controleren op onverwachte invoergegevens en omstandigheden. Onverwachte gegevens of omstandigheden kunnen van alles zijn, van een verkeerd gegevenstype tot een sterke hackaanval. Het doel van negatieve tests is om te voorkomen dat de softwareapplicatie crasht als gevolg van negatieve inputs en om de kwaliteit en stabiliteit te verbeteren.

Door alleen 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 om een ​​100% storingsvrij systeem te garanderen.

In deze tutorial leer je-

  • Wat is negatief testen?
  • Voorbeeld van negatieve tests
  • Waarom negatief testen?
  • Negatieve tests uitvoeren
  • Voordelen van negatief testen
  • Nadelen van negatieve tests

Voorbeeld van negatieve tests

Beschouw 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 aangegeven verdieping bereikt, enzovoort.

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

Negatieve tests Positieve testen
  • Wat gebeurt er als het aantal personen (gewicht) de opgegeven limiet overschrijdt?
  • Gaat ervan uit dat het enige gespecificeerde aantal personen de lift zal betreden
  • Wat gebeurt er als iemand rookt of brand veroorzaakt in de lift?
  • Er is geen rook of vuur in de lift
  • Wat gebeurt er als de stroom uitvalt tijdens het gebruik?
  • Tijdens het gebruik van de lift zal er geen stroomstoring zijn

Al deze gevallen zullen negatief worden getest. Het belang hiervan is dat we er niet voor kunnen zorgen dat al het bovenstaande niet zal gebeuren, dus we hebben ze nodig.

Beschouw het geval dat de toestand van overgewicht wordt gecontroleerd en bij implementatie, de lift abnormaal presteert wanneer er sprake is van overgewicht. Dit heeft een mogelijke impact op de betrouwbaarheid van het systeem en kan zelfs levensgevaar opleveren. Dit verklaart wat negatief testen is en het belang ervan.

Hetzelfde geval wordt ook in software toegepast. Voor negatieve testen zijn we afgeweken van een normale operationele procedure. Laten we enkele voorbeelden bekijken.

Denk bijvoorbeeld aan een aanmeldingsformulier.

Negatieve tests Positieve testen
  • Probeer een ongeldig e-mailadres in het e-mailveld in te voeren
  • Alleen geldige e-mail-ID's worden in een e-mailveld ingevoerd
  • Probeer een ongeldig telefoonnummer in een telefoonnummerveld (tekens) in te voeren
  • Het enige nummer wordt in het nummerveld ingevoerd
  • Upload een afbeelding met een grootte 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 afbeeldingsindelingen zoals jpg.webp.png.webp, enz.

Zoals we eerder zeiden, moeten we ervoor zorgen dat in al deze negatieve gevallen ons systeem naar behoren werkt. Beschouw het geval als iemand probeert een teken in het cijferveld in te voeren en het systeem de onverwachte gegevens niet kan verwerken omdat het een nummer verwacht, en het systeem uiteindelijk crasht. Of wat als iemand probeert een SQL-injectie uit te voeren en al onze gegevens uit de database te wissen. We kunnen dergelijke potentiële verliezen niet dragen. Negatief testen is dus belangrijk.

Waarom negatief testen?

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

Organisatieperspectief

Het is de verantwoordelijkheid van de organisatie om een ​​kwalitatief goed product 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% foutloos 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 negatief testen.

De impact is een factor waarmee we rekening moeten houden. Bedenk dat we positieve tests hebben uitgevoerd op een e-commercesite en controleer of alles in orde is. Maar wat als er een maas in ons systeem zit dat iemand SQL-injectie kan doen 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 openstaan ​​voor publiek, voornamelijk websites, moeten we altijd in gedachten houden dat we niet veel controle hebben over de gebruiksprocedure van de applicatie, dus we moeten negatieve tests doen om er zeker van te zijn dat al dergelijke gevallen gedekt en ingeperkt zijn.

Een ander ding waar we op moeten letten, is dat er veel zwarte hackers zijn die op zoek zijn naar een mogelijkheid om het systeem te vernietigen. Hacken is een belangrijk geval dat wordt behandeld met negatieve tests

Klant perspectief

Klanten verwachten altijd nul-kwetsbaarheidsproducten, om ervoor te zorgen dat negatief testen een must is

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

De enige zorg voor de klant 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.

Negatieve tests uitvoeren

Om negatieve tests uit te voeren, moeten we alle mogelijke gevallen in overweging nemen. Dat is als het mogelijk is, we het in de testcase moeten overwegen, ongeacht of het niet de juiste manier is om het te gebruiken. Als we bijvoorbeeld een e-mailveld zien, denk dan na over 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 creëren van negatieve testcases moeten we prioriteit geven aan de inputs, anders zullen er veel cases mogelijk zijn. Voor een afbeeldingsveld waar alleen '.png.webp'-bestanden mogen worden ingevoerd, kunnen we bijvoorbeeld veel opties hebben om te uploaden, zoals' jpeg.webp ',' xml ',' xls ', enz ... Dus we moeten prioriteit geven aan de opties zoals XML en SQL kunnen een grotere impact hebben dan die van jpeg.webp en xls, dus we moeten eerst zorgen voor SQL- en XML-gevallen. Op deze manier moeten we prioriteit geven aan de cases voordat ze worden uitgevoerd om tijd en testkosten te besparen.

Voors en tegens van negatief testen

Net als alle andere testtechnieken, zijn er voor- en nadelen voor negatief testen, voornamelijk gebaseerd op het 'waar', 'wanneer' en 'hoe' te gebruiken. Laten we hier eens naar kijken.

Voordelen van negatief testen

  • Zoals we allemaal weten, is negatief testen erg belangrijk om de kwaliteit van een product te waarborgen. Een product van goede kwaliteit is een product zonder kwetsbaarheid, om ervoor te zorgen dat negatief testen erg belangrijk is.
  • Door negatieve tests uit te voeren, zorgt u ervoor dat alle mogelijke gevallen worden gedekt. Opzettelijk of onbedoeld is er kans op het ontstaan ​​van negatieve testgevallen. Om er zeker van te zijn dat alle gevallen aan bod komen, moeten we naast positieve tests ook negatieve tests doen.
  • Negatieve tests zullen de klant meer vertrouwen geven voordat ze live gaan.

Nadelen van negatieve tests

  • In 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 niet rekening te houden met het geval dat 100 gebruikers het systeem tegelijkertijd gebruiken. De beslissende omstandigheden in negatieve testgevallen zijn dus erg belangrijk. Er zullen momenten zijn dat we geen negatieve tests op een bepaald systeem hoeven uit te voeren.
  • Vereis bekwame en ervaren mensen om negatieve testcases te creëren.
  • Voor de klant is negatief testen een ander ding dat onnodige vertraging in de release en kostenadder veroorzaakt.
  • Een kans dat een team meer tijd en energie besteedt aan negatief testen. De kans bestaat dat testers veel tijd en energie steken in negatief testen wat resulteert in een lagere concentratie bij positief testen.