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.