Hva er negativ testing? Testtilfeller med eksempel

Negativ testing

Negativ testing er en programvaretesttype som brukes til รฅ sjekke programvareapplikasjonen for uventede inndata og forhold. Uventede data eller forhold kan vรฆre alt fra feil datatype til kraftige hackingangrep. Hensikten med negativ testing er รฅ forhindre at programvaren krasjer pรฅ grunn av negative innganger og forbedre kvaliteten og stabiliteten.

Ved รฅ bare gjรธre positive tester kan vi bare sรธrge for at systemet vรฅrt fungerer under normale forhold. Vi mรฅ sรธrge for at systemet vรฅrt kan hรฅndtere uventede forhold for รฅ sikre et 100 % feilfritt system.

Eksempel pรฅ negativ testing

Tenk pรฅ et lรธft som er et vanlig eksempel pรฅ negativ testing.

Vi kjenner alle funksjonaliteten til en heis. Disse vil bli betraktet som kravene til en heis som รฅ trykke pรฅ etasjenummeret fรฅr heisen til รฅ gรฅ til den aktuelle etasjen.

Dรธren รฅpnes automatisk nรฅr heisen nรฅr den angitte etasjen og sรฅ videre.

La oss nรฅ vurdere noen negative scenarier for lรธft. Noen av dem er,

Negativ testing Positiv testing
Hva skjer hvis antall personer (vekt) overskrider den angitte grensen? Forutsetter at det eneste angitte antallet personer vil gรฅ inn i heisen
Hva skjer hvis noen rรธyker eller forรฅrsaker brann inne i heisen? Det vil ikke vรฆre rรธyk eller brann inne i heisen
Hva skjer hvis det oppstรฅr strรธmbrudd under drift? Det vil ikke vรฆre strรธmbrudd under drift av heisen

Alle disse tilfellene vil komme under negativ testing. Viktigheten av dette er at vi ikke kan sรธrge for at alt det ovennevnte ikke skjer, sรฅ vi trenger dem inneholdt.

Tenk pรฅ det tilfellet at overvektstilstanden er kontrollert, og ved implementering fungerer lรธftet unormalt nรฅr det er en overvektstilstand. Dette vil ha en potensiell innvirkning pรฅ pรฅliteligheten til systemet og kan til og med fรธre til livsfare. Dette forklarer hva som er negativ testing og dens betydning.

Det samme tilfellet brukes ogsรฅ i programvare. For negativ testing har vi avviket fra en normal operasjonsprosedyre. La oss gรฅ gjennom noen eksempler.

Vurder for eksempel et registreringsskjema.

Negativ testing Positiv testing
Prรธv รฅ angi en ugyldig e-post-ID i e-postfeltet Kun gyldige e-ID-er vil bli lagt inn i et e-postfelt
Prรธv รฅ angi et ugyldig telefonnummer i et telefonnummerfelt (tegn) Det eneste tallet vil bli lagt inn i nummerfeltet
Last opp bilde med stรธrrelse utenfor spesifisert grense Kun bilder med stรธrrelse under spesifisert grense vil bli lastet opp
Last opp ugyldige filer som XML, SQL, etc.-filer i bildeopplastingsfeltet Last opp kun gyldige bildeformater som jpg.png osv.

Som vi sa tidligere, mรฅ vi sรธrge for at systemet vรฅrt vil fungere skikkelig i alle disse negative tilfellene. Tenk pรฅ tilfellet hvis noen prรธver รฅ skrive inn et tegn i tallfeltet og systemet ikke kan behandle de uventede dataene siden det forventer et tall, og til slutt krasjer systemet. Eller hva om noen prรธver รฅ gjรธre en SQL-injeksjon og slette alle vรฅre data fra databasen. Vi kan ikke bรฆre slike potensielle tap. Sรฅ negativ testing er viktig.

Hvorfor utfรธre negativ testing?

Siden testing er tid- og kostnadskrevende oppgave, er det veldig viktig รฅ bestemme "hva", "hvordan" og "hvor mye" som skal teste. Vi mรฅ velge med omhu om vi skal gjรธre negativ testing i systemet vรฅrt eller ikke. Sรฅ la oss ta en titt pรฅ viktigheten av negativ testing.

Organisasjonsperspektiv

Det er organisasjonens ansvar รฅ levere et produkt av god kvalitet til sin klient. For รฅ oppnรฅ dette mรฅ man gjรธre negativ testing.

Som en del av bekreftelsen mot en fiasko, mรฅ en organisasjon utfรธre negative tester.

Kanskje vi ikke kan bygge et 100% feilfritt system, men vi mรฅ sรธrge for at vi har gjort alt for รฅ forhindre feil, for รฅ oppnรฅ at vi bรธr gjรธre negativ testing.

Effekten er en faktor som vi mรฅ vurdere. Tenk pรฅ at vi har utfรธrt positive tester pรฅ en e-handelsside og sรธrg for at alt er bra. Men hva om det er et smutthull i systemet vรฅrt at noen kan gjรธre SQL-injeksjon og slette alle dataene vรฅre. Det vil vรฆre et stort sikkerhetsbrudd. For รฅ unngรฅ denne typen tilfeller, mรฅ man ogsรฅ ta negativ testing.

For sรธknader som er รฅpne for offentligheten, hovedsakelig nettsteder, mรฅ vi alltid huske pรฅ at vi ikke har mye kontroll over bruksprosedyren for sรธknaden, sรฅ vi mรฅ gjรธre negativ testing for รฅ sikre at alle slike tilfeller er dekket og dekket.

En annen ting vi mรฅ passe pรฅ er at det er mange svarte hackere der ute som leter etter en mulighet til รฅ รธdelegge systemet. Hacking er en viktig sak som dekkes i negativ testing

Kundeperspektiv

Kunder forventer alltid produkter med null sรฅrbarhet, for รฅ sikre at negativ testing er et must

Hvis det er et sensitivt produkt som e-handel, online aksjer, etc., sรฅ er sikkerhet og negativ testing et must.

Den eneste bekymringen for klienten angรฅende negativ testing er at kostnaden. Men nรฅr virkningen fรธrst er analysert, er det opp til klienten รฅ avgjรธre om de skal utfรธre negativ testing eller ikke.

Hvordan gjรธre negativ testing

For รฅ utfรธre negativ testing mรฅ vi vurdere alle mulige tilfeller. Det er hvis det er mulig, mรฅ vi vurdere det i Testsak uansett om det ikke er riktig mรฅte รฅ bruke det pรฅ. For eksempel, hvis vi ser et e-postfelt, tenk pรฅ alle mulige inndata vi kan legge inn der annet enn riktig e-postformat. Pรฅ samme mรฅte nรฅr vi ser et bildeopplastingsalternativ, mรฅ vi teste det med alle mulige filer.

Mens vi lager negative testtilfeller, mรฅ vi prioritere innspillene ellers vil det vรฆre mange mulige tilfeller. For eksempel, for et bildefelt der bare '.png'-filer skal komme inn, kan vi ha mange alternativer รฅ laste opp som 'jpeg', 'xml', 'xls' osv.. Sรฅ vi mรฅ prioritere alternativene som XML og SQL kan ha stรธrre innvirkning enn jpeg og xls, sรฅ vi bรธr ta oss av SQL- og XML-saker fรธrst. Slik mรฅ vi prioritere sakene fรธr utfรธrelse for รฅ spare tid og testkostnader.

Fordeler og ulemper med negativ testing

Som alle andre testteknikker, er det fordeler og ulemper for negativ testing hovedsakelig basert pรฅ "hvor", "nรฅr" og "hvordan" du skal bruke. La oss ta en titt pรฅ dette.

Fordeler med negativ testing

  • Som vi alle vet er negativ testing veldig viktig for รฅ sikre kvaliteten pรฅ et produkt. Et produkt av god kvalitet er et produkt med null sรฅrbarhet, for รฅ sikre at negativ testing er svรฆrt viktig.
  • ร… gjรธre negativ testing sikrer at alle mulige tilfeller er dekket. Med vilje eller utilsiktet er det en sjanse for at negative testtilfeller oppstรฅr. Sรฅ for รฅ sikre at alle tilfeller er dekket, mรฅ vi ta negativ testing sammen med positiv testing.
  • Negativ testing vil gjรธre kunden mer trygg fรธr den gรฅr live.

Ulemper med negativ testing

  • I Software Engineering blir negativ testing i noen tilfeller bortkastet tid og energi. I mange tilfeller er det ikke behov for overdreven negativ testing. For eksempel, hvis en applikasjon er opprettet for bruk av รฉn person, trenger vi ikke รฅ vurdere tilfellet at 100 brukere bruker systemet om gangen. Sรฅ det er veldig viktig รฅ bestemme forhold i negative testtilfeller. Det vil vรฆre tider hvor vi ikke trenger รฅ gjรธre negative tester pรฅ et bestemt system.
  • Krev dyktige og erfarne folk for รฅ lage negative testcases.
  • For klienten er negativ testing en annen ting som forรฅrsaker unรธdvendig forsinkelse i utgivelsen og kostnadsadder.
  • En sjanse for at et team bruker mer tid og energi pรฅ negativ testing. Det er en sjanse for at testere bruker mye tid og energi pรฅ negativ testing som resulterer i en lavere konsentrasjon ved positiv testing.

Oppsummer dette innlegget med: