Vad är WHITE Box Testing? Tekniker, exempel & Typer

Innehållsförteckning:

Anonim

White Box Testing

White Box Testing är programvarutestningsteknik där intern struktur, design och kodning av programvara testas för att verifiera flödet av input-output och för att förbättra design, användbarhet och säkerhet. Vid testning av vita rutor är koden synlig för testare så den kallas också Clear box-testning, Open box-testning, Transparent box-testning, Kodbaserad testning och Glassbox-testning.

Det är en av två delar av Box Testing-metoden för programvarutestning. Dess motsvarighet, Blackbox-testning, innefattar testning från ett externt eller slutanvändarperspektiv. Å andra sidan baseras testning av vitlåda inom programvaruteknik på den inre funktionen i en applikation och kretsar kring intern testning.

Termen "WhiteBox" användes på grund av det genomskinliga box-konceptet. Den klara rutan eller namnet WhiteBox symboliserar möjligheten att se igenom programvarans yttre skal (eller "box") in i dess inre funktion. På samma sätt symboliserar den "svarta rutan" i "Black Box Testing" att inte kunna se programvarans inre funktion så att endast slutanvändarupplevelsen kan testas.

I den här testboxen för vita rutor lär du dig-

  • Vad är White Box Testing?
  • Vad verifierar du vid White Box Testing?
  • Hur utför du White Box Testing?
  • Exempel på testning av WhiteBox
  • Testtekniker för vitlåda
  • Typer av vitlåda testning
  • White Box Testing Tools
  • Fördelar med White Box Testing
  • Nackdelar med WhiteBox-testning

Vad verifierar du vid White Box Testing?

White box-testning innefattar testning av programvarukoden för följande:

  • Interna säkerhetshål
  • Trasiga eller dåligt strukturerade vägar i kodningsprocesserna
  • Flödet av specifika ingångar genom koden
  • Förväntad produktion
  • Funktionaliteten hos villkorliga slingor
  • Test av varje uttalande, objekt och funktion på individuell basis

Testningen kan göras på system-, integrations- och enhetsnivåer för programvaruutveckling. Ett av de grundläggande målen med testning av whitebox är att verifiera ett arbetsflöde för en applikation. Det innebär att testa en serie fördefinierade ingångar mot förväntade eller önskade utgångar så att när en specifik ingång inte resulterar i den förväntade utdata, har du stött på ett fel.

Klicka här om videon inte är tillgänglig

Hur utför du White Box Testing?

För att ge dig en förenklad förklaring av testning av vita rutor har vi delat upp den i två grundläggande steg . Det här är vad testare gör när de testar en applikation med den vita rutan testteknik:

STEG 1) FÖRSTÅ KÄLLKODEN

Det första en testare ofta gör är att lära sig och förstå applikationens källkod. Eftersom testning i vitlåda innefattar testning av en applikations inre funktion, måste testaren vara mycket kunnig i de programmeringsspråk som används i de applikationer de testar. Testpersonen måste också vara mycket medveten om säker kodning. Säkerhet är ofta ett av de främsta målen för testprogramvara. Testaren bör kunna hitta säkerhetsproblem och förhindra attacker från hackare och naiva användare som kan injicera skadlig kod i applikationen antingen medvetet eller omedvetet.

Steg 2) SKAPA TESTFALL OCH KÖP

Det andra grundläggande steget till vitlåda-testning innebär att testa applikationens källkod för korrekt flöde och struktur. Ett sätt är att skriva mer kod för att testa applikationens källkod. Testaren kommer att utveckla små tester för varje process eller serie processer i applikationen. Denna metod kräver att testaren måste ha intim kunskap om koden och görs ofta av utvecklaren. Andra metoder inkluderar manuell testning, testning och felprovning och användning av testverktyg som vi kommer att förklara vidare i den här artikeln.

Exempel på testning av WhiteBox

Tänk på följande kod

Printme (int a, int b) {------------ Printme är en funktionint-resultat = a + b;Om (resultat> 0)Skriv ut ("Positivt", resultat)AnnanSkriv ut ("Negativt", resultat)} ----------- Slut på källkoden 

Målet med WhiteBox-testning inom programvaruteknik är att verifiera alla beslutsgrenar, loopar, uttalanden i koden.

För att utöva påståendena i ovanstående White Box-testexempel skulle WhiteBox-testfall vara det

  • A = 1, B = 1
  • A = -1, B = -3

Testtekniker för vitlåda

En viktig testningsteknik för vitlåda är kodtäckningsanalys. Kodtäckningsanalys eliminerar luckor i en testfallssvit. Den identifierar områden i ett program som inte utövas av en uppsättning testfall. När luckor har identifierats skapar du testfall för att verifiera okontrollerade delar av koden, vilket ökar kvaliteten på programvaruprodukten

Det finns automatiska verktyg tillgängliga för att utföra kodtäckningsanalys. Nedan följer några tekniker för täckningsanalys som en boxtestare kan använda:

Uttalningstäckning : - Denna teknik kräver att alla möjliga uttalanden i koden testas minst en gång under testprocessen för programvaruteknik.

Filialtäckning - Denna teknik kontrollerar alla möjliga sökvägar (if-else och andra villkorliga slingor) för ett program.

Bortsett från ovan finns det många täckningstyper som villkorstäckning, multipeltillståndstäckning, bantäckning, funktionstäckning etc. Varje teknik har sina egna meriter och försöker testa (täcka) alla delar av programvarukoden. Genom att använda Statement and Branch-täckning uppnår du i allmänhet 80-90% kodtäckning vilket är tillräckligt. Följande är viktiga testmetoder för WhiteBox:

  • Uttalande täckning
  • Beslutstäckning
  • Filialtäckning
  • Skyddstäckning
  • Flera villkor täckning
  • Ändlig maskintäckning
  • Bantäckning
  • Kontrollera flödestestning
  • Dataflödestestning

Se den här artikeln om du vill läsa mer information https://www.guru99.com/code-coverage.html

Typer av vitlåda testning

Vitlåda-testning omfattar flera testtyper som används för att utvärdera användbarheten för ett program, kodblock eller specifikt programvarupaket. Det finns listade nedan -

  • Enhetstestning: Det är ofta den första typen av tester som görs på en applikation. Enhetstestning utförs på varje enhet eller kodblock när den utvecklas. Enhetstestning görs i huvudsak av programmeraren. Som mjukvaruutvecklare utvecklar du några rader kod, en enda funktion eller ett objekt och testar det för att se till att det fungerar innan du fortsätter Unit Testing hjälper till att identifiera en majoritet av buggar, tidigt i programvarans utvecklingslivscykel. Fel som identifierats i detta skede är billigare och enkla att fixa.

  • Test av minnesläckor : Minnesläckor är de främsta orsakerna till att applikationer som körs långsammare. En QA-specialist som har erfarenhet av att upptäcka minnesläckor är viktigt i fall där du har en långsamt programvara.

Bortsett från ovan är några testtyper en del av både svart rutan och vit rutan testning. De listas enligt nedan

  • White Box Penetration Testing: I denna testning har testaren / utvecklaren fullständig information om applikationens källkod, detaljerad nätverksinformation, IP-adresser som är inblandade och all serverinformation applikationen körs på. Målet är att attackera koden från flera vinklar för att avslöja säkerhetshot
  • White Box Mutation Testing : Mutationstestning används ofta för att upptäcka de bästa kodningsteknikerna som kan användas för att utöka en programvarulösning.

White Box Testing Tools

Nedan finns en lista över toppverktyg för vitlåda.

  • Parasoft Jtest
  • EclEmma
  • NUnit
  • PyUnit
  • HTMLUnit
  • CppUnit

Fördelar med White Box Testing

  • Kodoptimering genom att hitta dolda fel.
  • Vitlåda testfall kan lätt automatiseras.
  • Testning är mer grundlig eftersom alla kodvägar vanligtvis täcks.
  • Testning kan börja tidigt i SDLC även om GUI inte är tillgängligt.

Nackdelar med WhiteBox-testning

  • Test av vita rutor kan vara ganska komplicerade och dyra.
  • Utvecklare som vanligtvis utför vitlåda testfall avskyr det. Den vita rutan test av utvecklare är inte detaljerad kan leda till produktionsfel.
  • White box-testning kräver professionella resurser med en detaljerad förståelse för programmering och implementering.
  • Vitbokstestning är tidskrävande, större programmeringsapplikationer tar sig tid att testa helt.

Avslutande anteckningar:

  • Test av vita rutor kan vara ganska komplicerade. Komplexiteten har mycket att göra med applikationen som testas. Ett litet program som utför en enda enkel operation kan testas i vit ruta på några minuter, medan större programmeringsapplikationer tar dagar, veckor och ännu längre tid att testa helt.
  • Test av vitlåda vid programvarutestning bör göras på en programvara eftersom den utvecklas efter att den har skrivits och igen efter varje modifiering