what is negative testing
Att ha den mest optimala produktkvaliteten är testorganisationernas främsta mål.
Med hjälp av en effektiv kvalitetssäkringsprocess försöker testteam att hitta maximala defekter under testningen och därigenom säkerställa att klienten eller slutanvändaren som konsumerar produkten inte ser några avvikelser med avseende på dess funktion i sin egen datormiljö.
Eftersom att hitta fel är ett av de viktigaste målen för en testare, måste han / hon noggrant utforma eller designa testscenarierna för att säkerställa att den specifika applikationen eller produkten fungerar som den ska.
Även om det definitivt är viktigt att verifiera att programvaran utför sina grundläggande funktioner som avsett, är det lika eller mer viktigt att verifiera att programvaran kan hantera en onormal situation. Det är uppenbart att de flesta av bristerna uppstår genom att generera sådana situationer med rimlig och acceptabel kreativitet från testarna.
De flesta av oss är redan medvetna om flera typer av tester som funktionstester, sanity testning, rök testning , integrationstest, regressionstestning , alfa- och betatestning , tillgänglighetsprovning osv. Men alla är överens om att oavsett vilken typ av test du utför, Hela testinsatsen kan i princip generaliseras i två kategorier: positiva testvägar och negativa testvägar.
Låt oss fortsätta med nästa avsnitt där vi diskuterar vad positiva och negativa tester är, hur de är olika och vi kommer att beskriva några exempel för att förstå vilken typ av negativa tester som kan utföras när vi testar en applikation.
Vad du kommer att lära dig:
- Vad är positiv testning och negativ testning?
- Praktiska exempel på positiva och negativa tester
- Grundläggande faktorer som hjälper till att skriva positiva och negativa tester
- Slutsats
- Rekommenderad läsning
Vad är positiv testning och negativ testning?
Positiv testning
Positiv testning, ofta kallad “Happy path testing” är i allmänhet den första testformen som en testare skulle utföra på en applikation. Det är processen att köra testscenarier som en slutanvändare skulle köra för hans användning. Såsom underförstått innebär positiva tester att köra ett testscenario med endast korrekta och giltiga data. Om ett testscenario inte behöver data, skulle positiva tester kräva att testet körs exakt på det sätt som det ska köras och därmed för att säkerställa att applikationen uppfyller specifikationerna.
Ibland kan det finnas mer än ett sätt att utföra en viss funktion eller uppgift med avsikt att ge slutanvändaren mer flexibilitet eller generell produktkonsistens. Detta kallas alternativ vägprovning vilket också är ett slags positivt test. Vid alternativ vägprovning utförs testet igen för att uppfylla dess krav men med en annan väg än den uppenbara vägen. Testscenariot skulle till och med konsumera samma typ av data för att uppnå samma resultat.
Det kan förstås schematiskt från ett mycket generiskt exempel som beskrivs nedan:
A är en utgångspunkt och B är slutpunkten. Det finns två sätt att gå från A till B. Rutt 1 är den allmänt tagna vägen och väg 2 är en alternativ rutt. I ett sådant fall skulle därför lycklig vägtestning köra från punkt A till B med väg 1 och den alternativa vägtestningen skulle innefatta att ta väg 2 för att gå från A till B. Observera att resultatet i båda fallen är detsamma.
Negativ testning
Negativ testning som vanligtvis kallas felvägstestning eller felprovning görs i allmänhet för att säkerställa applikationens stabilitet.
bästa speltillverkningsprogrammet för nybörjare
Negativ testning är processen att använda så mycket kreativitet som möjligt och validera ansökan mot ogiltiga data. Det betyder att dess avsedda syfte är att kontrollera om felen visas för användaren där den ska, eller hantera ett dåligt värde mer graciöst.
Det är absolut nödvändigt att förstå varför negativ testning är nödvändig.
Applikationens eller programvarans funktionella tillförlitlighet kan endast kvantifieras med effektivt utformade negativa scenarier. Negativ testning syftar inte bara till att ta fram eventuella brister som kan orsaka allvarlig inverkan på konsumtionen av produkten i stort, utan kan vara avgörande för att bestämma under vilka förhållanden applikationen kan krascha. Slutligen säkerställer det att det finns tillräckligt med felvalidering i programvaran.
Exempel:
Säg till exempel att du måste skriva negativa testfall om en penna. Det grundläggande motivet för pennan är att kunna skriva på papper.
Några exempel på negativ testning kan vara:
- Byt mediet som det ska skriva på, från papper till tyg eller tegel och se om det fortfarande ska skriva.
- Lägg pennan i vätskan och kontrollera om den skriver igen.
- Byt ut påfyllningen av pennan mot en tom och kontrollera att den ska sluta skriva.
Praktiska exempel på positiva och negativa tester
Låt oss ta ett exempel på en UI-guide för att skapa vissa policyer. I guiden måste användaren ange textvärden i en ruta och numeriska värden i en annan.
lista över programmeringsspråk på hög nivå
Första rutan:
I den första förväntas användaren ge ett namn till policyn enligt nedan:
Låt oss också få några grundregler för att se till att vi utformar bra positiva och negativa scenarier.
Krav:
- Namnet textrutan är en obligatorisk parameter
- Beskrivningen är inte obligatorisk.
- Namnsrutan kan endast innehålla a-z- och A-Z-tecken. Inga siffror, specialtecken är tillåtna.
- Namnet kan vara högst tio tecken långt.
Låt oss nu utforma positiva och negativa testfall för detta exempel.
Positiva testfall: Nedan följer några positiva testscenarier för just den här rutan.
- ABCDEFGH (validering av versaler inom teckengräns)
- abcdefgh små bokstäver validering inom teckenbegränsning)
- aabbccddmn (validering av teckenbegränsning)
- aDBcefz (versaler kombinerade med små bokstäver validering inom teckengräns)
- .. och så vidare.
Negativa testfall : Nedan följer några negativa testscenarier för just den här rutan.
- ABCDEFGHJKIOOOOOKIns (namn överstiger 10 tecken)
- abcd1234 (namn med numeriska värden)
- Inget namn anges
- sndddwwww_ (namnet innehåller specialtecken)
- .. och så vidare.
Andra rutan:
I den andra rutan förväntas användaren bara ange numeriska värden enligt nedan:
Låt oss också fastställa några grundregler här:
Krav:
- ID måste vara ett tal mellan 1-250
- ID är obligatoriskt.
Därför är här några positiva och negativa testscenarier för just den här rutan.
Positiva testscenarier : Nedan följer några positiva testscenarier för just den här rutan.
- 12 (Ange ett giltigt värde mellan det angivna intervallet)
- 1 250 (Ange gränsvärdet för det angivna intervallet)
Negativa testscenarier : Nedan följer några negativa testscenarier för just den här rutan.
- Ab (Mata in text istället för siffror)
- 0, 252 (Ange gränsvärden)
- Noll ingång
- -2 (Ange värden utanför intervallet)
- +56 (Ange ett giltigt värde före ett specialtecken)
Grundläggande faktorer som hjälper till att skriva positiva och negativa tester
Om du noggrant följer exemplen ovan kommer du att märka att det kan finnas flera positiva och negativa scenarier. Men effektiv testning är när du optimerar en oändlig lista med positiva och negativa scenarier på ett sådant sätt att du uppnå tillräcklig testning .
I båda dessa fall ser du också ett vanligt mönster för hur scenarierna utformas. I båda fallen ovan finns det två grundläggande parametrar eller tekniker som låg till grund för utformningen av tillräckliga mängder positiva och negativa testfall.
De två parametrarna är:
Gränsvärde-analys :
Som namnet själv antyder anger gränsen gränser för något. Därför handlar det om att utforma testscenarier som bara fokuserar på gränsvärdena och validerar hur applikationen beter sig. Därför om ingångarna levereras inom gränsvärdena anses det vara positiv testning och ingångar utöver gränsvärdena anses vara en del av negativ testning.
Till exempel, om en viss applikation accepterar VLAN-id som sträcker sig från 0 - 255. Därför kommer 0, 255 att bilda gränsvärdena. Alla ingångar som går under 0 eller över 255 kommer att betraktas som ogiltiga och kommer därför att utgöra negativ testning.
Partitionering av ekvivalens :
I ekvivalenspartitionering är testdata separerade i olika partitioner. Dessa partitioner kallas ekvivalensdataklasser. Det antas att de olika indata (data kan vara ett villkor) i varje partition beter sig på samma sätt. Därför behöver endast ett visst tillstånd eller en situation testas från varje partition som om man fungerar, så antas alla andra i den partitionen fungera. På samma sätt, om ett villkor i en partition inte fungerar, fungerar ingen av de andra.
Därför är det nu mycket uppenbart att giltiga dataklasser (i partitionerna) kommer att bestå av positiv testning medan ogiltiga dataklasser kommer att bestå av negativ testning.
I samma VLAN-exempel ovan kan värdena delas upp i säg två partitioner.
Visual Studio Team Foundation Server 2015-handledning
Så de två partitionerna här skulle vara:
- Värden -255 till -1 i en partition
- Värdena 0 till 255 i en annan partition
Slutsats
Flera gånger har jag ställts inför situationen där människor tror att negativ testning är mer eller mindre en duplicering av de positiva testningarna snarare än att tro på det faktum att det styrker den positiva testningen. Min ståndpunkt om dessa frågor har alltid varit konsekvent som testare. De som förstår och strävar efter höga standarder och kvalitet kommer utan tvekan att genomdriva negativa tester som ett måste i kvalitetsprocessen.
Medan positiv testning säkerställer att affärsanvändningsfallet valideras, säkerställer negativ testning att den levererade programvaran inte har några brister som kan vara avskräckande för användningen av kunden.
Att utforma exakta och kraftfulla negativa testscenarier kräver testarens kreativitet, framsynthet, skicklighet och intelligens. De flesta av dessa färdigheter kan förvärvas med erfarenhet, så häng där och fortsätt att utvärdera din fulla potential om och om igen!
Om författaren: Detta är en gästartikel av Sneha Nadig. Hon arbetar som testledare med över 7 års erfarenhet av manuella och automatiseringsprojekt.
Låt oss veta dina tankar och erfarenheter om negativ testning.
PREV-handledning | NÄSTA självstudie
Rekommenderad läsning
- Bästa verktyg för testning av programvara 2021 (QA Test Automation Tools)
- Testing Primer eBook Download
- Hur man skriver Software Testing Weekly Status Report
- Skillnad mellan Desktop, Client Server Testing och Web Testing
- Lasttestning med HP LoadRunner-handledning
- Testguide för webbapplikationssäkerhet
- Applikationstestning - till grunderna för programvarutestning!
- Installera din applikation på enheten och börja testa från Eclipse