Get your 6-month No-Cost Opt-Out offer for Unlimited Software Automation?

Grenseverdianalyse – vanligvis forkortet til BVA – er en vanlig svart boks-testteknikk . Tilnærmingen tester for programvaredefekter ved å verifisere inngangsverdier på grensene for tillatte områder.

Denne artikkelen vil utforske hva grenseanalysetesting er, hvorfor det er nyttig, og utforske noen forskjellige tilnærminger, teknikker og ulike grensetestingsverktøy.

 

Hva er grenseverdianalyse i programvaretesting?

Statisk testing i programvaretesting - hva er det, typer, prosesser, tilnærminger, verktøy og mer!

Grenseverdianalyse er en type funksjonell testing . Den typen testing er opptatt av å verifisere at hver funksjon i programvaren oppfyller krav og spesifikasjoner. Ved grensetesting inkluderer denne funksjonaliteten hvordan programvaren håndterer ulike innganger.

BVA er en programvaretestingsteknikk som validerer hvordan programvare vil reagere på innganger ved eller rundt kanten av inngangsgrenser. I hovedsak har hver inngang tillatte områder. For eksempel kan du ha en passordboks for en pålogging som godtar passord på mellom 8 og 12 tegn. Grensetesting vil teste for passord med tegnlengder på 7, 8, 12 og 13.

Tanken her er at grensene for grensene, dvs. 7, 8, 12 og 13, er mer sannsynlig å kaste feil enn tall innenfor grensene, for eksempel 9, 10 og 11. Selv om fordelene her kan virke marginale i et eksempel på en feltboks som aksepterer mellom 8 og 12 tegn, blir de mer åpenbare når du trenger å skrive testsaker for feltbokser som tar mellom 1 og 20 tegn eller tall mellom 1 og 1000, og så videre.

Så, for å spare tid og redusere antall testtilfeller innen funksjonell testing, ser grenseverdianalyse på verdier:

  • Ved minimumsverdi
  • Rett under minimumsverdien
  • På maksimal verdi
  • Rett over maksimumsverdien

 

Fordeler med grenseverdianalyse i testing

QA-testing - hva er det, typer, prosesser, tilnærminger, verktøy og mer!

Grensetesting har flere overbevisende fordeler for QA-team.

#1. Bedre programvarekvalitet

Marerittscenarioet for testere er feil og defekter som ikke blir lagt merke til. Med så mange ting å verifisere, kan noen defekter slippe gjennom sprekkene. Grensetesting beviser funksjonaliteten til områder i programvaren som er mer sannsynlig å inneholde feil, noe som fører til bedre programvarebygging og til slutt en mer pålitelig, stabil applikasjon.

#2. Økt testdekning

BVA i programvaretesting er så nyttig fordi det bidrar til å kutte ned på antall testtilfeller som kreves for omfattende testdekning. Grenseverdianalyse sikrer at viktige verdier og at hver verdi kan testes mer grundig.

#3. Tidlig oppdagelse av feil

Grenseverditesting er en del av en tilnærming som prioriterer tidlig oppdagelse av feil. Å fange feil tidlig i prosessen betyr at utviklingsteam kan spare tid og penger uten engang å nevne at det er langt lettere å rette opp feil i de tidlige stadiene av utviklingen.

#4. Effektivitet

Grenseverditesting er supereffektivt fordi det reduserer kravet til mange testtilfeller. Faktisk, å redusere inndata ned til alle unntatt de mest sannsynlige for å forårsake problemer, kan faktisk spare testteamene for tid både på å skrive og utføre testsaker.

 

Ulemper med grenseverdianalyse i testing

Ulike programvare og QA-metodikker

Selvfølgelig er ingen programvaretestteknikk perfekt eller uten begrensninger. Selv om grenseverdianalyse har mange fordeler, er det noen begrensninger for å jobbe med denne funksjonelle testteknikken.

#1. Smalt omfang

BVA jobber på grensene eller kantene til gyldige datainndata. Generelt ignorerer den de midterste inngangene ved å resonnere at de vil være fine hvis de gyldige inngangene på kantene er det. Det er imidlertid ikke uten presedens at noen av disse verdiene som ikke er testet kan ha problemer.

#2. Altfor forenklet

Grenseanalyse handler om å gjøre ting enkelt. Selv om dette fungerer for å redusere testtilfeller, er tilnærmingen mindre egnet for svært komplekse domener med flere grenser, interaksjoner eller avhengigheter. Det kan faktisk slite med å håndtere komplekse scenarier, noe som betyr at du må utforske andre teknikker for tilstrekkelig dekning.

#3. Antagelser

Enhver prosess som forsøker å øke effektiviteten risikerer å gå glipp av spesielle feil. BVA fokuserer på grenser i utkanten av en rekkevidde. Ved å gjøre det må den gjøre antagelser om andre innganger som faller på hver side av grenseverdier. Testere må finne en balanse mellom effektivitet og dekning, noe som utgjør en liten risiko hvis grensetesting brukes alene.

#4. Stol på nøyaktige spesifikasjoner og krav

Effektiv BVA er avhengig av kvaliteten og nøyaktigheten av spesifikasjoner og kravdokumentasjon. Eventuelle ukontrollerte feil i disse dokumentene kan blø inn i grenseverditesting og føre til at spesifikke feil blir ukontrollerte og uoppdagede frem til de kritiske sene utviklingsstadiene.

#5. Avhengighet av ekvivalensklasser

Å utføre grundig BVA krever en sterk arbeidskunnskap om ekvivalensklasser. Å sette disse klassene nøyaktig krever erfaring og litt bakgrunnsinformasjon om applikasjonen.

 

Utfordringer ved grenseverdianalyse

i programvaretesting

utfordringer-last-testing

Nå bør du være ganske tydelig på fordeler og ulemper med grensetesting. Men hvis du ønsker å implementere tilnærmingen i din egen programvaretesting, må du også være klar over de ulike utfordringene du må overvinne.

Her er noen av utfordringene med å implementere grenseverditesting i programvaretesting.

 

#1. Skissere grenser

Å identifisere grenser innenfor enkle systemer byr på små utfordringer for kompetente testere. Imidlertid er det mer komplekse situasjoner, for eksempel:

  • Komplekse inngangsdomener med forskjellige inngangsvariabler eller intrikate relasjoner
  • Udokumenterte grenser som ikke er tydelig skissert i spesifikasjonsdokumenter
  • Dynamiske grenser som endres basert på brukerhandlinger eller andre forhold

 

#2. Tvetydige krav

Dårlig skrevne eller uklare kravdokumenter kan hindre identifisering av grenseverdier. Klarhet, fullstendighet og en forpliktelse til uttømmende spesifikasjonsdokumenter tar tid, men de vil lønne seg til slutt.

 

#3. Ekspertise

Grenseverdianalyse kan være villedende kompleks. Faktisk trenger testteam personell med erfaring og kunnskap om feltet for å forstå de subtile nyansene i teknikken. Dessuten må testerne ha med seg litt kunnskap om programvaren, eller i det minste ha pålitelige spesifikasjonsdokumenter å falle tilbake på.

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

#4. Feil

Grenseanalyse søker å fjerne antallet testtilfeller som kreves for å bekrefte gyldige og ugyldige inndata. Imidlertid kan feil som ligger utenfor testområdet lett gå ubemerket hen. Dessuten er “av-for-en”-feil vanlige kodefeil som kan oppstå ved eller nær grensene. Testere må være bevisst disse scenariene og legge til rette for testing.

 

#5. Eksplosjon i prøvesak

Med flere inngangsgrenser på spill, kan testsaker snart bli komplekse og formere seg ute av kontroll. I disse situasjonene går tiden og pengene du kan spare med grensetesting tapt, noe som undergraver fordelene med løsningen. Komplekse programvarebygg med mange kombinasjoner eller permutasjoner kan ha en lignende effekt.

 

#6. Begrensninger i analyseverktøyet

Programvaretestautomatiseringsverktøy kan hjelpe team med å utføre tilstrekkelig grenseverdianalyse. Men selv i de beste tilfellene krever disse verktøyene noe manuell intervensjon for både testing og testoppretting. Denne situasjonen kan forverres for komplekse bygg med multivariable interaksjoner.

 

Ulike typer grenseverdier

testing i programvaretesting

sjekkliste prosesser for programvaretesting

I boken Software Testing: A Craftsman’s Approach beskriver forfatterne Paul C. Jorgensen og ‎Byron DeVries fire forskjellige typer grenseverditesting, som er:

 

1. Normal grenseverditesting (NBVT)

  • Tester gyldige inngangsverdier ved kantene av inngangsdomenet
  • Utforsker minimums- og maksimumsverdier sammen med innganger like over og under grensen
  • Dette er den klassiske typen grenseverdianalyse

 

2. Robust grenseverditesting (RBVT)

  • Ligner på NBVT ovenfor, men inkluderer også ugyldige innganger
  • Tester på og like utenfor grenser, men står også for ugyldige innganger
  • Fokuserer på å finne feil fra ekstreme eller uventede utdata

 

3. Worst-case grenseverditesting (WBVT)

  • Verifiserer programvareatferd ved å bruke ekstreme gyldige og ugyldige verdier
  • Utforsker verdier på kanten av inngangsdomener og verdier utenfor disse grensene
  • Søker å forstå programvareatferd under mer ekstreme forhold

 

4. Robust worst-case grenseverditesting (RWBVT)

  • Bruker en blanding av RBVT og WBVT for den mest grundige grenseverditestingen
  • Tester gyldige og ugyldige inngangsverdier ved både typiske og ekstreme grenser
  • Gir den beste muligheten til å finne grenserelaterte feil

 

Disse tilnærmingene er forskjellige i omfang, med RWBVT som den mest grundige. Testerne må imidlertid erkjenne den ekstra investeringen i både tid og krefter som kreves for å låse opp dette ekstra nivået av feiloppdagelse.

 

Ekvivalensoppdeling og grenseverdi

analyse: likheter og forskjeller

rydde opp i litt forvirring i automatisering av programvaretesting

Ekvivalenspartisjonering og grenseverdianalyse brukes ofte sammen med hverandre. Faktisk er de to teknikkene svært komplementære. Imidlertid beskriver de distinkte tilnærminger til å validere datainndata. Her er en titt på likhetene og forskjellene mellom de to.

 

1. Likheter

Ekvivalenspartisjonering og grenseverdianalyse utgjør et flott par. Her er noen av likhetene mellom begge teknikkene.

  • De er begge svarte boks-testteknikker , som betyr fokus på innganger og utganger, som kan testes uten på forhånd kunnskap om applikasjonens kildekode.
  • De er begge en del av en grundig tilnærming til å teste input
  • De hjelper begge testere med å finne en balanse mellom omfattende testdekning uten å skrive en overdreven mengde testsaker.

 

2. Forskjeller

For å utforske forskjellene mellom ekvivalenspartisjonering og grenseverdianalyse, må vi se på hver isolert.

Ekvivalenspartisjonering

  • Deler inn inndata i ekvivalensklasser som skal resultere i lignende systemutganger
  • Bruker en enkelt representativ verdi fra hver klasse og tester systemet med den verdien
  • Det er opptatt av å identifisere gyldige og ugyldige ekvivalensklasser

 

Grenseverdianalyse

  • Tester verdiene ved grensene eller kantene til ekvivalensklasser
  • Test en rekke verdier, inkludert minimum, maksimum og verdier på hver side av grensen
  • Ser etter feil som finnes på kanten av grenser

 

Eksempler på ekvivalenspartisjonering og grenseverdianalyse

For å sementere din forståelse av ekvivalenspartisjonering og grenseverdianalyse, er her noen eksempler.

Ekvivalenspartisjoneringseksempel:

La oss si at du har en inndataboks for bilregistreringer. Vanligvis har amerikanske bilregistreringsskilt mellom 6 og syv tegn. For enkelhets skyld gir vi rabatt på spesialnummerskilt.

Gyldige data = Plater 6 eller 7 tegn

Ugyldige data = Plater med> 6 eller> 7 tegn.

 

Eksempel på grenseverdianalyse:

Ved å bruke samme nummerskilteksempel som ovenfor, vil grenseanalysen teste

Gyldige data = Plater med 6 eller 7 tegn

Ugyldige data = Plater med 5 eller 8 tegn, og i noen scenarier, 4 og 9 tegn

 

Eksempel på grenseverdianalyse

fordelene med alfa-testing og rpa

Kanskje den beste måten å forstå konseptet fullt ut er ved å se på et annet eksempel på grenseverdianalyse eller to.

 

Eksempel #1 på grenseverditesting

For å utforske grenseverditesting mer detaljert, la oss se på et eksempel på et aldersbekreftelsesdomene.

Vi har en boks hvor brukeren kan skrive inn sin alder.

Grenseverdier er:

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

  • Minimumsalder = 18 år
  • Maksimal alder = 120

 

Eksempel på grenseprøvetilfeller:

Det er totalt seks testtilfeller:

  • 17, 18 og 19, som er henholdsvis under minimum, minimum og over minimum
  • 119, 18 og 19, som er under henholdsvis maksimum, maksimum og over maksimum

 

Eksempel #2 på grenseverditesting.

I vårt neste eksempel på grensetesting vil vi utforske et nettsted med en kjøpsrabatt på minimum 20 % på bestillinger på $100 og mer.

I dette eksemplet fører et kjøp på over $600 til 25 % rabatt. Grenseverditesten vil håndtere innganger mellom $100 og $600.

Grenseverdier er:

Minste kvalifiserende rabatt = $100

Maksimal kvalifiserende rabatt = $600

 

Eksempel på grenseprøvetilfeller:

Igjen genererer vi totalt seks testtilfeller, som er:

  • $99,99, $100 og $100,01, som er under henholdsvis minimum, minimum og over minimum
  • $599,99, $600 og $600,01, som er under henholdsvis maksimum, maksimum og over maksimum

 

Er grensetesting i programvaretesting nøyaktig?

alfa-testing vs beta-testing

I forskningsoppgaven Black Box Testing with Equivalence Partitioning and Boundary Value Analysis Methods utforsker forfatterne bruk av ekvivalenspartisjonering og grenseverdianalyse for å teste et akademisk informasjonssystem for Mataram University i Indonesia.

Forfatterne brukte det populære åpen kildekode-testverktøyet Selenium for sine tester og kjørte totalt 322 testcaser. Ekvivalenstesting og grenseverdianalyse avdekket rundt 80 mislykkede tilfeller, noe som førte til et forhold på omtrent 75:25 mellom gyldige og ugyldige testresultater. Totalt sett førte bruk av en kombinasjon av ekvivalenspartisjonering og BVA i programvaretesting til grundig og nyttig testing av programvaren.

 

Beste grenseverditestingsverktøy

ZAPTEST RPA + Test Automation suite

Mens dedikerte programvareverktøy for grensetesting er sjeldne, er det mange bemerkelsesverdige testverktøy som er i stand til jobben.

#3. TestCaseLab

TestCaseLab er et skybasert testadministrasjonsverktøy som kan hjelpe med BVA-testing. Programvaren lar team lage og administrere testtilfeller fra det intuitive og attraktive brukergrensesnittet. TestCaseLab er fleksibel og full av funksjoner, men den har sine begrensninger, inkludert begrensede rapporterings- og tilpasningsmuligheter.

 

#2. Micro Focus UFT One

Micro Focus UFT One er et programvaretestingsverktøy med fokus på funksjonell og regresjonstesting . Den støtter forskjellige plattformer, enheter og API-testing og tilbyr sterke integreringsalternativer. Den tilbyr både kodefri og nøkkelorddrevet testopprettelse og kan hjelpe team med å bygge grenseverdianalysetestsaker med letthet. Det er noen begrensninger du må vurdere, for eksempel en bratt læringskurve og mangel på kraft sammenlignet med verktøy som ZAPTEST.

 

#1. ZAPTEST

Agile DevOps Test Automation: Forklarer den ZAPTEST mockup-baserte automatiseringstilnærmingen

ZAPTEST er et omfattende testverktøy for programvareautomatisering med avanserte RPA-funksjoner . Den er bygget for å gi testere en brukervennlig og robust pakke med testautomatiseringsverktøy som kan hjelpe med å verifisere programvare på en rekke måter, inkludert med BVA i programvaretesting.

Noen av de mest overbevisende brukssakene for ZAPTEST for å hjelpe grenseverdianalyse inkluderer generering av testtilfeller, håndtering av testdata, testutførelse og rapportering og analyse. Med en rekke maler og et høyt nivå av tilpasning kombinert med oppretting av testcase uten kode, kan ZAPTEST-brukere raskt og enkelt opprette og administrere robuste testcaser for alle typer grenseanalyser.

I tillegg til generering og administrasjon av testtilfeller, kan ZAPTESTs RPA-funksjoner hjelpe testing av team med deres grenseverdianalysetesting på andre måter. Du kan for eksempel automatisere utførelse av testtilfeller, generere testdata og bygge kraftige integrasjoner med andre testverktøy.

 

Tips for grenseverditesting

  • Kombiner grenseverdianalyse med ekvivalenspartisjonering for å sikre at testsakene dine dekker ulike inputscenarier
  • Bruk ugyldige inndatascenarier (dvs. negativ testing) for å sikre at du bekrefter hvordan programvaren håndterer feil og uventede inndata
  • Invester tid i å identifisere grenseverdier for ulike datatyper som tekst, tall, boolsk osv.
  • Prioriter grenseverditesting for kritiske funksjoner eller områder hvor det er mer sannsynlig at feil oppstår
  • Bruk realistiske data som representerer typen data brukerne vil legge inn på domenene dine.

 

Siste tanker

Grenseverdianalyse er en nyttig funksjonell testmetode. Når du har et inndatadomene, må du sjekke at det godtar gyldige data og sender feilmeldinger når det mottar ugyldige data. Grenseanalysetesting bidrar til å verifisere denne funksjonaliteten på en effektiv måte ved å bygge bare testtilfellene som kreves for omfattende testing.

Grensetesting ser på verdier i eller rundt det akseptable området og verifiserer hvordan systemet reagerer på disse inngangene. Resultatet er mye spart tid og redusert innsats fordi du ikke trenger å bygge overflødige testsaker. I den fartsfylte verden av programvareutvikling, der tidsfrister ser ut til å komme tykke og raske, trenger testteam all den hjelpen de kan få.

Download post as PDF

Alex Zap Chernyak

Alex Zap Chernyak

Founder and CEO of ZAPTEST, with 20 years of experience in Software Automation for Testing + RPA processes, and application development. Read Alex Zap Chernyak's full executive profile on Forbes.

Get PDF-file of this post