Ribinių verčių analizė – paprastai sutrumpintai vadinama BVA – yra įprastas juodosios dėžės testavimo metodas. Taikant šį metodą programinės įrangos defektai tikrinami tikrinant įvesties vertes leistinų intervalų ribose.
Šiame straipsnyje bus nagrinėjama, kas yra ribų analizės testavimas, kodėl jis yra naudingas, taip pat analizuojami įvairūs metodai, technikos ir įvairios ribų testavimo priemonės.
Kas yra ribinių verčių analizė programinės įrangos testavime?
Ribinių verčių analizė yra funkcinio testavimo rūšis. Tokio tipo bandymų metu tikrinama, ar kiekviena programinės įrangos funkcija atitinka reikalavimus ir specifikacijas. Ribinio testavimo atveju ši funkcija apima tai, kaip programinė įranga elgiasi su įvairiais įvesties duomenimis.
BVA yra programinės įrangos testavimo metodas, kuriuo patvirtinama, kaip programinė įranga reaguos į įvestis ties įvesties ribomis arba aplink jas. Iš esmės kiekvienas įvesties kodas turi leistinus intervalus. Pavyzdžiui, galite turėti prisijungimo slaptažodžio lauką, kuriame galima naudoti 8-12 simbolių slaptažodžius. Ribinio testavimo metu bus tikrinami slaptažodžiai, kurių simbolių ilgis yra 7, 8, 12 ir 13 simbolių.
Šiuo atveju manoma, kad ribų ribose, t. y. 7, 8, 12 ir 13, yra didesnė tikimybė, kad bus išmestos klaidos, nei skaičių, esančių ribų viduje, pavyzdžiui, 9, 10 ir 11. Nors nauda gali atrodyti nereikšminga, kai pateikiame pavyzdį, kuriame laukas priima nuo 8 iki 12 simbolių, ji tampa akivaizdesnė, kai reikia rašyti bandymų atvejus laukams, kuriuose priimami nuo 1 iki 20 simbolių arba skaičiai nuo 1 iki 1000 ir t. t.
Taigi, siekiant sutaupyti laiko ir sumažinti funkcinio testavimo testų atvejų skaičių, ribinių verčių analizėje analizuojamos vertės:
- Mažiausia vertė
- Tiesiai po mažiausia verte
- Didžiausia vertė
- Tiesiai virš didžiausios vertės
Ribinių verčių analizės nauda atliekant bandymus
QA komandoms ribinis testavimas turi keletą įtikinamų privalumų.
#1. Geresnė programinės įrangos kokybė
Košmariškas scenarijus testuotojams – nepastebėtos klaidos ir defektai. Kai reikia patikrinti tiek daug dalykų, kai kurie defektai gali likti nepastebėti. Atliekant ribinius bandymus įrodomas programinės įrangos sričių, kuriose greičiausiai yra klaidų, funkcionalumas, todėl programinė įranga kuriama geriau ir galiausiai sukuriama patikimesnė ir stabilesnė programa.
#2. Didesnė testų aprėptis
BVA programinei įrangai testuoti yra labai naudinga, nes padeda sumažinti testavimo atvejų, reikalingų išsamiam testo aprėpimui, skaičių. Ribinių verčių analizė užtikrina, kad svarbios reikšmės ir kiekviena reikšmė gali būti kruopščiau patikrinta.
#3. Ankstyvas defektų nustatymas
Ribinių verčių testavimas yra dalis metodo, pagal kurį pirmenybė teikiama ankstyvam defektų nustatymui. Išaiškinus klaidas ankstyvuoju etapu, kūrimo komandos gali sutaupyti laiko ir pinigų, net nekalbant apie tai, kad klaidas daug lengviau ištaisyti ankstyvuoju kūrimo etapu.
#4. Efektyvumas
Ribinių verčių testavimas yra labai efektyvus, nes sumažina daugybės testavimo atvejų poreikį. Iš tiesų, sumažinus įvesties duomenų kiekį iki visų, išskyrus labiausiai tikėtinas problemas, galima gerokai sutaupyti testavimo komandų laiko tiek rašant, tiek vykdant testavimo atvejus.
Ribinių verčių analizės trūkumai atliekant bandymus
Žinoma, nė vienas programinės įrangos testavimo metodas nėra tobulas ar be apribojimų. Nors ribinių verčių analizė turi daug privalumų, yra tam tikrų apribojimų, susijusių su šiuo funkcinio testavimo metodu.
#1. Siaura taikymo sritis
BVA veikia galiojančių duomenų įvesties ribose arba kraštuose. Apskritai, jis ignoruoja vidurinius įėjimus, manydamas, kad jie bus tinkami, jei galiojantys įėjimai kraštuose yra tinkami. Tačiau ne be precedento kai kurios iš šių nepatikrintų verčių gali kelti problemų.
#2. Pernelyg supaprastintas
Ribinės analizės tikslas – viską supaprastinti. Nors šis metodas tinka bandymų atvejams mažinti, jis mažiau tinka labai sudėtingoms sritims, kuriose yra daug ribų, sąveikų ar priklausomybių. Iš tiesų, jis gali sunkiai susidoroti su sudėtingais scenarijais, todėl norint tinkamai aprėpti situaciją, reikia ieškoti kitų metodų.
#3. Prielaidos
Bet koks procesas, kuriuo bandoma padidinti efektyvumą, gali nepastebėti tam tikrų klaidų. BVA daugiausia dėmesio skiria riboms ties arealo riba. Tai darydama ji turi daryti prielaidas apie kitus įvesties duomenis, kurie yra abiejose ribinių verčių pusėse. Testuotojai turi rasti pusiausvyrą tarp veiksmingumo ir aprėpties, o tai kelia nedidelę riziką, jei naudojamas tik ribinis testavimas.
#4. Pasitikėjimas tiksliomis specifikacijomis ir reikalavimais
Veiksminga BVA priklauso nuo specifikacijų ir reikalavimų dokumentų kokybės ir tikslumo. Bet kokios nepatikrintos klaidos šiuose dokumentuose gali būti įtrauktos į ribinių verčių bandymus ir lemti tai, kad konkrečios klaidos gali būti nepatikrintos ir neaptiktos iki kritinių vėlyvųjų kūrimo etapų.
#5. Priklausomybė nuo lygiavertiškumo klasių
Norint išsamiai atlikti BVA, reikia gerai išmanyti lygiavertiškumo klases. Norint tiksliai nustatyti šias klases, reikia patirties ir tam tikros informacijos apie programą.
Ribinių verčių analizės iššūkiai
programinės įrangos testavimo srityje
Dabar jau turėtumėte aiškiai žinoti, kokie yra ribinio testavimo privalumai ir trūkumai. Tačiau jei norite šį metodą įdiegti į savo programinės įrangos testavimą, taip pat turite žinoti apie įvairius iššūkius, kuriuos turite įveikti.
Štai keletas iššūkių, su kuriais susiduriama įgyvendinant ribinės vertės testavimą programinės įrangos testavimo srityje.
#1. Apibrėžti ribas
Nustatyti ribas paprastose sistemose kompetentingiems testuotojams nekelia didelių sunkumų. Tačiau būna ir sudėtingesnių situacijų, pvz:
- Sudėtingos įvesties sritys su įvairiais įvesties kintamaisiais arba sudėtingais ryšiais
- Nedokumentuotos ribos, kurios nebuvo aiškiai apibrėžtos specifikacijos dokumentuose.
- Dinaminės ribos, kurios keičiasi priklausomai nuo naudotojo veiksmų ar kitų sąlygų.
#2. Dviprasmiški reikalavimai
Blogai parašyti arba neaiškūs reikalavimų dokumentai gali trukdyti nustatyti ribines vertes. Aiškumas, išsamumas ir įsipareigojimas parengti išsamius specifikacijų dokumentus reikalauja laiko, tačiau galiausiai jie atsiperka.
#3. Ekspertizė
Ribinių verčių analizė gali būti apgaulingai sudėtinga. Iš tiesų bandymų komandoms reikia darbuotojų, turinčių patirties ir žinių šioje srityje, kad suprastų subtilius technikos niuansus. Be to, bandytojai turi turėti tam tikrų žinių apie programinę įrangą arba bent jau turėti patikimus specifikacijos dokumentus, kuriais galėtų remtis.
#4. Klaidos
Ribinės analizės tikslas – sumažinti bandymų atvejų, reikalingų galiojančioms ir negaliojančioms įvestims patikrinti, skaičių. Tačiau defektai, kurie nepatenka į bandymų intervalą, gali likti nepastebėti. Be to, klaidos „nuo vieneto iki vieneto” yra įprastos kodavimo klaidos, kurios gali atsirasti ties ribomis arba netoli jų. Testuotojai turi žinoti apie šiuos scenarijus ir numatyti testavimo priemones.
#5. Bandymo atvejo sprogimas
Esant kelioms įvesties riboms, bandymų atvejai greitai gali tapti sudėtingi ir nekontroliuojami. Tokiais atvejais prarandamas laikas ir pinigai, kuriuos galima sutaupyti atliekant ribinius bandymus, ir tai mažina sprendimo naudą. Panašų poveikį gali turėti ir sudėtinga programinė įranga su daugybe kombinacijų ar permutacijų.
#6. Analizės priemonės apribojimai
Programinės įrangos testavimo automatizavimo įrankiai gali padėti komandoms atlikti tinkamą ribinės vertės analizę. Tačiau net ir geriausiais atvejais šioms priemonėms reikia tam tikro rankinio įsikišimo atliekant bandymus ir kuriant testus. Ši situacija gali dar labiau pablogėti, jei tai yra sudėtingos konstrukcijos su daugybe kintamųjų sąveikų.
Skirtingi ribinės vertės tipai
programinės įrangos testavimas
Knygoje ” Programinės įrangos testavimas: Jorgensenas ir Byronas DeVriesas aprašo keturis skirtingus ribinės vertės testavimo tipus :
1. Normaliųjų ribinių verčių testavimas (NBVT)
- Testuoja galiojančias įvesties vertes įvesties srities kraštuose
- tiria mažiausias ir didžiausias vertes kartu su įvestimis, esančiomis aukščiau ir žemiau ribos.
- Tai klasikinis ribinių verčių analizės tipas
2. Patikimas ribinių verčių testavimas (RBVT)
- Panašiai kaip NBVT, bet taip pat apima ir negaliojančius įvesties duomenis.
- Testuoja ties ribomis ir už jų, bet taip pat atsižvelgia į neteisingus įvesties duomenis.
- Daugiausia dėmesio skiriama klaidoms, atsirandančioms dėl ekstremalių ar netikėtų rezultatų, nustatyti.
3. Blogiausio atvejo ribinių verčių testavimas (WBVT)
- Tikrina programinės įrangos elgesį, naudodamas itin dideles galiojančias ir negaliojančias vertes.
- Tiria įvesties sričių ribas ir už šių ribų esančias vertes.
- Siekiama suprasti programinės įrangos elgseną ekstremalesnėmis sąlygomis
4. Patikimas blogiausio atvejo ribinės vertės testavimas (RWBVT)
- Naudojamas RBVT ir WBVT derinys, kad būtų atliktas išsamiausias ribinių verčių testavimas.
- Testuoja galiojančias ir negaliojančias įvesties vertes ties tipinėmis ir kraštutinėmis ribomis.
- Suteikia geriausią galimybę rasti su ribomis susijusių defektų
Šie metodai skiriasi išsamumu, o RWBVT yra išsamiausias. Tačiau testuotojai turi pripažinti, kad norint pasiekti šį papildomą defektų aptikimo lygį reikia papildomų laiko ir pastangų.
Ekvivalentiškumo skirstymas ir ribinė vertė
analizė: panašumai ir skirtumai
Ekvivalentiškumo skirstinys ir kraštinių verčių analizė dažnai naudojami kartu. Iš tiesų šie du metodai labai papildo vienas kitą. Tačiau juose aprašyti skirtingi duomenų įvesties patvirtinimo būdai. Apžvelgiame jų panašumus ir skirtumus.
1. Panašumai
Ekvivalentiškumo skirstinys ir ribinių verčių analizė sudaro puikią porą. Štai keletas abiejų metodų panašumų.
- Abu šie metodai yra juodosios dėžės testavimo metodai, t. y. daugiausia dėmesio skiriama įvestims ir išvestims, kurias galima testuoti iš anksto nežinant programos išeities kodo.
- Jie abu yra kruopštaus požiūrio į įvesties testavimą dalis.
- Jie abu padeda testuotojams rasti pusiausvyrą tarp išsamios testų aprėpties ir pernelyg didelio testavimo atvejų skaičiaus nerašymo.
2. Skirtumai
Norėdami ištirti lygiavertiškumo skirstinio ir kraštinių verčių analizės skirtumus, turime nagrinėti kiekvieną iš jų atskirai.
Ekvivalentiškumo skirstymas
- skirsto įvesties duomenis į lygiavertiškumo klases, kurių rezultatai turėtų būti panašūs.
- Naudojama viena tipinė kiekvienos klasės vertė ir sistema testuojama su šia verte.
- Jis susijęs su galiojančių ir negaliojančių lygiavertiškumo klasių nustatymu
Ribinių verčių analizė
- Tikrinamos reikšmės ties lygiavertiškumo klasių ribomis arba kraštais
- Testuoti kelias reikšmes, įskaitant mažiausią, didžiausią ir abiejose ribos pusėse esančias reikšmes.
- Ieško klaidų, esančių ant ribų krašto
Ekvivalentiškumo skirstymo ir kraštinių verčių analizės pavyzdžiai
Kad geriau suprastumėte lygiavertiškumo skirstinį ir kraštinių verčių analizę, pateikiame keletą pavyzdžių.
Ekvivalentiškumo skaidymo pavyzdys:
Tarkime, turite automobilių registracijos įvesties lauką. Paprastai JAV automobilių registracijos numeriuose yra nuo 6 iki 7 simbolių. Kad būtų paprasčiau, neįtrauksime specialiųjų numerio ženklų.
Galiojantys duomenys = plokštelės 6 arba 7 ženklai
Netinkami duomenys = plokštelės, kuriose yra >6 arba >7 ženklai.
Ribinių verčių analizės pavyzdys:
Naudojant tą patį numerio ženklo pavyzdį, kaip ir pirmiau, atliekant ribų analizę bus tikrinama
Galiojantys duomenys = plokštelės su 6 arba 7 ženklais
Netinkami duomenys = plokštelės su 5 arba 8 ženklais, o kai kuriais atvejais – su 4 ir 9 ženklais.
Ribinių verčių analizės pavyzdys
Galbūt geriausias būdas visiškai suprasti šią sąvoką – pažvelgti į dar vieną ar du ribinių verčių analizės pavyzdžius.
Ribinės vertės testavimo pavyzdys Nr. 1
Norėdami išsamiau išnagrinėti ribinių verčių testavimą, panagrinėkime amžiaus tikrinimo srities pavyzdį.
Turime langelį, kuriame naudotojas gali įvesti savo amžių.
Ribinės vertės yra:
- Minimalus amžius = 18 metų
- Maksimalus amžius = 120 metų
Ribinių bandymų atvejų pavyzdys:
Iš viso yra šeši bandymų atvejai:
- 17, 18 ir 19, kurie atitinkamai yra mažesni už minimumą, minimalūs ir didesni už minimumą
- 119, 18 ir 19, kurios yra atitinkamai mažesnės už didžiausią, didžiausios ir didesnės už didžiausią.
Ribinių verčių testavimo pavyzdys Nr. 2.
Kitame ribinio testavimo pavyzdyje nagrinėsime svetainę, kurioje taikoma 20 % nuolaida minimalios vertės pirkiniams, kai užsakoma 100 USD ir daugiau.
Šiame pavyzdyje perkant už daugiau nei 600 USD taikoma 25 % nuolaida. Ribinės vertės testas bus taikomas įvesties duomenims nuo 100 iki 600 JAV dolerių.
Ribinės vertės yra:
Minimali nuolaida = 100 USD
Didžiausia galima nuolaida = 600 USD
Ribinių bandymų atvejų pavyzdys:
Vėlgi, iš viso sukuriame šešis testavimo atvejus, kurie yra šie:
- 99,99 $, 100 $ ir 100,01 $, t. y. atitinkamai mažiau nei minimalus, minimalus ir didesnis nei minimalus.
- 599,99 USD, 600 USD ir 600,01 USD, t. y. atitinkamai mažiau nei maksimali, maksimali ir didesnė už maksimalią sumą.
Ar programinės įrangos testavimo ribinis testavimas yra tikslus?
Moksliniame straipsnyje ” Juodosios dėžės testavimas taikant lygiavertiškumo skaidymo ir ribinių verčių analizės metodus” autoriai nagrinėja lygiavertiškumo skaidymo ir ribinių verčių analizės taikymą Indonezijos Mataramo universiteto akademinei informacinei sistemai testuoti.
Testams atlikti autoriai naudojo populiarią atvirojo kodo testavimo priemonę „Selenium” ir iš viso atliko 322 testavimo atvejus. Atlikus lygiavertiškumo testavimą ir ribinių verčių analizę buvo nustatyta apie 80 nesėkmingų atvejų, todėl galiojančių ir negaliojančių testo rezultatų santykis buvo maždaug 75:25. Apskritai lygiavertiškumo skirstymo ir BVA derinio naudojimas programinės įrangos testavime leido atlikti išsamų ir naudingą programinės įrangos testavimą.
Geriausi ribinės vertės testavimo įrankiai
Nors specialios ribinio testavimo programinės įrangos priemonės yra retos, yra daugybė žinomų testavimo įrankių, galinčių atlikti šį darbą.
#3. TestCaseLab
„TestCaseLab” – tai debesų kompiuterijos pagrindu veikianti bandymų valdymo priemonė, kuri gali padėti atlikti BVA bandymus. Programinė įranga leidžia komandoms kurti ir valdyti bandymų atvejus naudojant intuityvią ir patraukliai atrodančią vartotojo sąsają. „TestCaseLab” yra lanksti ir turinti daug funkcijų, tačiau ji turi savo apribojimų, įskaitant ribotas ataskaitų teikimo ir pritaikymo parinktis.
#2. „Micro Focus UFT One
„Micro Focus UFT One” yra programinės įrangos testavimo įrankis, skirtas funkciniam ir regresijos testavimui. Ji palaiko įvairias platformas, įrenginius ir API testavimą bei siūlo plačias integracijos galimybes. Ji leidžia kurti testus be kodo ir pagal raktinius žodžius ir gali padėti komandoms lengvai kurti ribinės vertės analizės testų atvejus. Reikia atsižvelgti į tam tikrus apribojimus, pavyzdžiui, staigų mokymąsi ir nepakankamą galią, palyginti su tokiais įrankiais kaip ZAPTEST.
#1. ZAPTEST
ZAPTEST – tai visapusiškas programinės įrangos automatizavimo testavimo įrankis su išplėstinėmis RPA galimybėmis. Ji sukurta siekiant suteikti testuotojams patogų ir patikimą testavimo automatizavimo įrankių rinkinį, kuris gali padėti patikrinti programinę įrangą įvairiais būdais, įskaitant BVA programinės įrangos testavimą.
Kai kurie iš labiausiai įtikinamų ZAPTEST naudojimo atvejų, padedančių atlikti ribinės vertės analizę, yra šie: testavimo atvejų generavimas, testavimo duomenų tvarkymas, testų vykdymas, ataskaitų teikimas ir analizė. Naudodami įvairius šablonus ir aukšto lygio pritaikymo galimybes, kartu su testavimo atvejų kūrimu be kodo, ZAPTEST naudotojai gali greitai ir lengvai kurti ir valdyti patikimus testavimo atvejus, skirtus visų tipų ribinei analizei.
Be testavimo atvejų kūrimo ir valdymo, ZAPTEST RPA galimybės gali padėti testavimo komandoms atlikti ribinės vertės analizės testavimą kitais būdais. Pavyzdžiui, galite automatizuoti testavimo atvejų vykdymą, generuoti testavimo duomenis ir kurti galingas integracijas su kitais testavimo įrankiais.
Ribinių verčių testavimo patarimai
- Derinkite ribinių verčių analizę su lygiavertiškumo skirstymu, kad užtikrintumėte, jog jūsų bandymų atvejai apimtų įvairius įvesties scenarijus.
- Naudokite neteisingus įvesties scenarijus (t. y. neigiamą testavimą), kad patikrintumėte, kaip programinė įranga elgiasi su klaidomis ir netikėtomis įvestimis.
- Skirkite laiko įvairių duomenų tipų, pvz., teksto, skaičių, loginių reikšmių ir kt., ribinėms vertėms nustatyti.
- Pirmenybę teikite kritinių funkcijų arba sričių, kuriose yra didesnė klaidų tikimybė, ribinės vertės bandymams.
- Naudokite tikroviškus duomenis, kurie atspindi tokius duomenis, kokius į jūsų domenus įves jūsų naudotojai.
Galutinės mintys
Ribinių verčių analizė yra naudingas funkcinio testavimo metodas. Kai turite įvesties domeną, reikia patikrinti, ar ji priima galiojančius duomenis ir siunčia klaidų pranešimus, kai gauna negaliojančius duomenis. Ribinės analizės testavimas padeda efektyviai patikrinti šią funkciją, nes sukuriami tik išsamiam testavimui reikalingi testavimo atvejai.
Atliekant ribinį testavimą tikrinamos vertės, esančios leistiname diapazone arba aplink jį, ir tikrinama, kaip sistema reaguoja į šias įvestis. Taip sutaupoma daug laiko ir sumažinama pastangų, nes nebereikia kurti nereikalingų testavimo atvejų. Sparčiai besikeičiančiame programinės įrangos kūrimo pasaulyje, kuriame terminai, atrodo, greitai ir greitai sueina, testavimo komandoms reikia visokeriopos pagalbos.