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

Robežvērtību analīze – parasti saīsināti saukta par BVA – ir ierasta melnās kastes testēšanas metode. Ar šo pieeju programmatūras defektus pārbauda, pārbaudot ievades vērtības pieļaujamo diapazonu robežās.

Šajā rakstā apskatīsim, kas ir robežu analīzes testēšana, kāpēc tā ir noderīga, kā arī izpētīsim dažas dažādas pieejas, metodes un dažādus robežu testēšanas rīkus.

 

Table of Contents

Kas ir robežvērtību analīze programmatūras testēšanā?

Statiskā testēšana programmatūras testēšanā - kas tā ir, veidi, process, pieejas, rīki un citi!

Robežvērtību analīze ir funkcionālās testēšanas veids. Šis testēšanas veids ir saistīts ar pārbaudi, vai katra programmatūras funkcija atbilst prasībām un specifikācijām. Robežu testēšanas gadījumā šī funkcionalitāte ietver to, kā programmatūra rīkojas ar dažādiem ievades datiem.

BVA ir programmatūras testēšanas metode, ar kuru tiek pārbaudīts, kā programmatūra reaģēs uz ievades datiem, kas atrodas pie vai ap ievades robežu robežām. Būtībā katrai ievadei ir pieļaujamie diapazoni. Piemēram, var būt izveidots pieteikšanās paroles lauks, kurā var ievadīt paroles ar 8 līdz 12 rakstzīmēm. Robežpārbaudes tiks pārbaudītas paroles ar 7, 8, 12 un 13 rakstzīmju garumu.

Tiek domāts, ka robežās, t. i., 7, 8, 12 un 13, ir lielāka iespēja kļūdīties nekā skaitļos, kas atrodas robežās, piemēram, 9, 10 un 11. Lai gan, piemēram, lauka lauciņā, kas pieņem no 8 līdz 12 rakstzīmēm, šīs priekšrocības var šķist nenozīmīgas, tās kļūst acīmredzamākas, ja ir jāraksta testa gadījumi lauka lauciņiem, kas pieņem no 1 līdz 20 rakstzīmēm vai skaitļus no 1 līdz 1000 un tā tālāk.

Tātad, lai ietaupītu laiku un samazinātu testēšanas gadījumu skaitu funkcionālajā testēšanā, robežvērtību analīze aplūko vērtības:

  • Minimālā vērtība
  • Tieši zem minimālās vērtības
  • Maksimālā vērtība
  • Tieši virs maksimālās vērtības

 

Robežvērtību analīzes priekšrocības testēšanā

QA testēšana - kas tā ir, veidi, procesi, pieejas, rīki un citi!

QA komandām ir vairākas pārliecinošas priekšrocības.

#1. Labāka programmatūras kvalitāte

Testētāju murgs ir kļūdas un defekti, kas netiek pamanīti. Tā kā ir jāpārbauda tik daudz lietu, daži defekti var izlaisties cauri plaisām. Robežpārbaudes pierāda to programmatūras jomu funkcionalitāti, kurās pastāv lielāka kļūdu iespējamība, un tādējādi tiek uzlabota programmatūras izveide un galu galā tiek radīta uzticamāka un stabilāka lietojumprogramma.

#2. Palielināts testu pārklājums

BVA programmatūras testēšanā ir ļoti noderīgs, jo tas palīdz samazināt testēšanas gadījumu skaitu, kas nepieciešams visaptverošam testa pārklājumam. Robežvērtību analīze nodrošina, ka svarīgas vērtības un katru vērtību var pārbaudīt rūpīgāk.

#3. Agrīna defektu atklāšana

Robežvērtību testēšana ir daļa no pieejas, kuras prioritāte ir agrīna defektu atklāšana. Kļūdu izķeršana agrīnā posmā nozīmē, ka izstrādes komandas var ietaupīt laiku un naudu, nemaz nerunājot par to, ka kļūdas ir daudz vieglāk novērst agrīnā izstrādes posmā.

#4. Efektivitāte

Robežvērtību testēšana ir ļoti efektīva, jo tā mazina prasību pēc daudziem testēšanas gadījumiem. Patiešām, samazinot ievades datus līdz visiem, izņemot tos, kas visdrīzāk var izraisīt problēmas, var ievērojami ietaupīt testēšanas komandu laiku gan rakstot, gan izpildot testēšanas gadījumus.

 

Robežvērtību analīzes trūkumi testēšanā

Dažādas programmatūras un QA metodoloģijas

Protams, neviena programmatūras testēšanas metode nav nevainojama un bez ierobežojumiem. Lai gan robežvērtību analīzei ir daudz priekšrocību, darbam ar šo funkcionālās testēšanas metodi ir daži ierobežojumi.

#1. Šaura darbības joma

BVA darbojas uz derīgu datu ievadi robežām vai malām. Kopumā tā ignorē vidējās ievades, pamatojot, ka tās būs kārtībā, ja derīgas ir malu ievades. Tomēr nav izslēgts, ka dažas no šīm nepārbaudītajām vērtībām var radīt problēmas.

#2. Pārāk vienkāršots

Robežu analīze ir vienkāršošana. Lai gan šī pieeja ir piemērota testa gadījumu samazināšanai, tā ir mazāk piemērota ļoti sarežģītām jomām ar vairākām robežām, mijiedarbību vai atkarībām. Patiesi, tā var būt sarežģīta sarežģītu scenāriju risināšanā, kas nozīmē, ka jums ir jāizpēta citas metodes, lai nodrošinātu atbilstošu pārklājumu.

#3. Pieņēmumi

Jebkurš process, kas cenšas palielināt efektivitāti, riskē palaist garām konkrētas kļūdas. BVA koncentrējas uz robežām areāla malā. To darot, ir jāizdara pieņēmumi par citiem ievades datiem, kas atrodas abpus robežvērtībām. Testētājiem ir jāpanāk līdzsvars starp efektivitāti un pārklājumu, kas rada nelielu risku, ja tiek izmantota tikai robežpārbaude.

#4. paļaušanās uz precīzām specifikācijām un prasībām

Efektīva BVA ir atkarīga no specifikāciju un prasību dokumentācijas kvalitātes un precizitātes. Jebkuras nepārbaudītas kļūdas šajos dokumentos var ietekmēt robežvērtību testēšanu un novest pie tā, ka konkrētas kļūdas netiek pārbaudītas un atklātas līdz pat kritiskajiem, vēlākajiem izstrādes posmiem.

#5. Paļaušanās uz ekvivalences klasēm

Lai veiktu rūpīgu BVA, ir nepieciešamas labas zināšanas par ekvivalences klasēm. Lai precīzi iestatītu šīs klases, nepieciešama pieredze un zināma informācija par lietojumprogrammu.

 

Robežvērtību analīzes izaicinājumi

programmatūras testēšanā

izaicinājumi, slodzes testēšana

Tagad jums jau vajadzētu būt diezgan skaidri zināmi robežpārbaudes plusi un mīnusi. Tomēr, ja vēlaties ieviest šo pieeju savā programmatūras testēšanā, jums jāapzinās arī dažādas problēmas, kas jums jāpārvar.

Šeit ir daži no izaicinājumiem, kas saistīti ar robežvērtību testēšanas ieviešanu programmatūras testēšanā.

 

#1. Robežu iezīmēšana

Robežu noteikšana vienkāršās sistēmās kompetentiem testētājiem nesagādā lielas grūtības. Tomēr ir arī sarežģītākas situācijas, piemēram:

  • Sarežģītas ievades jomas ar dažādiem ievades mainīgajiem vai sarežģītām attiecībām.
  • Nedokumentētas robežas, kas nav skaidri norādītas specifikācijas dokumentos.
  • Dinamiskas robežas, kas mainās atkarībā no lietotāja darbībām vai citiem nosacījumiem.

 

#2. Neskaidras prasības

Slikti uzrakstīti vai neskaidri prasību dokumenti var kavēt robežvērtību noteikšanu. Skaidrība, pilnīgums un apņemšanās izstrādāt izsmeļošus specifikācijas dokumentus prasa laiku, taču galu galā tas atmaksāsies.

 

#3. Ekspertīze

Robežvērtību analīze var būt maldinoši sarežģīta. Patiešām, testēšanas komandām ir vajadzīgi darbinieki ar pieredzi un zināšanām šajā jomā, lai izprastu tehnikas smalkās nianses. Turklāt testētājiem ir nepieciešamas zināšanas par programmatūru vai vismaz uzticami specifikācijas dokumenti, uz kuriem var paļauties.

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

#4. Kļūdas

Robežanalīzes mērķis ir samazināt testēšanas gadījumu skaitu, kas nepieciešami, lai pārbaudītu derīgus un nederīgus ievades datus. Tomēr defektus, kas atrodas ārpus testēšanas diapazona, var viegli nepamanīt. Turklāt kļūdas “off-by-one” ir bieži sastopamas kodēšanas kļūdas, kas var rasties pie robežām vai to tuvumā. Testētājiem ir jāapzinās šie scenāriji un jāparedz testēšana.

 

#5. Testa gadījuma sprādziens

Ja tiek izmantotas vairākas ievades robežas, testa gadījumi drīz vien var kļūt sarežģīti un nekontrolējami vairoties. Šādās situācijās tiek zaudēts laiks un nauda, ko var ietaupīt, veicot robežpārbaudes, tādējādi mazinot risinājuma priekšrocības. Līdzīgu efektu var radīt arī sarežģītas programmatūras būves ar daudzām kombinācijām vai permutācijām.

 

#6. Analīzes rīku ierobežojumi

Programmatūras testēšanas automatizācijas rīki var palīdzēt komandām veikt atbilstošu robežvērtību analīzi. Tomēr pat labākajos gadījumos šie rīki prasa manuālu iejaukšanos gan testēšanā, gan testu izveidē. Šo situāciju var saasināt sarežģītās konstrukcijās, kurās mijiedarbojas vairāki mainīgie.

 

Dažādi robežvērtību veidi

testēšana programmatūras testēšanā

programmatūras testēšanas procesu kontrolsaraksts

Grāmatā Programmatūras testēšana: Jorgensen un Byron DeVries apraksta četrus dažādus robežvērtību testēšanas veidus, kas ir:

 

1. Normālās robežvērtības pārbaude (NBVT)

  • Testē derīgas ieejas vērtības ieejas apgabala malās.
  • Izpēta minimālās un maksimālās vērtības kopā ar ievades datiem, kas atrodas tieši virs un zem robežas.
  • Šis ir klasiskais robežvērtību analīzes veids.

 

2. Robusta robežvērtību testēšana (RBVT)

  • Līdzīgi kā NBVT iepriekš, bet ietver arī nederīgus ievades datus.
  • Testē pie un aiz robežām, bet ņem vērā arī nederīgus ievades datus.
  • Koncentrējas uz kļūdu meklēšanu ekstrēmos vai negaidītos izvados.

 

3. Vājākā gadījuma robežvērtību testēšana (WBVT)

  • Pārbauda programmatūras uzvedību, izmantojot galēji derīgas un nederīgas vērtības.
  • Izpēta vērtības pie ievades apgabalu robežām un vērtības aiz šīm robežām.
  • Mēģina izprast programmatūras uzvedību ekstrēmākos apstākļos.

 

4. Robust Worst-case Boundary Value Testing (RWBVT)

  • Izmanto RBVT un WBVT kombināciju vispilnīgāka robežvērtību testēšanas veikšanai.
  • Testē derīgas un nederīgas ieejas vērtības gan tipiskās, gan galējās robežās.
  • Piedāvā vislabāko iespēju atrast ar robežām saistītus defektus.

 

Šīs pieejas atšķiras pēc visaptverošuma, no kurām vispilnīgākā ir RWBVT. Tomēr testētājiem ir jāapzinās, ka, lai atklātu šo papildu defektu atklāšanas līmeni, ir nepieciešams papildu ieguldījums gan laikā, gan pūlēs.

 

Ekvivalences dalījums un robežvērtība

analīze: līdzības un atšķirības

dažu neskaidrību noskaidrošana programmatūras testēšanas automatizācijā

Ekvivalences sadalījumu un robežvērtību analīzi bieži izmanto kopā. Patiešām, abas metodes ir ļoti papildinošas. Tomēr tajās ir aprakstītas atšķirīgas pieejas datu ievades apstiprināšanai. Šeit ir apskatītas abu veidu līdzības un atšķirības.

 

1. Līdzības

Ekvivalences sadalījums un robežvērtību analīze ir lielisks pāris. Šeit ir dažas līdzības starp abām metodēm.

  • Tās abas ir “melnās kastes” testēšanas metodes, kas nozīmē, ka galvenā uzmanība tiek pievērsta ievades un izvades datiem, kurus var testēt, iepriekš nepārzinot lietojumprogrammas pirmkodu.
  • Tās abas ir daļa no rūpīgas pieejas ievades testēšanai.
  • Abas palīdz testētājiem atrast līdzsvaru starp visaptverošu testu pārklājumu, nerakstot pārmērīgu testu gadījumu skaitu.

 

2. Atšķirības

Lai izpētītu atšķirības starp ekvivalences sadalījumu un robežvērtību analīzi, mums ir jāaplūko katra no tām atsevišķi.

Ekvivalences sadalīšana

  • Sadala ievades datus ekvivalences klasēs, kuru rezultātā būtu jāsaņem līdzīgi sistēmas rezultāti.
  • Izmanto vienu reprezentatīvu vērtību no katras klases un testē sistēmu ar šo vērtību.
  • Tā attiecas uz derīgu un nederīgu ekvivalences klašu noteikšanu.

 

Robežvērtību analīze

  • pārbauda vērtības uz ekvivalences klašu robežām vai malām.
  • Testēt vairākas vērtības, tostarp minimālo un maksimālo vērtību, kā arī vērtības abās robežas pusēs.
  • Meklē kļūdas, kas atrodamas uz robežu malām.

 

Ekvivalences sadalījuma un robežvērtību analīzes piemēri

Lai palīdzētu nostiprināt izpratni par ekvivalences dalījumu un robežvērtību analīzi, šeit ir daži piemēri.

Ekvivalences sadalīšanas piemērs:

Pieņemsim, ka jums ir ievades lodziņš automobiļu reģistrācijai. Parasti ASV automašīnu reģistrācijas numura zīmēm ir no 6 līdz 7 rakstzīmēm. Vienkāršības labad mēs neņemsim vērā speciālās numura zīmes.

Derīgie dati = 6 vai 7 zīmes uz plāksnēm

Nederīgi dati = plāksnes ar >6 vai >7 rakstzīmēm.

 

Robežvērtību analīzes piemērs:

Izmantojot to pašu numura plāksnes piemēru kā iepriekš, robežanalīzē tiks pārbaudīts.

Derīgi dati = Plāksnes ar 6 vai 7 zīmēm

Nederīgi dati = Plāksnes ar 5 vai 8 rakstzīmēm un dažos scenārijos – ar 4 un 9 rakstzīmēm.

 

Robežvērtību analīzes piemērs

alfa testēšanas un rpa priekšrocības

Iespējams, ka vislabākais veids, kā pilnībā izprast šo jēdzienu, ir apskatīt vēl vienu vai divus robežvērtību analīzes piemērus.

 

Robežvērtību testēšanas piemērs Nr. 1

Lai detalizētāk izpētītu robežvērtību testēšanu, aplūkosim vecuma pārbaudes domēna piemēru.

Mums ir lodziņš, kurā lietotājs var ievadīt savu vecumu.

Robežvērtības ir:

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

  • Minimālais vecums = 18 gadi
  • Maksimālais vecums = 120 gadi

 

Robežpārbaudes gadījumu piemērs:

Kopumā ir seši testa gadījumi:

  • 17, 18 un 19, kas ir attiecīgi zem minimālā, minimālā un virs minimālā līmeņa.
  • 119, 18 un 19, kas ir attiecīgi zem maksimālās, maksimālās un virs maksimālās vērtības.

 

Robežvērtību testēšanas piemērs Nr. 2.

Nākamajā robežu testēšanas piemērā mēs izpētīsim vietni ar minimālās vērtības pirkuma atlaidi 20 % apmērā pasūtījumiem par 100 ASV dolāriem un vairāk.

Šajā piemērā, ja pirkuma summa pārsniedz 600 ASV dolāru, tiek piešķirta 25% atlaide. Robežvērtības tests attiecas uz ieguldījumiem no 100 līdz 600 ASV dolāriem.

Robežvērtības ir:

Minimālā atlaide = $100

Maksimālā atlaide = $600

 

Robežpārbaudes gadījumu piemērs:

Atkal mēs ģenerējam sešus testa gadījumus, kas ir:

  • 99,99 $, 100 $ un 100,01 $, kas ir attiecīgi zem minimālās, minimālās un virs minimālās summas.
  • 599,99 $, 600 $ un 600,01 $, kas ir attiecīgi zem maksimālās, maksimālās un virs maksimālās summas.

 

Vai programmatūras testēšanā robežpārbaudes ir precīzas?

alfa testēšana pret beta testēšanu

Pētnieciskajā darbā ” Black Box Testing with Equivalence Partitioning and Boundary Value Analysis Methods” (Melnās kastes testēšana ar ekvivalences sadalījuma un robežvērtību analīzes metodēm) autori pēta, kā izmantot ekvivalences sadalījumu un robežvērtību analīzi, lai testētu Mataramas universitātes (Indonēzija) akadēmisko informācijas sistēmu.

Autori testiem izmantoja populāro atvērtā koda testēšanas rīku Selenium un veica kopumā 322 testēšanas gadījumus. Ekvivalences testēšana un robežvērtību analīze atklāja aptuveni 80 neveiksmīgus gadījumus, kā rezultātā derīgo un nederīgo testa rezultātu attiecība bija aptuveni 75:25. Kopumā līdzvērtības sadalījuma un BVA kombinācijas izmantošana programmatūras testēšanā ļāva veikt rūpīgu un noderīgu programmatūras testēšanu.

 

Labākie robežvērtību testēšanas rīki

ZAPTEST RPA + testēšanas automatizācijas komplekts

Lai gan īpaši robežu testēšanas programmatūras rīki ir reti sastopami, ir daudz ievērojamu testēšanas rīku, kas spēj veikt šo darbu.

#3. TestCaseLab

TestCaseLab ir uz mākoņa balstīts testēšanas pārvaldības rīks, kas var palīdzēt BVA testēšanā. Programmatūra ļauj komandām izveidot un pārvaldīt testēšanas gadījumus, izmantojot intuitīvu un pievilcīgu lietotāja interfeisu. TestCaseLab ir elastīga un aprīkota ar daudzām funkcijām, taču tai ir arī ierobežojumi, tostarp ierobežotas pārskatu sniegšanas un pielāgošanas iespējas.

 

#2. Micro Focus UFT One

Micro Focus UFT One ir programmatūras testēšanas rīks, kas koncentrējas uz funkcionālo un regresijas testēšanu. Tā atbalsta dažādas platformas, ierīces un API testēšanu un piedāvā plašas integrācijas iespējas. Tā piedāvā gan uz kodiem, gan atslēgvārdiem balstītu testu izveidi un var palīdzēt komandām viegli izveidot robežvērtību analīzes testu gadījumus. Ir daži ierobežojumi, kas jāņem vērā, piemēram, stāvas mācīšanās līknes un jaudas trūkums, salīdzinot ar tādiem rīkiem kā ZAPTEST.

 

#1. ZAPTEST

Agile DevOps testēšanas automatizācija: Uz maketiem balstītas automatizācijas pieejas ZAPTEST skaidrojums

ZAPTEST ir visaptverošs programmatūras automatizācijas testēšanas rīks ar uzlabotām RPA iespējām. Tā ir radīta, lai nodrošinātu testētājiem lietotājam draudzīgu un spēcīgu testēšanas automatizācijas rīku kopumu, kas var palīdzēt pārbaudīt programmatūru dažādos veidos, tostarp ar BVA programmatūras testēšanā.

Daži no pārliecinošākajiem ZAPTEST lietojuma gadījumiem, kas palīdz veikt robežvērtību analīzi, ir testēšanas gadījumu ģenerēšana, testēšanas datu apstrāde, testēšanas izpilde, kā arī pārskatu sagatavošana un analīze. Izmantojot virkni veidņu un augstu pielāgošanas līmeni apvienojumā ar testēšanas gadījumu izveidi bez koda, ZAPTEST lietotāji var ātri un viegli izveidot un pārvaldīt stabilus testēšanas gadījumus visu veidu robežu analīzei.

Papildus testa gadījumu ģenerēšanai un pārvaldībai ZAPTEST RPA iespējas var palīdzēt testēšanas komandām robežvērtību analīzes testēšanā arī citos veidos. Piemēram, varat automatizēt testa gadījumu izpildi, ģenerēt testa datus un izveidot jaudīgu integrāciju ar citiem testēšanas rīkiem.

 

Padomi robežvērtību testēšanai

  • Apvienojiet robežvērtību analīzi ar ekvivalences sadalījumu, lai nodrošinātu, ka jūsu testa gadījumi aptver dažādus ievades scenārijus.
  • Izmantojiet nederīgus ievades scenārijus (t. i., negatīvu testēšanu), lai pārliecinātos, kā programmatūra apstrādā kļūdas un negaidītas ievades.
  • Ieguldiet laiku, lai noteiktu robežvērtības dažādiem datu tipiem, piemēram, tekstam, skaitļiem, logaritmiskiem u.c.
  • Kritisko funkciju vai jomu, kurās ir lielāka kļūdu iespējamība, robežvērtību testēšanas prioritāte.
  • Izmantojiet reālistiskus datus, kas atspoguļo to, kādus datus lietotāji ievadīs jūsu domēnos.

 

Nobeiguma domas

Robežvērtību analīze ir noderīga funkcionālās testēšanas metode. Ja ir ievades domēns, ir jāpārbauda, vai tas pieņem derīgus datus un sūta kļūdas ziņojumus, ja tiek saņemti nederīgi dati. Robežanalīzes testēšana palīdz efektīvi pārbaudīt šo funkcionalitāti, izveidojot tikai tos testēšanas gadījumus, kas nepieciešami visaptverošai testēšanai.

Robežpārbaude aplūko vērtības, kas atrodas pieņemamā diapazonā vai tā tuvumā, un pārbauda, kā sistēma reaģē uz šiem ievades datiem. Rezultāts ir daudz ietaupīta laika un samazināta piepūle, jo jums nav jāveido lieki testēšanas gadījumi. Strauji mainīgajā programmatūras izstrādes pasaulē, kur termiņi šķiet strauji un ātri, testēšanas komandām ir nepieciešama visa iespējamā palīdzība.

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