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 |
---|---|
|
|
|
|
|
|
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 |
---|---|
|
|
|
|
|
|
|
|
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.