Negativ testning
Negativ testning är en programvarutestningstyp som används för att kontrollera programvaran för oväntade indata och villkor. Oväntade data eller villkor kan vara allt från fel datatyp till stark hackingattack. Syftet med negativ testning är att förhindra att programvaran kraschar på grund av negativa ingångar och förbättra kvaliteten och stabiliteten.
Genom att bara göra positiva tester kan vi bara se till att vårt system fungerar under normala förhållanden. Vi måste se till att vårt system kan hantera oväntade förhållanden för att säkerställa ett 100% felfritt system.
I den här handledningen lär du dig-
- Vad är negativ testning?
- Exempel på negativ testning
- Varför göra negativ testning?
- Hur man gör negativ testning
- Fördelar med negativ testning
- Nackdelar med negativ testning
Exempel på negativ testning
Tänk på fallet med en hiss som är ett allmänt ansett exempel på negativ testning.
Vi vet alla hur en hiss fungerar. Dessa kommer att betraktas som kraven för en hiss som att trycka på golvnumret gör att hissen går till just det våningen.
Dörren öppnas automatiskt när hissen når det angivna golvet och så vidare.
Låt oss nu överväga några negativa scenarier för hiss. Några av dem är,
Negativ testning | Positiv testning |
---|---|
|
|
|
|
|
|
Alla dessa fall kommer att testas negativt. Vikten av detta är att vi inte kan se till att alla ovan nämnda inte kommer att hända, så vi behöver dem innehålla.
Tänk på att överviktstillståndet är kontrollerat och vid implementering fungerar hissen onormalt när det finns ett överviktigt tillstånd. Detta kommer att göra en potentiell inverkan på systemets tillförlitlighet och kan till och med orsaka livsfara. Detta förklarar vad som är negativ testning och dess betydelse.
Samma fall tillämpas också i programvara. För negativ testning har vi avvikit från ett normalt operativt förfarande. Låt oss gå igenom några exempel.
Tänk på ett registreringsformulär till exempel.
Negativ testning | Positiv testning |
---|---|
|
|
|
|
|
|
|
|
Som vi sa tidigare måste vi se till att i alla dessa negativa fall fungerar vårt system korrekt. Tänk på om någon försöker skriva in ett tecken i nummerfältet och systemet inte kan bearbeta oväntade data eftersom det förväntar sig ett nummer och slutligen kraschar systemet. Eller tänk om någon försöker göra en SQL-injektion och radera all vår data från databasen. Vi kan inte bära sådana potentiella förluster. Så negativ testning är viktigt.
Varför göra negativ testning?
Eftersom testning är en tids- och kostnadskrävande uppgift är det verkligen viktigt att bestämma "vad", "hur" och "hur mycket". Vi måste välja klokt om vi måste göra negativa tester i vårt system eller inte. Så låt oss ta en titt på vikten av negativ testning.
Organisationens perspektiv
Det är organisationens ansvar att tillhandahålla en produkt av god kvalitet till sin klient. För att uppnå detta måste man göra negativa tester.
Som en del av bekräftelsen mot ett misslyckande måste en organisation göra negativa tester.
Kanske kan vi inte bygga ett 100% felfritt system, men vi måste se till att vi har gjort allt för att förhindra ett fel för att uppnå att vi ska göra negativa tester.
Effekten är en faktor som vi måste överväga. Tänk på att vi har gjort positiva tester på en e-handelswebbplats och se till att allt är bra. Men tänk om det finns ett kryphål i vårt system att någon kan göra SQL-injektion och radera all vår data. Det blir ett stort säkerhetsbrott. För att undvika denna typ av fall måste man göra negativa tester också.
För applikationer som är öppna för allmänheten, huvudsakligen webbplatser, måste vi alltid komma ihåg att vi inte har så mycket kontroll över applikationsförfarandet, så vi måste göra negativa tester för att se till att alla sådana fall är täckta och innehållna.
En annan sak vi måste ta hand om är att det finns många svarta hackare där ute som letar efter en möjlighet att förstöra systemet. Hacking är ett viktigt fall som täcks av negativa tester
Kundperspektiv
Kunder förväntar sig alltid noll sårbarhetsprodukter för att säkerställa att negativ testning är ett måste
Om det är en känslig produkt som e-handel, online-lager etc., är säkerhet och negativ testning ett måste.
Det enda som oroar kunden angående negativ testning är att kostnaden. Men när effekterna väl analyserats är det upp till klienten att avgöra om de ska göra negativa tester eller inte.
Hur man gör negativa tester
För att göra negativa tester måste vi överväga alla möjliga fall. Det är om det är möjligt måste vi överväga det i testfallet oavsett om det inte är rätt sätt att använda det. Om vi till exempel ser ett e-postfält tänka på alla möjliga ingångar kan vi placera det förutom korrekt e-postformat. På samma sätt när vi ser ett alternativ för bildöverföring måste vi testa det med alla möjliga filer.
När vi skapar negativa testfall måste vi prioritera ingångarna annars kommer det att finnas många fall möjliga. Till exempel, för ett bildfält där endast '.png.webp' -filer ska komma in kan vi ha många alternativ att ladda upp som 'jpeg.webp', 'xml', 'xls' osv ... Så vi måste prioritera alternativen som XML och SQL kan ha större inverkan än jpeg.webp och xls så vi bör ta hand om SQL- och XML-fall först. Så här måste vi prioritera ärenden före utförande för att spara tid och testkostnader.
För- och nackdelar med negativ testning
Liksom alla andra testtekniker finns det fördelar och nackdelar med negativ testning baserat på 'var', 'när' och 'hur' man ska använda. Låt oss ta en titt på detta.
Fördelar med negativ testning
- Som vi alla vet är negativ testning mycket viktigt för att säkerställa en produkts kvalitet. En produkt av god kvalitet är en noll sårbarhetsprodukt för att säkerställa att negativ testning är mycket viktigt.
- Genom att göra negativa tester ser du till att alla möjliga fall täcks. Avsiktligt eller oavsiktligt finns det en chans att negativa testfall inträffar. Så för att säkerställa att alla fall täcks måste vi göra negativa tester tillsammans med positiva tester.
- Negativ testning kommer att ge kunden större förtroende innan den går live.
Nackdelar med negativ testning
- I programvaruteknik blir negativ testning i vissa fall slöseri med tid och energi. I många fall finns det inget behov av överdriven negativ testning. Till exempel, om en applikation skapas för användning för en person, behöver vi inte tänka på att 100 användare använder systemet åt gången. Så avgörande förhållanden i negativa testfall är mycket viktiga. Det kommer att finnas tillfällen där vi inte behöver göra negativa tester på ett visst system.
- Kräva skickliga och erfarna människor att skapa negativa testfall.
- För klienten är negativ testning en annan sak som orsakar onödig fördröjning av frisläppande och kostnadssupport.
- En chans att ett lag spenderar mer tid och energi på negativa tester. Det finns en chans att testare spenderar mycket tid och energi på negativa tester som resulterar i en lägre koncentration i positiva tester.