Hvad er negativ test? Testcases med eksempel

Negativ test

Negativ test er en softwaretesttype, der bruges til at kontrollere softwareapplikationen for uventede inputdata og forhold. Uventede data eller forhold kan vรฆre alt fra forkert datatype til kraftigt hackingangreb. Formรฅlet med negativ test er at forhindre softwareapplikationen i at gรฅ ned pรฅ grund af negative input og forbedre kvaliteten og stabiliteten.

Ved blot at udfรธre positiv test kan vi kun sikre, at vores system fungerer under normale forhold. Vi skal sikre os, at vores system kan hรฅndtere uventede forhold for at sikre et 100 % fejlfrit system.

Eksempel pรฅ negativ test

Overvej tilfรฆldet med et lรธft, som er et almindeligt betragtet eksempel pรฅ negativ test.

Vi kender alle funktionaliteten af โ€‹โ€‹en lift. Disse vil blive betragtet som kravene til en elevator som at trykke pรฅ etagenummeret fรฅr elevatoren til at gรฅ til den pรฅgรฆldende etage.

Dรธren รฅbner automatisk, nรฅr elevatoren nรฅr den angivne etage og sรฅ videre.

Lad os nu overveje nogle negative scenarier for lรธft. Nogle af dem er,

Negativ test Positiv test
Hvad sker der, hvis antallet af personer (vรฆgt) overstiger den angivne grรฆnse? Antager, at det eneste angivne antal personer kommer ind i elevatoren
Hvad sker der, hvis nogen ryger eller forรฅrsager brand inde i elevatoren? Der vil ikke vรฆre rรธg eller ild inde i elevatoren
Hvad sker der, hvis der er strรธmsvigt under drift? Der vil ikke vรฆre strรธmsvigt under liftens drift

Alle disse tilfรฆlde vil komme under negativ test. Vigtigheden af โ€‹โ€‹dette er, at vi ikke kan sikre, at alt det ovennรฆvnte ikke sker, sรฅ vi har brug for dem.

Overvej det tilfรฆlde, at overvรฆgtstilstanden er kontrolleret, og ved implementering, fungerer liften unormalt, nรฅr der er en overvรฆgtstilstand. Dette vil have en potentiel indvirkning pรฅ systemets pรฅlidelighed og kan endda forรฅrsage livsfare. Dette forklarer, hvad der er negativ test og dens betydning.

Det samme tilfรฆlde anvendes ogsรฅ i software. Ved negativ test har vi afveget fra en normal operationel procedure. Lad os gennemgรฅ nogle eksempler.

Overvej for eksempel en registreringsformular.

Negativ test Positiv test
Prรธv at indtaste et ugyldigt e-mail-id i e-mail-feltet Kun gyldige e-mail-id'er vil blive indtastet i et e-mail-felt
Prรธv at indtaste et ugyldigt telefonnummer i et telefonnummerfelt (tegn) Det eneste nummer vil blive indtastet i nummerfeltet
Upload billede med stรธrrelse uden for den specificerede grรฆnse Kun billeder med stรธrrelse under specificeret grรฆnse vil blive uploadet
Upload ugyldige filer som f.eks XML, SQL osv. filer i billedoverfรธrselsfeltet Upload kun gyldige billedformater som jpg.png osv.

Som vi sagde tidligere, skal vi sikre os i alle disse negative tilfรฆlde, at vores system vil fungere korrekt. Overvej tilfรฆldet, hvis nogen forsรธger at indtaste et tegn i talfeltet, og systemet ikke kan behandle de uventede data, da det forventer et tal, og til sidst gรฅr systemet ned. Eller hvad hvis nogen prรธver at gรธre en SQL-indsprรธjtning og slette alle vores data fra databasen. Vi kan ikke bรฆre sรฅdanne potentielle tab. Sรฅ negativ test er vigtig.

Hvorfor udfรธrer negativ test?

Da test er tids- og omkostningskrรฆvende opgave, er det virkelig vigtigt at beslutte 'hvad', 'hvordan' og 'hvor meget' der skal teste. Vi skal vรฆlge klogt, om vi skal lave negativ test i vores system eller ej. Sรฅ lad os se pรฅ vigtigheden af โ€‹โ€‹negativ test.

Organisationsperspektiv

Det er organisationens ansvar at levere et produkt af god kvalitet til sin klient. For at opnรฅ dette skal man lave negativ test.

Som en del af bekrรฆftelsen mod en fiasko, skal en organisation udfรธre negative tests.

Mรฅske kan vi ikke bygge et 100% fejlfrit system, men vi skal sikre os, at vi har gjort alt for at forhindre en fejl, for at opnรฅ, at vi bรธr lave negativ test.

Effekten er en faktor, som vi skal overveje. Overvej, at vi har udfรธrt positive tests pรฅ et e-handelswebsted og sรธrg for, at alt er i orden. Men hvad nu hvis der er et smuthul i vores system, at nogen kan lave SQL-injektion og slette alle vores data. Det vil vรฆre et stort sikkerhedsbrud. For at undgรฅ denne type tilfรฆlde skal man ogsรฅ lave negativ test.

For ansรธgninger, der er รฅbne for offentligheden, hovedsageligt websteder, skal vi altid huske pรฅ, at vi ikke har meget kontrol over anvendelsesproceduren for ansรธgningen, sรฅ vi er nรธdt til at udfรธre negativ test for at sikre, at alle sรฅdanne tilfรฆlde er dรฆkket og indeholdt.

En anden ting, vi skal passe pรฅ, er, at der er en masse sorte hackere derude, som leder efter en mulighed for at รธdelรฆgge systemet. Hacking er en vigtig sag, der dรฆkkes af negativ test

Kundeperspektiv

Kunder forventer altid nul sรฅrbarhedsprodukter for at sikre, at negativ test er et must

Hvis det er et fรธlsomt produkt som e-handel, online lager osv., sรฅ er sikkerhed og negativ test et must.

Den eneste bekymring for klienten vedrรธrende negativ test er, at omkostningerne. Men nรฅr fรธrst pรฅvirkningen er analyseret, er det op til klienten at beslutte, om han vil lave negativ test eller ej.

Sรฅdan laver du negativ test

For at udfรธre negativ test skal vi overveje alle mulige tilfรฆlde. Det er, hvis det er muligt, vi skal overveje det i Test sag uanset om det ikke er den rigtige mรฅde at bruge det pรฅ. Hvis vi f.eks. ser et e-mail-felt, sรฅ tรฆnk pรฅ alle mulige input, som vi kan lรฆgge der andet end korrekt e-mail-format. Pรฅ samme mรฅde, nรฅr vi ser en billedoverfรธrselsindstilling, skal vi teste den med alle mulige filer.

Mens vi opretter negative testcases, er vi nรธdt til at prioritere inputs, ellers vil der vรฆre mange tilfรฆlde mulige. For eksempel, for et billedfelt, hvor kun '.png'-filer skal indtastes, kan vi have en masse muligheder at uploade som 'jpeg', 'xml', 'xls' osv.. Sรฅ vi er nรธdt til at prioritere mulighederne som XML og SQL kan have stรธrre effekt end jpeg og xls, sรฅ vi bรธr tage os af SQL- og XML-sager fรธrst. Sรฅdan er vi nรธdt til at prioritere sagerne fรธr udfรธrelse for at spare tid og testomkostninger.

Fordele og ulemper ved negativ test

Som alle andre testteknikker er der fordele og ulemper ved negativ test, hovedsageligt baseret pรฅ 'hvor', 'hvornรฅr' og 'hvordan', der skal bruges. Lad os tage et kig pรฅ dette.

Fordele ved negativ test

  • Som vi alle ved, er negativ test meget vigtig for at sikre kvaliteten af โ€‹โ€‹et produkt. Et produkt af god kvalitet er et produkt med nul sรฅrbarhed, for at sikre, at negativ test er meget vigtig.
  • At lave negativ test sikrer, at alle mulige tilfรฆlde er dรฆkket. Med vilje eller utilsigtet er der en chance for, at negative testtilfรฆlde opstรฅr. Sรฅ for at sikre, at alle tilfรฆlde er dรฆkket, er vi nรธdt til at udfรธre negativ test sammen med positiv test.
  • Negativ test vil give mere selvtillid til kunden, fรธr den gรฅr live.

Ulemper ved negativ test

  • I Software Engineering bliver negativ test i nogle tilfรฆlde spild af tid og energi. I mange tilfรฆlde er der ikke behov for overdreven negativ test. For eksempel, hvis en applikation er oprettet til en enkelt persons brug, sรฅ behรธver vi ikke at overveje, at 100 brugere bruger systemet ad gangen. Sรฅ det er meget vigtigt at afgรธre forhold i negative testtilfรฆlde. Der vil vรฆre tidspunkter, hvor vi ikke behรธver at lave negativ test pรฅ et bestemt system.
  • Krรฆv dygtige og erfarne folk til at skabe negative testcases.
  • For klienten er negativ test en anden ting, der forรฅrsager unรธdvendig forsinkelse i frigivelsen og omkostningsadder.
  • En chance for, at et hold bruger mere tid og energi pรฅ negativ test. Der er en chance for, at testere bruger meget tid og energi pรฅ negativ test, hvilket resulterer i en lavere koncentration i positiv test.

Opsummer dette indlรฆg med: