Hvid Box Test – Hvad er, teknikker, eksempler og typer

Hvid Box Test

Hvid Box Test er en testteknik, hvor softwarens interne struktur, design og kodning testes for at verificere input-output flow og forbedre design, brugervenlighed og sikkerhed. I hvid boks test er kode synlig for testere, så det kaldes også Clear box test, Open box test, Transparent box test, Kodebaseret test og Glas box test.

Det er en af ​​to dele af Box Testmetode til softwaretest. Dens modstykke, Blackbox-test, involverer test fra et eksternt eller slutbrugerperspektiv. På den anden side er White box-test i softwareteknologi baseret på den indre funktion af en applikation og kredser om intern test.

Udtrykket "HvidBox” blev brugt på grund af det gennemsigtige bokskoncept. Den klare æske eller hvidBox navnet symboliserer evnen til at se gennem softwarens ydre skal (eller "kasse") ind i dens indre funktion. Ligeledes er den "sorte boks" i "Sort Box Test” symboliserer ikke at kunne se softwarens indre funktion, så kun slutbrugeroplevelsen kan testes.

Hvid Box Test af video

Klik link. hvis videoen ikke er tilgængelig

Hvad verificerer du i hvidt Box Test?

White box test involverer test af softwarekoden for følgende:

  • Interne sikkerhedshuller
  • Brudte eller dårligt strukturerede stier i kodningsprocesserne
  • Strømmen af ​​specifikke input gennem koden
  • Forventet output
  • Funktionaliteten af ​​betingede sløjfer
  • Test af hvert udsagn, objekt og funktion på individuel basis

Testen kan udføres på system-, integrations- og enhedsniveauer for softwareudvikling. Et af de grundlæggende mål med whitebox-test er at verificere et arbejdsflow for en applikation. Det involverer at teste en række foruddefinerede input mod forventede eller ønskede output, så når et specifikt input ikke resulterer i det forventede output, er du stødt på en fejl.

Hvordan udfører du White Box Test?

Vi har delt det op i to grundlæggende trin for at give dig en forenklet forklaring af white box test. Dette er, hvad testere gør, når de tester en applikation ved hjælp af white box-testteknikken:

TRIN 1) FORSTÅ KILDEKODEN

Det første, en tester ofte vil gøre, er at lære og forstå kildekoden til applikationen. Da white box test involverer test af en applikations indre funktion, skal testeren være meget vidende om de programmeringssprog, der bruges i de applikationer, de tester. Testpersonen skal også være meget opmærksom på sikker kodningspraksis. Sikkerhed er ofte et af de primære mål med at teste software. Testeren skal være i stand til at finde sikkerhedsproblemer og forhindre angreb fra hackere og naive brugere, som kan injicere ondsindet kode i applikationen enten bevidst eller ubevidst.

TRIN 2) OPRET TESTCASES OG UDFØR

Det andet grundlæggende trin til white box test involverer test af applikationens kildekode for korrekt flow og struktur. En måde er ved at skrive mere kode for at teste applikationens kildekode. Testeren vil udvikle små test for hver proces eller serie af processer i applikationen. Denne metode kræver, at testeren skal have indgående kendskab til koden og udføres ofte af udvikleren. Andre metoder omfatter Manuel testning, prøve- og fejltestning og brugen af ​​testværktøjer, som vi vil forklare videre i denne artikel.

HvidBox Test

HvidBox Test eksempel

Overvej følgende stykke kode

Printme (int a, int b) {                       ------------  Printme is a function 
    int result = a+ b; 
    If (result> 0)
    	Print ("Positive", result)
    Else
    	Print ("Negative", result)
    }                                        -----------   End of the source code

Whites målBox test i software engineering er at verificere alle beslutningsgrene, sløjfer og udsagn i koden.

For at udøve udsagn i ovenstående hvide boks-testeksempel, WhiteBox testcases ville være

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

Hvid Box Testteknikker

En vigtig White box-testteknik er kodedækningsanalyse. Kodedækningsanalyse eliminerer huller i en Test sag suite. Den identificerer områder af et program, der ikke udøves af et sæt testcases. Når huller er identificeret, opretter du testcases for at verificere utestede dele af koden og derved øge kvaliteten af ​​softwareproduktet

Der er automatiserede værktøjer tilgængelige til at udføre Kodedækningsanalyse. Nedenfor er et par dækningsanalyseteknikker, som en bokstester kan bruge:

Erklæringsdækning:- Denne teknik kræver, at alle mulige udsagn i koden testes mindst én gang under testprocessen af software Engineering.

Filialdækning – Denne teknik kontrollerer enhver mulig sti (if-else og andre betingede sløjfer) i en softwareapplikation.

Bortset fra ovenstående er der talrige dækningstyper såsom tilstandsdækning, multipel tilstandsdækning, stidækning, funktionsdækning osv. Hver teknik har sine egne fordele og forsøg på at teste (dække) alle dele af softwarekoden. Ved at bruge Statement og Branch-dækning opnår du generelt 80-90% kodedækning, hvilket er tilstrækkeligt.

Følgende er vigtige hvideBox Testteknikker:

  • Erklæringsdækning
  • Beslutningsdækning
  • Filialdækning
  • Tilstandsdækning
  • Dækning af flere tilstande
  • Finite State Machine Dækning
  • Stidækning
  • Kontrol flow test
  • Test af dataflow

Typer af hvid Box Test

Test af hvid boks omfatter flere testtyper, der bruges til at evaluere anvendeligheden af ​​en applikation, kodeblok eller specifik softwarepakke. Der er listet nedenfor -

  • Enhedstest: Det er ofte den første type test, der udføres på en applikation. Enhedstest udføres på hver enhed eller kodeblok, efterhånden som den udvikles. Enhedstest udføres i det væsentlige af programmøren. Som softwareudvikler udvikler du nogle få linjer kode, en enkelt funktion eller et objekt og tester det for at sikre, at det virker, før du fortsætter. Enhedstest hjælper med at identificere et flertal af fejl tidligt i softwareudviklingens livscyklus. Bugs identificeret i denne fase er billigere og nemme at rette.
  • Test for hukommelseslækager: Hukommelseslækager er førende årsager til langsommere kørende programmer. En QA-specialist, der har erfaring med at opdage hukommelseslækager, er afgørende i tilfælde, hvor du har en langsom kørende softwareapplikation.

Bortset fra ovenstående er nogle få testtyper en del af både black box og white box test. De er anført nedenfor

  • Hvid Box Penetration Testing: I denne test har testeren/udvikleren fuld information om applikationens kildekode, detaljerede netværksoplysninger, involverede IP-adresser og alle serveroplysninger, applikationen kører på. Målet er at angribe koden fra flere vinkler for at afsløre sikkerhedstrusler.
  • Hvid Box Mutationstest: Mutationstest bruges ofte til at opdage de bedste kodningsteknikker, der skal bruges til at udvide en softwareløsning.

Hvid Box Testværktøjer

Nedenfor er en liste over de bedste hvide boks-testværktøjer.

Fordele ved hvid Box Test

  • Kodeoptimering ved at finde skjulte fejl.
  • White box testsager kan nemt automatiseres.
  • Testning er mere grundig, da alle kodestier normalt er dækket.
  • Testen kan starte tidligt SDLC selvom GUI ikke er tilgængelig.

Ulemper ved hvidBox Test

  • White box test kan være ret komplekst og dyrt.
  • Udviklere, der normalt udfører white box-testsager, afskyr det. Den hvide boks-test af udviklere er ikke detaljeret og kan føre til produktionsfejl.
  • White box-test kræver professionelle ressourcer med en detaljeret forståelse af programmering og implementering.
  • White-box test er tidskrævende, større programmeringsapplikationer tager tid at teste fuldt ud.

Konklusion

  • White box test kan være ret komplekst. Den involverede kompleksitet har meget at gøre med den applikation, der testes. En lille applikation, der udfører en enkelt simpel handling, kunne testes med hvid boks på få minutter, mens større programmeringsapplikationer tager dage, uger og endnu længere tid at teste fuldt ud.
  • White box-test i softwaretest bør udføres på en softwareapplikation, da den udvikles efter den er skrevet og igen efter hver ændring.