fbpx

Analiza mejnih vrednosti – običajno skrajšano BVA – je običajna tehnika testiranja črne škatle. Pristop preverja napake programske opreme s preverjanjem vhodnih vrednosti na mejah dovoljenih razponov.

V tem članku bomo raziskali, kaj je testiranje mejne analize, zakaj je uporabno, ter preučili nekaj različnih pristopov, tehnik in različnih orodij za testiranje mej.

 

Kaj je analiza mejnih vrednosti pri testiranju programske opreme?

Statično testiranje pri testiranju programske opreme - kaj je to, vrste, proces, pristopi, orodja in še več!

Analiza mejnih vrednosti je vrsta funkcionalnega testiranja. Pri tej vrsti testiranja je treba preveriti, ali vsaka funkcija programske opreme izpolnjuje zahteve in specifikacije. V primeru mejnega testiranja ta funkcionalnost vključuje, kako programska oprema obravnava različne vhodne podatke.

BVA je tehnika testiranja programske opreme, ki preverja, kako se bo programska oprema odzvala na vhodne podatke na robu ali ob robu vhodnih meja. V bistvu ima vsak vhod dovoljena območja. Na primer, lahko imate polje z geslom za prijavo, ki sprejema gesla med 8 in 12 znaki. Z mejnim testiranjem se preverijo gesla z dolžino znakov 7, 8, 12 in 13.

Pri tem je mišljeno, da je na mejah meja, tj. 7, 8, 12 in 13, večja verjetnost napak kot pri številkah znotraj meja, kot so 9, 10 in 11. Čeprav se zdi, da so prednosti v primeru polja polja, ki sprejme od 8 do 12 znakov, zanemarljive, postanejo očitnejše, ko je treba napisati testne primere za polja polja, ki sprejmejo od 1 do 20 znakov ali številke od 1 do 1000 in tako naprej.

Da bi prihranili čas in zmanjšali število testnih primerov v okviru funkcionalnega testiranja, se analiza mejnih vrednosti osredotoča na vrednosti:

  • Pri najnižji vrednosti
  • Neposredno pod najnižjo vrednostjo
  • Pri največji vrednosti
  • Neposredno nad največjo vrednostjo

 

Prednosti analize mejnih vrednosti pri testiranju

Testiranje QA - kaj je to, vrste, procesi, pristopi, orodja in še več!

Mejno testiranje ima za ekipe za zagotavljanje kakovosti več prepričljivih prednosti.

#1. Boljša kakovost programske opreme

Nočna mora preizkuševalcev so napake in pomanjkljivosti, ki ostanejo neopažene. Ker je treba preveriti toliko stvari, lahko nekatere napake uidejo skozi okno. Z mejnim testiranjem dokažete funkcionalnost področij v programski opremi, na katerih je večja verjetnost napak, kar vodi k boljši sestavi programske opreme in na koncu k zanesljivejši in stabilnejši aplikaciji.

#2. Povečana pokritost testov

BVA pri testiranju programske opreme je tako uporaben, ker pomaga zmanjšati število testnih primerov, ki so potrebni za celovito pokritost testov. Analiza mejnih vrednosti zagotavlja, da so pomembne vrednosti in da je mogoče vsako vrednost temeljiteje preizkusiti.

#3. Zgodnje odkrivanje napak

Testiranje mejnih vrednosti je del pristopa, ki daje prednost zgodnjemu odkrivanju napak. Odkrivanje napak v zgodnjih fazah postopka pomeni, da lahko razvojne ekipe prihranijo čas in denar, pri čemer niti ne omenjamo dejstva, da je napake veliko lažje odpraviti v zgodnjih fazah razvoja.

#4. Učinkovitost

Testiranje mejnih vrednosti je zelo učinkovito, saj zmanjšuje potrebo po velikem številu testnih primerov. Z zmanjšanjem vhodnih podatkov na vse, ki bodo najverjetneje povzročili težave, lahko ekipe za testiranje bistveno prihranijo čas tako pri pisanju kot pri izvajanju testnih primerov.

 

Pomanjkljivosti analize mejnih vrednosti pri testiranju

Različne metodologije programske opreme in zagotavljanja kakovosti

Seveda nobena tehnika testiranja programske opreme ni popolna ali brez omejitev. Čeprav ima analiza mejnih vrednosti številne prednosti, obstajajo nekatere omejitve pri delu s to tehniko funkcionalnega testiranja.

#1. Ozko področje uporabe

BVA deluje na mejah ali robovih veljavnih vhodnih podatkov. Na splošno zanemarja sredinske vhode z utemeljitvijo, da bodo v redu, če so veljavni vhodi na robovih. Vendar pa ni brez precedensa, da bi nekatere od teh nepreverjenih vrednosti lahko imele težave.

#2. Preveč poenostavljeno

Pri mejni analizi je treba stvari poenostaviti. To je sicer primerno za zmanjševanje števila testnih primerov, vendar je ta pristop manj primeren za zelo zapletena področja z več mejami, interakcijami ali odvisnostmi. Dejansko lahko težko obvladuje zapletene scenarije, kar pomeni, da morate za ustrezno pokritost raziskati druge tehnike.

#3. Predpostavke

Pri vsakem postopku, ki poskuša povečati učinkovitost, obstaja tveganje, da bodo določene napake izpuščene. BVA se osredotoča na meje na robu območja. Pri tem mora sprejeti predpostavke o drugih vhodnih podatkih, ki so na obeh straneh mejnih vrednosti. Testerji morajo najti ravnovesje med učinkovitostjo in pokritostjo, kar predstavlja rahlo tveganje, če se uporablja samo mejno testiranje.

#4. Zanašanje na natančne specifikacije in zahteve

Učinkovita BVA je odvisna od kakovosti in natančnosti specifikacij in dokumentacije zahtev. Vse nepreverjene napake v teh dokumentih se lahko prenesejo v testiranje mejnih vrednosti in povzročijo, da določene napake ostanejo nepreverjene in neodkrite do kritičnih poznih faz razvoja.

#5. Zanašanje na razrede ekvivalentnosti

Za temeljito analizo BVA je potrebno dobro poznavanje razredov enakovrednosti. Za natančno nastavitev teh razredov so potrebne izkušnje in nekaj osnovnih informacij o aplikaciji.

 

Izzivi analize mejnih vrednosti

pri testiranju programske opreme

izzivi-testiranje obremenitve

Zdaj bi vam morale biti prednosti in slabosti testiranja meja že precej jasne. Če želite ta pristop uvesti v svoje testiranje programske opreme, se morate zavedati tudi različnih izzivov, ki jih morate premagati.

V nadaljevanju so predstavljeni nekateri izzivi pri izvajanju testiranja mejnih vrednosti pri testiranju programske opreme.

 

#1. Opredelitev meja

Prepoznavanje meja v preprostih sistemih za usposobljene preizkuševalce ne predstavlja večjega izziva. Obstajajo pa tudi bolj zapletene situacije, kot so:

  • Kompleksna vhodna področja z različnimi vhodnimi spremenljivkami ali zapletenimi razmerji
  • Nedokumentirane meje, ki niso bile jasno opisane v specifikacijskih dokumentih.
  • Dinamične meje, ki se spreminjajo glede na dejanja uporabnika ali druge pogoje.

 

#2. dvoumne zahteve

Slabo napisani ali nejasni dokumenti z zahtevami lahko ovirajo določitev mejnih vrednosti. Jasnost, popolnost in zavezanost k izčrpnim specifikacijskim dokumentom zahtevajo čas, vendar se na koncu obrestujejo.

 

#3. Strokovno znanje

Analiza mejnih vrednosti je lahko zelo zapletena. Ekipe za testiranje potrebujejo osebje z izkušnjami in znanjem s tega področja, da lahko razumejo subtilne odtenke tehnike. Poleg tega morajo preizkuševalci imeti nekaj znanja o programski opremi ali vsaj zanesljive dokumente s specifikacijami, na katere se lahko oprejo.

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

#4. Napake

Namen mejne analize je zmanjšati število testnih primerov, ki so potrebni za preverjanje veljavnih in neveljavnih vhodov. Vendar pa lahko napake, ki so zunaj testnega območja, ostanejo neopažene. Poleg tega so napake “off-by-one” pogoste napake pri kodiranju, ki se lahko pojavijo na mejah ali blizu njih. Testerji se morajo zavedati teh scenarijev in poskrbeti za testiranje.

 

#5. Eksplozija testnega primera

Pri več vhodnih mejah lahko testni primeri kmalu postanejo zapleteni in se nenadzorovano množijo. V teh primerih se izgubita čas in denar, ki ju lahko prihranite z mejnim testiranjem, s čimer se zmanjšajo koristi rešitve. Podoben učinek imajo lahko tudi kompleksne programske opreme z veliko kombinacijami ali permutacijami.

 

#6. Omejitve orodja za analizo

Orodja za avtomatizacijo testiranja programske opreme lahko ekipam pomagajo opraviti ustrezno analizo mejnih vrednosti. Vendar pa ta orodja tudi v najboljših primerih zahtevajo nekaj ročnega posredovanja pri testiranju in ustvarjanju testov. Ta položaj se lahko še poslabša pri zapletenih sestavah z interakcijami z več spremenljivkami.

 

Različne vrste mejnih vrednosti

testiranje pri testiranju programske opreme

kontrolni seznam postopkov testiranja programske opreme

V knjigi Testiranje programske opreme: Jorgensen in Byron DeVries opisujeta štiri različne vrste testiranja mejnih vrednosti, ki so:

 

1. Testiranje normalnih mejnih vrednosti (NBVT)

  • Preizkusi veljavne vhodne vrednosti na robovih vhodnega področja
  • Raziskuje minimalne in maksimalne vrednosti skupaj z vhodi tik nad in pod mejo.
  • To je klasična vrsta analize mejnih vrednosti

 

2. Robustno testiranje mejnih vrednosti (RBVT)

  • Podobno kot NBVT zgoraj, vendar vključuje tudi neveljavne vhode.
  • Preizkusi na mejah in tik za njimi, vendar upošteva tudi neveljavne vhodne podatke.
  • Osredotoča se na iskanje napak zaradi ekstremnih ali nepričakovanih rezultatov.

 

3. Testiranje mejnih vrednosti v najslabšem primeru (WBVT)

  • Preverja obnašanje programske opreme z uporabo skrajno veljavnih in neveljavnih vrednosti.
  • Raziskuje vrednosti na robu vhodnih področij in vrednosti zunaj teh meja.
  • poskuša razumeti obnašanje programske opreme v bolj ekstremnih pogojih.

 

4. Robustno testiranje mejnih vrednosti v najslabšem primeru (RWBVT)

  • Uporablja kombinacijo RBVT in WBVT za najbolj temeljito testiranje mejnih vrednosti
  • Preizkuša veljavne in neveljavne vhodne vrednosti na tipičnih in skrajnih mejah.
  • Ponuja najboljšo priložnost za odkrivanje napak, povezanih z mejami

 

Ti pristopi se razlikujejo po izčrpnosti, pri čemer je RWBVT najbolj izčrpen. Vendar se morajo preizkuševalci zavedati, da je za to dodatno raven odkrivanja napak potreben dodaten čas in napor.

 

Ekvivalentna delitev in mejna vrednost

analiza: podobnosti in razlike

razjasnitev nekaterih nejasnosti pri avtomatizaciji testiranja programske opreme

Ekvivalentna delitev in analiza mejnih vrednosti se pogosto uporabljata v povezavi ena z drugo. Obe tehniki se namreč zelo dopolnjujeta. Vendar pa opisujejo različne pristope k potrjevanju vnosa podatkov. Tukaj si oglejte podobnosti in razlike med njima.

 

1. Podobnosti

Ekvivalentna razdelitev in analiza mejnih vrednosti sta odličen par. Tukaj je nekaj podobnosti med obema tehnikama.

  • Obe sta tehniki testiranja črne skrinjice, kar pomeni, da se osredotočata na vhode in izhode, ki jih je mogoče testirati brez predhodnega poznavanja izvorne kode aplikacije.
  • Oba sta del temeljitega pristopa k testiranju vhodnih podatkov.
  • Oba pomagata testerjem najti ravnovesje med celovito pokritostjo testov brez pisanja prevelikega števila testnih primerov.

 

2. Razlike

Če želimo raziskati razlike med enakovredno delitvijo in analizo mejnih vrednosti, moramo vsako od njiju obravnavati ločeno.

Razdelitev po enakovrednosti

  • vhodne podatke razdeli v enakovredne razrede, katerih rezultat naj bi bili podobni rezultati sistema.
  • Uporabi eno reprezentativno vrednost iz vsakega razreda in testira sistem s to vrednostjo.
  • Ukvarja se z ugotavljanjem veljavnih in neveljavnih razredov enakovrednosti.

 

Analiza mejnih vrednosti

  • Preizkusi vrednosti na mejah ali robovih razredov ekvivalentnosti
  • Preizkusite več vrednosti, vključno z najmanjšo in največjo vrednostjo ter vrednostmi na obeh straneh meje.
  • išče napake, ki se nahajajo na robu mej.

 

Primeri enakovredne razdelitve in analize mejnih vrednosti

Da bi utrdili svoje razumevanje enakovredne razdelitve in analize mejnih vrednosti, je tu nekaj primerov.

Primer enakovredne razdelitve:

Recimo, da imate vnosno polje za registracijo avtomobilov. Običajno imajo registrske tablice avtomobilov v ZDA od 6 do 7 znakov. Zaradi preprostosti bomo zanemarili posebne registrske tablice.

Veljavni podatki = plošče 6 ali 7 znakov

Neveljavni podatki = plošče s 6 ali 7 znaki >ali >.

 

Primer analize mejnih vrednosti:

Z uporabo istega primera registrske tablice kot zgoraj se z mejno analizo preveri

Veljavni podatki = tablice s 6 ali 7 znaki

Neveljavni podatki = tablice s 5 ali 8 znaki, v nekaterih primerih pa tudi s 4 in 9 znaki.

 

Primer analize mejnih vrednosti

prednosti testiranja alfa in rpa

Morda je najboljši način za popolno razumevanje koncepta, če si ogledamo še en ali dva primera analize mejnih vrednosti.

 

Primer testiranja mejne vrednosti #1

Da bi podrobneje preučili testiranje mejnih vrednosti, si oglejmo primer domene za preverjanje starosti.

Imamo polje, v katerega lahko uporabnik vnese svojo starost.

Mejne vrednosti so:

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

  • Najnižja starost = 18 let
  • Najvišja starost = 120 let

 

Primer mejnih testnih primerov:

Skupno je šest testnih primerov:

  • 17, 18 in 19, ki so pod minimalno, minimalno in nad minimalno vrednostjo.
  • 119, 18 in 19, ki so pod najvišjo vrednostjo, najvišjo vrednostjo in nad najvišjo vrednostjo

 

Primer testiranja mejne vrednosti #2.

V naslednjem primeru testiranja meja bomo raziskali spletno mesto z najmanjšim popustom pri nakupu v višini 20 % pri naročilih v vrednosti 100 USD in več.

V tem primeru je ob nakupu za več kot 600 USD na voljo 25-odstotni popust. Preizkus mejne vrednosti bo obravnaval vložke med 100 in 600 USD.

Mejne vrednosti so:

Najmanjši popust = 100 USD

Največji popust = 600 USD

 

Primer mejnih testnih primerov:

Ponovno ustvarimo skupno šest testnih primerov, ki so:

  • 99,99 USD, 100 USD in 100,01 USD, ki so nižji od minimalne vrednosti, minimalne vrednosti in nad minimalno vrednostjo.
  • 599,99 USD, 600 USD in 600,01 USD, ki so pod najvišjo vrednostjo, najvišjo vrednostjo in nad najvišjo vrednostjo.

 

Ali je mejno testiranje pri testiranju programske opreme natančno?

alfa testiranje proti beta testiranju

V raziskovalnem članku Black Box Testing with Equivalence Partitioning and Boundary Value Analysis Methods avtorji raziskujejo uporabo metode enakovredne razdelitve in analize mejnih vrednosti za testiranje akademskega informacijskega sistema za univerzo Mataram v Indoneziji.

Avtorji so za testiranje uporabili priljubljeno odprtokodno orodje za testiranje Selenium in skupaj izvedli 322 testnih primerov. S testiranjem enakovrednosti in analizo mejnih vrednosti smo odkrili približno 80 neuspešnih primerov, zaradi česar je bilo razmerje med veljavnimi in neveljavnimi rezultati testov približno 75:25. Na splošno je uporaba kombinacije enakovredne delitve in BVA pri testiranju programske opreme omogočila temeljito in koristno testiranje programske opreme.

 

Najboljša orodja za testiranje mejnih vrednosti

ZAPTEST RPA + paket za avtomatizacijo testiranja

Čeprav so programska orodja, namenjena testiranju mej, redka, obstaja veliko pomembnih orodij za testiranje, ki so sposobna opraviti to nalogo.

#3. TestCaseLab

TestCaseLab je orodje za upravljanje testov v oblaku, ki lahko pomaga pri testiranju BVA. Programska oprema ekipam omogoča ustvarjanje in upravljanje testnih primerov v intuitivnem in privlačnem uporabniškem vmesniku. TestCaseLab je prilagodljiv in ima veliko funkcij, vendar ima tudi svoje omejitve, vključno z omejenimi možnostmi poročanja in prilagajanja.

 

#2. Micro Focus UFT One

Micro Focus UFT One je orodje za testiranje programske opreme s poudarkom na funkcionalnem in regresijskem testiranju. Podpira različne platforme, naprave in testiranje API ter ponuja močne možnosti integracije. Omogoča ustvarjanje testov brez kode in na podlagi ključnih besed ter ekipam pomaga pri enostavni izdelavi testnih primerov analize mejnih vrednosti. Upoštevati morate nekatere omejitve, kot sta strma krivulja učenja in pomanjkanje moči v primerjavi z orodji, kot je ZAPTEST.

 

#1. ZAPTEST

Agilna avtomatizacija testiranja DevOps: Razlaga pristopa k avtomatizaciji, ki temelji na maketah ZAPTEST

ZAPTEST je celovito orodje za avtomatizacijo testiranja programske opreme z naprednimi zmogljivostmi RPA. Izdelan je bil z namenom, da testerjem zagotovi uporabniku prijazen in robusten nabor orodij za avtomatizacijo testiranja, ki lahko pomagajo pri preverjanju programske opreme na različne načine, vključno z BVA pri testiranju programske opreme.

Med najbolj prepričljivimi primeri uporabe programa ZAPTEST za pomoč pri analizi mejnih vrednosti so ustvarjanje testnih primerov, ravnanje s testnimi podatki, izvajanje testov ter poročanje in analiza. S številnimi predlogami in visoko stopnjo prilagajanja v kombinaciji z ustvarjanjem testnih primerov brez kode lahko uporabniki ZAPTEST hitro in enostavno ustvarijo in upravljajo zanesljive testne primere za vse vrste mejnih analiz.

Poleg ustvarjanja in upravljanja testnih primerov lahko zmožnosti RPA podjetja ZAPTEST testnim skupinam pri testiranju z analizo mejne vrednosti pomagajo tudi na druge načine. Lahko na primer avtomatizirate izvajanje testnih primerov, ustvarjate testne podatke in gradite zmogljive integracije z drugimi orodji za testiranje.

 

Nasveti za testiranje mejnih vrednosti

  • Združite analizo mejnih vrednosti z razdelitvijo enakovrednosti, da zagotovite, da vaši testni primeri pokrivajo različne vhodne scenarije.
  • Uporabite scenarije neveljavnih vhodnih podatkov (tj. negativno testiranje), da preverite, kako programska oprema obravnava napake in nepričakovane vhodne podatke.
  • Vložite čas v določanje mejnih vrednosti za različne vrste podatkov, kot so besedilo, številke, logične vrednosti itd.
  • Prednostno testiranje mejnih vrednosti za kritične funkcionalnosti ali področja, kjer je večja verjetnost napak.
  • Uporabite realne podatke, ki predstavljajo vrsto podatkov, ki jih bodo uporabniki vnesli v vaše domene.

 

Zaključne misli

Analiza mejnih vrednosti je uporaben pristop funkcionalnega testiranja. Ko imate vhodno domeno, morate preveriti, ali sprejema veljavne podatke in pošilja sporočila o napakah, ko prejme neveljavne podatke. Testiranje z mejno analizo pomaga preveriti to funkcionalnost na učinkovit način, tako da se pripravijo le testni primeri, ki so potrebni za celovito testiranje.

Pri mejnem testiranju se preverijo vrednosti v sprejemljivem območju ali okoli njega in se preveri, kako se sistem odziva na te vhodne podatke. Rezultat je veliko prihranjenega časa in manj truda, saj vam ni treba sestavljati odvečnih testnih primerov. V hitrem svetu razvoja programske opreme, kjer se zdi, da so roki zelo hitri, potrebujejo ekipe za testiranje vso pomoč, ki jo lahko dobijo.

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

Virtual Expert

ZAPTEST

ZAPTEST Logo