fbpx

Raja-arvoanalyysi – yleensä lyhennettynä BVA – on yleinen mustan laatikon testaustekniikka. Lähestymistavassa testataan ohjelmistovirheitä tarkistamalla syöttöarvot sallittujen vaihteluvälien rajoilla.

Tässä artikkelissa selvitetään, mitä raja-analyysin testaus on, miksi se on hyödyllistä ja tutkitaan erilaisia lähestymistapoja, tekniikoita ja erilaisia raja-analyysin testaustyökaluja.

 

Mitä on raja-arvoanalyysi ohjelmistotestauksessa?

Staattinen testaus ohjelmistotestauksessa - Mitä se on, tyypit, prosessi, lähestymistavat, työkalut ja paljon muuta!

Raja-arvoanalyysi on eräänlainen toiminnallinen testaus. Tämäntyyppisessä testauksessa tarkistetaan, että kukin ohjelmiston toiminto täyttää vaatimukset ja eritelmät. Rajatestauksessa tähän toiminnallisuuteen kuuluu se, miten ohjelmisto käsittelee erilaisia syötteitä.

BVA on ohjelmistotestausmenetelmä, jolla validoidaan, miten ohjelmisto reagoi syötteisiin syötteiden rajoilla tai niiden läheisyydessä. Kullakin syötteellä on sallitut vaihteluvälit. Sinulla voi esimerkiksi olla kirjautumista varten salasanaruutu, joka hyväksyy 8-12 merkin salasanoja. Rajatestaus testaa salasanoja, joiden merkkien pituudet ovat 7, 8, 12 ja 13.

Ajatuksena on, että rajojen rajoilla, eli luvuilla 7, 8, 12 ja 13, tapahtuu todennäköisemmin virheitä kuin rajojen sisäpuolella olevilla luvuilla, kuten 9, 10 ja 11. Vaikka hyöty saattaa tuntua vähäiseltä esimerkissä kenttäruudusta, joka hyväksyy 8-12 merkkiä, se käy ilmeisemmäksi, kun sinun on kirjoitettava testitapauksia kenttäruuduille, jotka ottavat vastaan 1-20 merkkiä tai numeroita 1-1000 ja niin edelleen.

Ajan säästämiseksi ja testitapausten määrän vähentämiseksi toiminnallisessa testauksessa raja-arvoanalyysissä tarkastellaan arvoja:

  • Vähimmäisarvolla
  • Suoraan vähimmäisarvon alapuolella
  • Enimmäisarvolla
  • Suoraan enimmäisarvon yläpuolella

 

Raja-arvoanalyysin hyödyt testauksessa

QA-testaaminen - Mitä se on, tyypit, prosessit, lähestymistavat, työkalut ja paljon muuta!

Rajatestauksella on useita pakottavia etuja laadunvarmistustiimeille.

#1. Parempi ohjelmistojen laatu

Testaajien painajaismainen skenaario on virheet ja puutteet, jotka jäävät huomaamatta. Koska tarkistettavia asioita on niin paljon, jotkin viat voivat jäädä huomaamatta. Rajojen testauksella osoitetaan sellaisten ohjelmiston osien toimivuus, jotka todennäköisemmin sisältävät virheitä, mikä johtaa parempaan ohjelmistokehitykseen ja lopulta luotettavampaan ja vakaampaan sovellukseen.

#2. Lisääntynyt testien kattavuus

BVA on niin hyödyllinen ohjelmistotestauksessa, koska se auttaa vähentämään kattavan testikattavuuden edellyttämien testitapausten määrää. Raja-arvoanalyysillä varmistetaan, että tärkeät arvot ja jokainen arvo voidaan testata perusteellisemmin.

#3. Varhainen vikojen havaitseminen

Raja-arvotestaus on osa lähestymistapaa, jossa priorisoidaan virheiden varhaista havaitsemista. Vikojen havaitseminen varhaisessa vaiheessa tarkoittaa, että kehitystiimit voivat säästää aikaa ja rahaa puhumattakaan siitä, että virheiden korjaaminen on paljon helpompaa kehityksen alkuvaiheessa.

#4. Tehokkuus

Raja-arvotestaus on erittäin tehokasta, koska se vähentää vaatimusta monista testitapauksista. Kun syötteitä vähennetään vain kaikkein todennäköisimmin ongelmia aiheuttaviin tekijöihin, testaustiimit säästävät huomattavasti aikaa sekä testitapausten kirjoittamiseen että niiden suorittamiseen.

 

Raja-arvoanalyysin haitat testauksessa

Erilaiset ohjelmisto- ja laadunvarmistusmenetelmät

Mikään ohjelmistotestausmenetelmä ei tietenkään ole täydellinen tai rajoittamaton. Vaikka raja-arvoanalyysillä on monia etuja, tämän toiminnallisen testaustekniikan käyttöön liittyy joitakin rajoituksia.

#1. Suppea soveltamisala

BVA toimii kelvollisten syötettyjen tietojen rajoilla tai reunoilla. Yleensä se jättää huomiotta keskimmäiset tulot päättelemällä, että ne ovat kunnossa, jos reunoilla olevat kelvolliset tulot ovat kunnossa. On kuitenkin mahdollista, että joihinkin testaamattomiin arvoihin liittyy ongelmia.

#2. Liian yksinkertaistettu

Raja-analyysissä on kyse asioiden yksinkertaistamisesta. Vaikka tämä toimii testitapausten vähentämiseksi, lähestymistapa ei sovellu yhtä hyvin erittäin monimutkaisiin alueisiin, joissa on useita rajoja, vuorovaikutusta tai riippuvuuksia. Se ei välttämättä pysty käsittelemään monimutkaisia skenaarioita, joten sinun on tutkittava muita tekniikoita riittävän kattavuuden saavuttamiseksi.

#3. Oletukset

Kaikissa prosesseissa, joilla pyritään lisäämään tehokkuutta, on vaarana, että tietyt virheet jäävät huomiotta. BVA:ssa keskitytään rajoihin alueen reunoilla. Näin tehdessään sen on tehtävä oletuksia muista panoksista, jotka ovat raja-arvojen molemmin puolin. Testaajien on löydettävä tasapaino tehokkuuden ja kattavuuden välillä, mikä aiheuttaa pienen riskin, jos käytetään vain rajatestausta.

#4. Luotetaan tarkkoihin eritelmiin ja vaatimuksiin

Tehokas BVA on riippuvainen eritelmien ja vaatimusasiakirjojen laadusta ja tarkkuudesta. Kaikki näissä asiakirjoissa olevat tarkistamattomat virheet voivat siirtyä raja-arvotestaukseen ja johtaa siihen, että tiettyjä virheitä ei tarkisteta eikä havaita, ennen kuin kehityksen kriittisessä loppuvaiheessa.

#5. Ekvivalenssiluokkiin tukeutuminen

Perusteellisen BVA:n suorittaminen edellyttää vahvaa ekvivalenssiluokkien tuntemusta. Näiden luokkien tarkka asettaminen vaatii kokemusta ja jonkin verran taustatietoa sovelluksesta.

 

Raja-arvoanalyysin haasteet

ohjelmistotestauksessa

challenges-load-testing

Tähän mennessä sinun pitäisi olla melko selvillä rajatestauksen eduista ja haitoista. Jos kuitenkin haluat ottaa lähestymistavan käyttöön omassa ohjelmistotestauksessasi, sinun on oltava tietoinen erilaisista haasteista, jotka sinun on voitettava.

Seuraavassa on lueteltu joitakin haasteita, jotka liittyvät raja-arvotestauksen toteuttamiseen ohjelmistotestauksessa.

 

#1. Rajojen hahmottaminen

Rajojen tunnistaminen yksinkertaisissa järjestelmissä ei aiheuta suuria haasteita päteville testaajille. On kuitenkin olemassa monimutkaisempia tilanteita, kuten:

  • Monimutkaiset syöttöalueet, joissa on erilaisia syöttömuuttujia tai monimutkaisia suhteita.
  • Dokumentoimattomat rajat, joita ei ole selkeästi esitetty eritelmäasiakirjoissa.
  • Dynaamiset rajat, jotka muuttuvat käyttäjän toimien tai muiden olosuhteiden perusteella.

 

#2. Epäselvät vaatimukset

Huonosti kirjoitetut tai epäselvät vaatimusasiakirjat voivat vaikeuttaa raja-arvojen tunnistamista. Selkeys, täydellisyys ja sitoutuminen kattaviin eritelmäasiakirjoihin vievät aikaa, mutta ne maksavat lopulta itsensä takaisin.

 

#3. Asiantuntemus

Raja-arvoanalyysi voi olla petollisen monimutkainen. Testausryhmät tarvitsevat henkilöstöä, jolla on kokemusta ja alan tuntemusta, jotta he ymmärtäisivät tekniikan hienovaraiset vivahteet. Lisäksi testaajilla on oltava jonkin verran tietämystä ohjelmistosta tai ainakin luotettavia määrittelydokumentteja, joihin he voivat tukeutua.

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

#4. Virheet

Rajausanalyysillä pyritään vähentämään kelvollisten ja virheellisten syötteiden todentamiseen tarvittavien testitapausten määrää. Testausalueen ulkopuolella olevat viat voivat kuitenkin helposti jäädä huomaamatta. Lisäksi ”off-by-one”-virheet ovat yleisiä koodausvirheitä, joita voi esiintyä rajoilla tai niiden läheisyydessä. Testaajien on tiedostettava nämä skenaariot ja varauduttava testaukseen.

 

#5. Testitapauksen räjähdys

Kun käytössä on useita tulorajoja, testitapaukset voivat nopeasti muuttua monimutkaisiksi ja kasvaa hallitsemattomasti. Näissä tilanteissa rajatestauksen avulla säästetty aika ja raha menetetään, mikä heikentää ratkaisun hyötyjä. Monimutkaisilla ohjelmistorakennelmilla, joissa on paljon yhdistelmiä tai permutaatioita, voi olla samanlainen vaikutus.

 

#6. Analyysivälineen rajoitukset

Ohjelmistotestauksen automatisointityökalut voivat auttaa tiimejä suorittamaan riittävän raja-arvoanalyysin. Parhaimmissakin tapauksissa nämä työkalut vaativat kuitenkin jonkin verran manuaalista toimintaa sekä testausta että testien luomista varten. Tilanne voi pahentua monimutkaisissa rakennelmissa, joissa on useita muuttujien vuorovaikutuksia.

 

Erilaiset raja-arvotyypit

testaus ohjelmistotestauksessa

tarkistusluettelo ohjelmistotestausprosesseista

Kirjassa Software Testing: A Craftsman’s Approach, kirjoittajat Paul C. Jorgensen ja Byron DeVries kuvaavat neljä erilaista raja-arvotestauksen tyyppiä, jotka ovat seuraavat: – Ohjelmistotestaus on mahdollista tehdä vain, jos se on mahdollista:

 

1. Normaali raja-arvotestaus (NBVT)

  • Testaa kelvollisia syöttöarvoja syöttöalueen reunoilla.
  • Tutkii minimi- ja maksimiarvot sekä syötteet juuri rajan ylä- ja alapuolella olevien syötteiden ohella.
  • Tämä on klassinen raja-arvoanalyysi.

 

2. Robusti raja-arvotestaus (RBVT)

  • Samanlainen kuin edellä NBVT, mutta sisältää myös virheelliset syötteet.
  • Testaa rajoilla ja niiden ulkopuolella, mutta ottaa huomioon myös virheelliset syötteet.
  • Keskittyy löytämään virheitä äärimmäisistä tai odottamattomista tuotoksista.

 

3. Huonoimman tapauksen raja-arvotestaus (WBVT)

  • Tarkistaa ohjelmiston käyttäytymisen käyttämällä äärimmäisen kelvollisia ja epäkelvollisia arvoja.
  • Tutkii arvoja syöttöalueiden reunoilla ja näiden rajojen ulkopuolella.
  • Pyritään ymmärtämään ohjelmistojen käyttäytymistä äärimmäisissä olosuhteissa.

 

4. Vankka pahimman tapauksen raja-arvotestaus (RWBVT)

  • Käyttää RBVT:n ja WBVT:n yhdistelmää perusteellisimpaan raja-arvojen testaukseen.
  • Testaa kelvollisia ja virheellisiä syöttöarvoja sekä tyypillisillä että äärimmäisillä rajoilla.
  • Tarjoaa parhaan mahdollisuuden löytää rajoihin liittyviä vikoja.

 

Nämä lähestymistavat eroavat toisistaan kattavuudeltaan, ja RWBVT on perusteellisin. Testaajien on kuitenkin tiedostettava, että tämän lisätason vikojen löytäminen vaatii ylimääräistä aikaa ja vaivaa.

 

Ekvivalenssijako ja reuna-arvo

analyysi: yhtäläisyydet ja erot

ohjelmistojen testausautomaation sekaannusten selvittäminen

Ekvivalenssiosiointia ja raja-arvoanalyysiä käytetään usein yhdessä. Nämä kaksi tekniikkaa täydentävät toisiaan hyvin. Niissä kuvataan kuitenkin erilaisia lähestymistapoja syötettyjen tietojen validointiin. Seuraavassa tarkastellaan näiden kahden välisiä yhtäläisyyksiä ja eroja.

 

1. Samankaltaisuudet

Ekvivalenssijako ja raja-arvoanalyysi ovat loistava pari. Seuraavassa on joitakin yhtäläisyyksiä molempien tekniikoiden välillä.

  • Molemmat ovat mustan laatikon testaustekniikoita, eli niissä keskitytään syötteisiin ja tulosteisiin, jotka voidaan testata tuntematta etukäteen sovelluksen lähdekoodia.
  • Molemmat ovat osa perusteellista lähestymistapaa testaukseen.
  • Molemmat auttavat testaajia löytämään tasapainon kattavan testin kattavuuden välillä kirjoittamatta liikaa testitapauksia.

 

2. Erot

Jotta voisimme tutkia ekvivalenssiosioinnin ja raja-arvoanalyysin eroja, meidän on tarkasteltava kumpaakin erikseen.

Ekvivalenssijako

  • Jakaa syöttötiedot vastaavuusluokkiin, joiden pitäisi johtaa samankaltaisiin järjestelmän tuotoksiin.
  • Käytetään yhtä edustavaa arvoa kustakin luokasta ja testataan järjestelmä tällä arvolla.
  • Se koskee kelvollisten ja epäkelvollisten vastaavuusluokkien tunnistamista.

 

Raja-arvoanalyysi

  • Testaa arvot ekvivalenssiluokkien rajoilla tai reunoilla.
  • Testaa useita arvoja, mukaan lukien minimi, maksimi ja arvot rajan molemmin puolin.
  • Etsitään virheitä, jotka löytyvät rajojen reunoilta.

 

Esimerkkejä ekvivalenssiosioinnista ja reuna-arvoanalyysistä

Seuraavassa on muutamia esimerkkejä, joiden avulla voit vahvistaa ymmärrystäsi ekvivalenssiosioinnista ja reuna-arvoanalyysistä.

Esimerkki ekvivalenssiosioinnista:

Oletetaan, että sinulla on syöttölaatikko auton rekisteröintiä varten. Tyypillisesti Yhdysvaltain auton rekisterikilvissä on 6-7 merkkiä. Yksinkertaisuuden vuoksi jätämme erikoisnumerokilvet pois.

Kelvolliset tiedot = kilvet 6 tai 7 merkkiä

Virheelliset tiedot = kilvet, joissa on >6 tai >7 merkkiä.

 

Esimerkki raja-arvoanalyysistä:

Käyttämällä samaa numerokilven esimerkkiä kuin edellä, reuna-analyysillä testataan seuraavat seikat

Kelvolliset tiedot = 6 tai 7 merkkiä sisältävät kilvet.

Virheelliset tiedot = kilvet, joissa on 5 tai 8 merkkiä ja joissakin tapauksissa 4 ja 9 merkkiä.

 

Esimerkki raja-arvoanalyysistä

alfa-testaus ja rpa:n edut

Ehkäpä paras tapa ymmärtää käsite täysin on tarkastella vielä yhtä tai kahta raja-arvoanalyysin esimerkkiä.

 

Raja-arvotestaus esimerkki #1

Tutustutaan tarkemmin raja-arvotestaukseen tarkastelemalla esimerkkiä ikävarmennusalueesta.

Meillä on laatikko, johon käyttäjä voi syöttää ikänsä.

Raja-arvot ovat:

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

  • Alaikäraja = 18 vuotta
  • Enimmäisikä = 120 vuotta

 

Esimerkki rajatestitapauksista:

Testitapauksia on yhteensä kuusi:

  • 17, 18 ja 19, jotka ovat alle vähimmäismäärän, vähintään vähimmäismäärän ja yli vähimmäismäärän.
  • 119, 18 ja 19, jotka ovat vastaavasti enimmäisarvon alapuolella, enimmäisarvon yläpuolella ja enimmäisarvon yläpuolella.

 

Raja-arvotestaus esimerkki #2.

Seuraavassa rajatestausesimerkissämme tutkimme verkkosivustoa, jossa on vähintään 20 prosentin alennus vähintään 100 dollarin tilauksista.

Tässä esimerkissä yli 600 dollarin ostos johtaa 25 prosentin alennukseen. Raja-arvotestissä käsitellään 100 ja 600 dollarin välisiä panoksia.

Raja-arvot ovat:

Vähimmäisalennus = 100 dollaria

Enimmäisalennus = 600 dollaria

 

Esimerkki rajatestitapauksista:

Luomme jälleen yhteensä kuusi testitapausta, jotka ovat:

  • 99,99 dollaria, 100 dollaria ja 100,01 dollaria, jotka ovat vastaavasti alle vähimmäismäärän, vähimmäismäärä ja yli vähimmäismäärän.
  • 599,99 dollaria, 600 dollaria ja 600,01 dollaria, jotka ovat alle enimmäismäärän, enimmäismäärä alle enimmäismäärän ja enimmäismäärä yli enimmäismäärän.

 

Onko rajatestaus ohjelmistotestauksessa tarkkaa?

alfa-testaus vs. beta-testaus

Tutkimusartikkelissa Black Box Testing with Equivalence Partitioning and Boundary Value Analysis Methods (Mustan laatikon testaaminen ekvivalenssiosioinnin ja raja-arvoanalyysin avulla) kirjoittajat tutkivat ekvivalenssiosioinnin ja raja-arvoanalyysin käyttöä Indonesiassa sijaitsevan Mataramin yliopiston akateemisen tietojärjestelmän testaamisessa.

Tekijät käyttivät testeissä suosittua avoimen lähdekoodin testaustyökalua Seleniumia, ja testitapauksia oli yhteensä 322. Ekvivalenssitestaus ja raja-arvoanalyysi toivat esiin noin 80 epäonnistunutta tapausta, mikä johti siihen, että kelvollisten ja virheellisten testitulosten suhde oli noin 75:25. Kaiken kaikkiaan ekvivalenssiosioinnin ja BVA:n yhdistelmän käyttö ohjelmistotestauksessa johti ohjelmiston perusteelliseen ja hyödylliseen testaukseen.

 

Parhaat raja-arvotestaustyökalut

ZAPTEST RPA + Testausautomaatio-sarja

Vaikka erityisiä rajatestausohjelmistotyökaluja on harvassa, on olemassa monia huomattavia testaustyökaluja, jotka kykenevät tähän tehtävään.

#3. TestCaseLab

TestCaseLab on pilvipohjainen testinhallintatyökalu, joka voi auttaa BVA-testauksessa. Ohjelmiston avulla tiimit voivat luoda ja hallita testitapauksia intuitiivisen ja houkuttelevan näköisen käyttöliittymän avulla. TestCaseLab on joustava ja ominaisuuksiltaan monipuolinen, mutta sillä on rajoituksensa, kuten rajalliset raportointi- ja räätälöintimahdollisuudet.

 

#2. Micro Focus UFT One

Micro Focus UFT One on ohjelmistotestaustyökalu, joka keskittyy toiminnalliseen ja regressiotestaukseen. Se tukee eri alustoja, laitteita ja API-testausta ja tarjoaa vahvoja integrointimahdollisuuksia. Se tarjoaa sekä koodittoman että avainsanapohjaisen testin luomisen, ja se voi auttaa tiimejä rakentamaan raja-arvoanalyysin testitapauksia helposti. Joitakin rajoituksia on otettava huomioon, kuten jyrkkä oppimiskäyrä ja tehon puute verrattuna ZAPTESTin kaltaisiin työkaluihin.

 

#1. ZAPTEST

Ketterä DevOps-testausautomaatio: ZAPTESTin mockup-pohjaisen automaatiomenetelmän selittäminen.

ZAPTEST on kattava ohjelmistoautomaatiotestaustyökalu, jossa on kehittyneet RPA-ominaisuudet. Sen tarkoituksena on tarjota testaajille käyttäjäystävällinen ja vankka testiautomaatiotyökalupaketti, jonka avulla voidaan todentaa ohjelmistoja monin eri tavoin, myös BVA:n avulla ohjelmistotestauksessa.

Joitakin ZAPTESTin vakuuttavimpia käyttötapauksia raja-arvoanalyysin apuna ovat testitapausten luominen, testidatan käsittely, testien suorittaminen sekä raportointi ja analysointi. ZAPTESTin käyttäjät voivat nopeasti ja helposti luoda ja hallita vankkoja testitapauksia kaikentyyppisiä rajausanalyysejä varten, sillä ZAPTEST tarjoaa useita malleja ja korkean räätälöintitason yhdistettynä koodittomaan testitapausten luomiseen.

Testitapausten luomisen ja hallinnan lisäksi ZAPTESTin RPA-ominaisuudet voivat auttaa testaustiimejä raja-arvoanalyysin testauksessa muillakin tavoin. Voit esimerkiksi automatisoida testitapausten suorittamisen, luoda testidataa ja rakentaa tehokkaita integraatioita muiden testaustyökalujen kanssa.

 

Vinkkejä raja-arvotestaukseen

  • Yhdistä raja-arvoanalyysi ja ekvivalenssijako, jotta voit varmistaa, että testitapaukset kattavat erilaiset syöttöskenaariot.
  • Käytä virheellisiä syöttöskenaarioita (eli negatiivista testausta) varmistaaksesi, miten ohjelmisto käsittelee virheitä ja odottamattomia syötteitä.
  • Käytä aikaa eri tietotyyppien, kuten tekstin, numeroiden ja Boolen raja-arvojen tunnistamiseen.
  • Priorisoi raja-arvotestaus kriittisille toiminnoille tai alueille, joilla virheiden esiintyminen on todennäköisempää.
  • Käytä realistisia tietoja, jotka edustavat sellaisia tietoja, joita käyttäjät syöttävät verkkotunnuksiisi.

 

Lopulliset ajatukset

Raja-arvoanalyysi on hyödyllinen toiminnallisen testauksen lähestymistapa. Kun sinulla on syöttöalue, sinun on tarkistettava, että se hyväksyy kelvollisia tietoja ja lähettää virheilmoituksia, kun se vastaanottaa virheellisiä tietoja. Rajausanalyysitestauksen avulla voidaan todentaa tämä toiminnallisuus tehokkaasti luomalla vain kattavaan testaukseen tarvittavat testitapaukset.

Rajojen testauksessa tarkastellaan hyväksyttävällä alueella tai sen ympäristössä olevia arvoja ja tarkistetaan, miten järjestelmä reagoi näihin syötteisiin. Tuloksena on paljon säästettyä aikaa ja vähemmän työtä, koska sinun ei tarvitse rakentaa turhia testitapauksia. Ohjelmistokehityksen nopeatempoisessa maailmassa, jossa määräaikoja tuntuu tulevan tiheään ja nopeasti, testaustiimit tarvitsevat kaiken mahdollisen avun.

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