fbpx

Lygiavertiškumo skirstymas programinės įrangos testavime yra juodosios dėžutės testavimo metodas, kuris padeda sukurti veiksmingus testavimo atvejus nesumažinant testavimo aprėpties.

Šiame straipsnyje apžvelgsime, kas yra lygiavertiškumo klasių skaidymas, kodėl jis naudingas, ir panagrinėsime kai kuriuos procesus ir metodus, kuriuos galite naudoti norėdami atskleisti šio metodo privalumus.

 

Table of Contents

Kas yra lygiavertiškumo klasės skaidymas

programinės įrangos testavimo srityje?

QA testavimas - kas tai yra, tipai, procesai, požiūriai, įrankiai ir dar daugiau!

Visai programinei įrangai taikomos tam tikros įvesties sąlygos. Programinės įrangos testavimo kontekste šios įvesties sąlygos apibūdina vertes arba duomenis, kuriuos testuotojas turi naudoti programinės įrangos kokybei ir funkcionalumui patikrinti. Šie įvesties duomenys gali būti tokie paprasti, kaip pelės spustelėjimas, taip pat tekstas ir skaičiai.

Atliekant programinės įrangos testavimą lygiaverčiu skirstymu ištiriami skirtingi įvesties duomenys, reikalingi programinei įrangai naudoti, ir jie suskirstomi į lygiavertiškumo klases, t. y. įvesties duomenų rinkinius, kurie turės lygiavertį poveikį programinės įrangos elgsenai.

Jei žinote, kaip elgsis kiekviena įvesties grupė, nereikia testuoti kiekvieno grupės atstovo. Todėl lygiavertiškumo klasių skirstymas yra puikus būdas padėti testuotojams sumažinti nereikalingų testų dažnumą. Itin konkurencingame programinės įrangos kūrimo pasaulyje, kuriame vis labiau trumpėja terminai, labai svarbu taupyti laiką ir pastangas programinės įrangos testavimo gyvavimo cikle (STLC).

Galiausiai verta paminėti, kad lygiavertiškumo testavimas yra juodosios dėžutės testavimo metodas. Trumpai tariant, tai reiškia, kad testuotojams nereikia žinoti apie programos vidinį kodą ar vidinį veikimą. Testai grindžiami įėjimais, išėjimais ir išoriniu elgesiu. Todėl šiuose testuose daug dėmesio skiriama naudotojo elgesiui naudojantis programa.

 

1. Programinės įrangos testavimo lygiavertiškumo skirstymas trumpai

Lygiavertiškumo skirstymas skirsto programinės įrangos testavimo įvesties duomenis į dvi stovyklas: galiojančius ir negaliojančius įvesties duomenis. Kiekviename skirsnyje esančios reikšmės turi lemti tokį patį programinės įrangos elgesį. Pavyzdžiui:

  • Jei vienos A skirsnio reikšmės sąlyga yra teisinga, turi būti teisingos ir kitos A skirsnio reikšmės.
  • Panašiai, jei vienos A skirsnio reikšmės sąlygos yra klaidingos, kitos A skirsnio reikšmės taip pat turi būti klaidingos.

Atliekant bandymus, kiekvienas skirsnis turi būti aprėptas bent kartą. Logiškai tai reiškia, kad jei vienas A skirsnio įrašas nepavyksta, nepavyksta ir visi kiti įėjimai. Šis procesas turėtų padėti sutaupyti laiko, nes užuot bandę kiekvieną A skirsnyje esantį įvesties elementą, bandytojai gali išbandyti tik vieną iš jų ir ekstrapoliuoti rezultatą, remdamiesi bendraisiais bruožais.

 

2. Kodėl lygiavertiškumo klasės testavimas yra svarbus programinės įrangos testavime

Prieš pradedant aptarti tiesioginę lygiavertiškumo klasės testavimo naudą programinės įrangos testavime, reikia apibrėžti, kodėl šis metodas yra svarbus.

Visi testuotojai supranta, kad programinės įrangos testavimas reikalauja kompromisų. Laikas ir biudžetas yra riboti, todėl testuotojams reikia kuo geriau išnaudoti turimus išteklius. Programinės įrangos testavimo lygiavertiškumo skirstymas padeda komandoms rasti pusiausvyrą tarp testavimo efektyvumo ir patikimumo mažinant įvesties duomenų skaičių.

 

Lygiavertiškumo skirstymo privalumai

programinės įrangos testavimo srityje

Robotizuotų procesų automatizavimo naudojimo atvejai draudimo ir apskaitos srityje

Analogišką programinės įrangos testavimo pertvarą testavimo komandos renkasi dėl įvairių priežasčių. Pateikiame keletą labiausiai įtikinamų.

1. Efektyvumas

Didelis lygiavertiškumo skirstinio testavimo privalumas yra jo veiksmingumas. Naudodami lygiavertiškumo skirstymą, testuotojai gali sumažinti reikiamų testavimo atvejų skaičių nesumažindami testų aprėpties. Pasirinkę kiekvienos lygiavertiškumo klasės įvesties atvejį, bandytojai gali būti tikri, kad supranta, kaip jų programinė įranga veikia su įvairiomis įvestimis.

2. Paprastumas

Kitas didelis programinės įrangos testavimo lygiavertiškumo skirstymo privalumas yra paprastumas. Įvairių įvesties duomenų suskirstymas į galiojančius ir negaliojančius duomenis reiškia, kad bandymų planavimas yra daug paprastesnis. Norint patikrinti kiekvieną įvestį atskirai, reikia daug dokumentų ir koordinavimo. Tai sumažinus iki vieno reprezentatyvaus pavyzdžio, bandymų procesas tampa paprastesnis.

Didesnė aprėptis

Naudodami lygiavertiškumo klases testavimo metu taip pat galite efektyviau išnaudoti testavimo laiką. Testų įvestis sumažinus iki klasių, galima išsamiau išbandyti kiekvieną klasę. Tokio išsamaus požiūrio būtų neįmanoma taikyti, jei kiekvieną įvestį tikrintumėte atskirai. Lygiavertiškumo skirstymas leidžia komandoms nuodugniai išbandyti galiojančius ir negaliojančius duomenis, kraštinius atvejus, ribines vertes ir kt.

3. Pakartotinio naudojimo galimybės

Pradinis laikas, kurį investuojate į kiekvienos lygiavertiškumo klasės sukūrimą programinės įrangos testavimo metu, atsiperka, jei šias klases pakartotinai panaudosite būsimiems įvesties testams. Nors ne visi skirsniai bus svarbūs būsimiems bandymams, tačiau tie, kurie bus svarbūs, sutaupys daug laiko būsimiems projektams ar net regresijos testavimo situacijoms.

 

Lygiavertiškumo skirstymo trūkumai

programinės įrangos testavimo srityje

iššūkiai-apkrovos-testavimas

Nors lygiavertiškumo skirstymas turi nemažai privalumų, tai nėra idealus sprendimas kiekvienam scenarijui. Panagrinėkime kai kuriuos jos apribojimus.

1. Įvesties tvarka

Tam tikrais atvejais įvesties tvarka yra labai svarbi testuojant programos funkcionalumą. To tikrai negalima sumažinti naudojant lygiavertiškumo skirstymą. Testuotojai turi nepamiršti šių situacijų ir naudoti alternatyvius metodus, kad užtikrintų gerą aprėptį.

2. Sudėtingos įvesties priklausomybės

Sudėtinga programinė įranga su sudėtingomis įvesties priklausomybėmis yra dar viena sritis, kurioje atsiskleidžia lygiavertiškumo skirstymo apribojimai. Pavyzdžiui, programinė įranga, kuri pateikia skaičiavimus pagal įvairius įvesties duomenis. Tokiu atveju testuotojams reikėtų naudoti įvairius metodus, kad sumažintų kombinacinį sprogimą ir padidintų defektų išskyrimo tikimybę.

 

Alternatyvūs metodai, papildantys

lygiavertiškumo bandymų apribojimai

alfa testavimas ir beta testavimas

Nors lygiavertiškumo pertvarų testavimas tinka daugeliui testavimo scenarijų, labai sudėtingai programinei įrangai su sudėtingomis įvesties verčių priklausomybėmis gali prireikti papildomų papildomų metodų.

Rašant sudėtingos programinės įrangos testavimo atvejus, verta derinti šiuos metodus.

1. Porinis testavimas

Porinis testavimas – tai programinės įrangos testavimo metodas, kuriuo testuojami visi galimi kiekvienos įvesties parametrų poros deriniai. Taikant šį metodą užtikrinama, kad kiekviena parametrų pora būtų bent kartą išbandyta kartu.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

2. Sprendimų lentelės testavimas

Sprendimų lentelė padeda testuotojams metodiškai nustatyti įvairius įvesties derinius. Tai geras būdas užtikrinti sisteminę aprėptį, kai yra sudėtingų priklausomybių.

3. Būklės perėjimo testavimas

Šio tipo testavimo metu vertinama, kaip programinė įranga pereina iš vienos būsenos į kitą reaguodama į įvairius įvesties derinius.

4. Modeliu pagrįstas testavimas

Taikant šį metodą reikia sukurti modelį, pagrįstą programinės įrangos vidine logika, ir automatizavimo priemone sukurti testavimo atvejus, pagrįstus šiuo modeliu. Šiuo metodu galima valdyti sudėtingumą ir užtikrinti tinkamą aprėptį.

 

Lygiavertiškumo klasių skirstymo testavimo pavyzdžiai

Beta testavimas - kas tai yra, tipai, procesai, požiūriai, įrankiai, palyginti su alfa testavimu ir dar daugiau!

Geriausias būdas suprasti lygiavertiškumo skirstymą – pažvelgti, kaip ir kur galima naudoti lygiavertiškumo klasę programinės įrangos testavime. Pateikiame keletą pavyzdžių, padėsiančių geriau įsivaizduoti šią koncepciją.

 

1. Lygiavertiškumo klasių skirstymo testavimo pavyzdys Nr. 1

Internetinė užsakymo forma yra geras lygiavertiškumo klasės pavyzdys programinės įrangos testavimo srityje.

Tarkime, kuriate internetinės stacionarios įrangos mažmenininkės programėlę. Yra tipinė A4 formato popieriaus ryšulių užsakymo forma. Štai kaip galite naudoti lygiavertiškumo klases šiai formai patikrinti.

Ekvivalentiškumo klasės:

A4 formato popieriaus kiekis yra tam tikrame intervale, pavyzdžiui, nuo 1 iki 100. Taigi, trys klasės yra šios:

  • nuo 1 iki 100
  • Skaičiai, mažesni nei 1
  • Skaičiai virš 100.

 

Bandymų atvejai:

Turėtų būti atlikti trys bandymų atvejai, kurių laukiami rezultatai

  • Bet koks skaičius nuo 1 iki 100 = užsakymas apdorotas
  • Skaičiai, mažesni nei 1 = klaidos pranešimas
  • Skaičiai virš 100 = klaidos pranešimas

 

2. Ekvivalentiškumo skirstymo testavimo pavyzdys Nr. 2

Programinės įrangos testavimo lygiavertiškumo klasė gali būti susijusi ne tik su skaičiais. Šiame pavyzdyje nagrinėsime, kaip tą patį principą galite naudoti failų įkėlimo portalui patikrinti. Tarkime, reikia atlikti testą svetainėje, kurioje reikalaujama, kad naudotojai įkeltų asmens tapatybės dokumentus, tačiau galima priimti tik tam tikro formato dokumentus.

Ekvivalentiškumo klasės:

  • Palaikomi PDF ir JPEG dokumentai.
  • Nepalaikomi dokumentai yra visi kiti dokumentų formatai
  • Dokumento nėra

 

Bandymų atvejai:

  • Bandymas įkeliant PDF arba JPEG = sėkmingas įkėlimas
  • Bandymas įkeliant nepalaikomą formatą = klaidos pranešimas
  • Bandymas be failo įkėlimo = klaidos pranešimas

 

Kaip įgyvendinti lygiavertiškumo skirstinį

programinės įrangos testavimo metodas

Agile DevOps testavimo automatizavimas: ZAPTEST maketais pagrįsto automatizavimo metodo paaiškinimas

Jei norite testuojant naudoti lygiavertiškumo klases, turite laikytis strateginio požiūrio. Čia pateikiamas naudingas žingsnis po žingsnio lygiavertiškumo skirstymo įgyvendinimo programinės įrangos testavime vadovas.

 

Žingsnis Nr. 1: Nustatykite įvesties kintamuosius

 

Kiekviena programinė įranga reaguoja į įvairius įvesties kintamuosius. Sudėtingai programinei įrangai šie kintamieji gali būti labai dideli. Taigi, peržiūrėkite programinės įrangos reikalavimus ir specifikacijas ir nustatykite visus kintamuosius, kurie turi įtakos programinės įrangos elgsenai.

Kai kurios iš akivaizdžiausių įvesties formų yra naudotojo įvesties formos. Tačiau turite apsvarstyti platesnį įvesties duomenų spektrą. Taip pat galite atsižvelgti į aplinkos kintamuosius, API skambučius, vidinius skaičiavimus ir pan.

Toliau turėtumėte suprasti skirtingus kintamųjų duomenų tipus. Šiuos kintamuosius galite suskirstyti į kategorijas: sveikieji skaičiai, loginiai skaičiai, eilutės ir t. t., kad nustatytumėte atitinkamus skirstinius.

Galiausiai reikia išnagrinėti įvesties apribojimus. Tai bus tokie dalykai, kaip leidžiami simboliai, apibrėžti formatai ir mažiausios / didžiausios vertės.

 

Žingsnis Nr. 2. Nustatyti galiojančius ir negaliojančius skirsnius

Peržiūrėkite kiekvieną įvesties kintamąjį ir pradėkite jį skirstyti pagal galiojančius ir negaliojančius rezultatus. Tai bus jūsų lygiavertiškumo klasės atliekant bandymus.

1. Galiojantys skyriai

Galiojančias pertvaras galima suskirstyti į dvi klases.

Teigiamos lygiavertiškumo klasės:

Reikšmės, kurias, kaip tikitės, sėkmingai apdoros jūsų programinė įranga. Pavyzdžiui, programinei įrangai, kuri įrašo procentinius įvertinimus, tinka bet koks dydis nuo 0 iki 100.

Neigiamos lygiavertiškumo klasės:

Ši kategorija skirta reikšmėms, kurios neatitinka tikėtinos įvesties ribų, bet kurias programinė įranga turėtų apdoroti pateikdama klaidos pranešimą. Pavyzdžiui, įvesta 110 procentų įvertis, todėl programinė įranga pateikia klaidos pranešimą: „Visos reikšmės turi būti nuo 0 iki 100”.

 

2. Negaliojantys skyriai

Šiose lygiavertiškumo klasėse bus įvestys, dėl kurių atsiras klaidų arba netikėtų elgsenos atvejų. Mūsų pateiktame pavyzdyje tai gali būti bandymai įvesti A+, B ar panašius įvesties duomenis į procentinį įvertinimą. Nors šie įvesties duomenys gali būti techniškai teisingi, jie neatitinka skaitinių lūkesčių.

 

#3. Efektyvių testavimo atvejų rašymas

Toliau reikia sukurti testavimo atvejus, kurie bent kartą apimtų kiekvieną lygiavertiškumo skaidinį. Kaip minėta anksčiau straipsnyje, taip užtikrinama tinkama testų aprėptis.

Pirmiausia kiekvienoje lygiavertiškumo srityje turite pasirinkti reprezentatyvias vertes, kurios gali apimti ir galiojančius, ir negaliojančius duomenis.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Patarimai, kaip rašyti patikimus bandymų atvejus

  • Pagalvokite apie ribines vertes: Užtikrinkite, kad patikrintumėte savo pertvarų ribas. Minimali, maksimali, įtraukianti, išskirtinė ir t. t., nes šios sritys yra labai tinkamos klaidoms atsirasti. Pavyzdžiui, jei jūsų įvesties lūkesčiai yra nuo 0 iki 100, patikrinkite, ar nėra neigiamų reikšmių, taip pat tokių skaičių kaip 101.
  • Apsvarstykite teigiamus ir neigiamus galiojančių ir negaliojančių bandymų scenarijus.
  • Gerai būtų atlikti kombinuotus bandymus. Naudokite kelis skirtingus metodus, kaip nurodyta mūsų alternatyviuose metoduose, kad papildytumėte pirmiau pateiktame skyriuje apie lygiavertiškumo testavimo apribojimus.
  • dokumentais pagrįskite, kodėl įvesties reikšmės buvo suskirstytos į tam tikrus skirsnius, ir aiškiai apibūdinkite tikėtiną kiekvieno bandymo elgesį.
  • Jei įmanoma, naudokite vaizdines priemones, kad testavimo atvejai būtų aiškesni ir objektyvesni, naudodami diagramas arba lenteles, kuriose pavaizduoti skirstiniai.

 

#4. Planuokite ir vykdykite bandymų atvejus

Nustatykite užduočių prioritetus pagal tokius veiksnius kaip:

  • Kuriose srityse labiausiai tikėtini defektai
  • Kokie scenarijai greičiausiai sukelia sunkius scenarijus, pvz., avarijas arba užšalimą.

Tada atlikite testus ir užrašykite jų rezultatus bei visas pasitaikančias klaidas. Sudėtingoms programoms, turinčioms daug įvesties duomenų, galite naudoti RPA įrankius, imituojančius naudotojo veiksmus.

 

#5. Analizuokite rezultatus

Surinkti surinktus bandymų duomenis ir išanalizuoti rezultatus. Kai kurie metodai, kuriuos reikia naudoti, yra šie:

  • Peržiūrėkite kiekvieną bandymo atvejį ir palyginkite faktinius rezultatus su laukiamais rezultatais.
  • Raskite bet kokius neatitikimus, ištirkite ir praneškite apie klaidas ir defektus.

 

#6 Papildomi patarimai

Nors šie patarimai nebus taikomi visais atvejais, jie bus naudingi atliekant sudėtingus programinės įrangos bandymus.

  • Sprendimų lentelės yra puikus būdas vizualizuoti lygiavertiškumo skirstinius ir įvairius įvesties derinius, kuriuos galbūt norėsite naudoti.
  • Galite sujungti lygiavertes klases, jei jų elgsena beveik identiška, taip dar labiau optimizuojant testavimo procesą.
  • Naudokite ribinių verčių testavimą defektams aptikti
  • Jei įmanoma, automatizuokite lygiavertiškumo skirstymo bandymų atvejus

 

Ekvivalentiškumo skaidymas ir kraštinių verčių analizė

kai kurių neaiškumų programinės įrangos testavimo automatizavimo srityje išaiškinimas

Lygiavertiškumo skirstymas grindžiamas prielaida, kad kiekvienas testas skirstinyje duos tą patį rezultatą. Nors tai tiesa daugeliu atvejų, tai ne visada pasiteisina. Pavyzdžiui, per klaidą į skirsnį pridėtos įvestys gali būti nepatikrintos, todėl gali sumažėti aprėptis ir programinė įranga gali būti nestabili.

Šią problemą galima išspręsti atliekant ribinių verčių bandymus. Tai leidžia programinės įrangos testavimo komandoms sutelkti dėmesį į sritis, kuriose greičiausiai kyla rizika, ir pagal tai testuoti programinę įrangą. Trumpai tariant, siūloma, kad rizika greičiausiai kyla jūsų įvesties skaidinių kraštuose arba ribose. Todėl, be kitų lygiavertiškumo klasės testavimo atvejų, testuotojai gali rašyti testavimo atvejus viršutinėje ir apatinėje įvesties ribose.

 

Lygiavertiškumo skirstymas ir automatizavimas naudojant ZAPTEST

geriausi nemokami ir įmonių programinės įrangos testavimo + RPA automatizavimo įrankiai

Programinės įrangos bandymų automatizavimo įrankiai, pavyzdžiui, ZAPTEST, gali padėti komandoms automatizuoti lygiavertiškumo skirstymą tiek kuriant, tiek vykdant bandymus.

Panagrinėkime, kaip ZAPTEST gali padėti atskleisti šio naudingo juodosios dėžės testavimo metodo privalumus.

 

1. Įrankių pasirinkimas

Svarbu pasirinkti tinkamą įrankį darbui atlikti. Dauguma testavimo automatizavimo įrankių specializuojasi žiniatinklio, mobiliųjų įrenginių arba darbalaukio testavimo srityje. „ZAPTEST” gali atlikti testavimą įvairiose platformose ir programose, todėl tai yra patikimas pasirinkimas.

 

2. Rašyti ir vykdyti testavimo atvejus

ZAPTEST 1Script leidžia nuskaityti naudotojo sąsają ir kurti testavimo automatizavimą. Be to, galite nuskaityti programų maketus, jei esate ankstyvajame kūrimo etape. Naudodamasis Scan GUI funkcija, ZAPTEST nuskaitys visus bandomuosius objektus ir įtrauks juos į objektų sąrašą.

Iš čia į diagramą galite pridėti objektų ir sukurti testavimo etapus.

ZAPTEST leidžia automatizuoti atvejų rašymą naudojant paprastą „drag-and-drop” sąsają. Norint kurti testavimo atvejus su ZAPTEST, nereikia turėti programavimo žinių. Taigi iš čia galite pasirinkti atitinkamą operaciją iš išskleidžiamojo metodo ir sukurti testavimo atvejį pagal jūsų sąsajai reikalingas įvesties reikšmes. Tada galite sukurti kiekvieno atitikmens testavimo atvejus ir juos atlikti. Galite net pakartotinai naudoti bandymų atvejus ir redaguoti juos „Step” redaktoriuje, taip sutaupydami daug laiko.

 

3. Ataskaitų rengimas ir testavimo atvejų valdymas

ZAPTEST leidžia lygiagrečiai vykdyti testavimo atvejus ir taip sutaupyti daug laiko. Tai gali padėti vienu metu atlikti daug skirtingų lygiavertiškumo skirstinių arba atlikti tam tikras bandymų grupes.

Rezultatus lengva surinkti, nes pateikiamos išsamios nepavykusių ir (arba) įvykdytų bandymų ataskaitos, ekrano nuotraukos, vykdymo žurnalai ir su kiekvienu bandymų atveju susiję našumo rodikliai.

 

4. Testavimo atvejų priežiūra

Be to, dėl kokybiškos versijų kontrolės galimybių galite paprasčiausiai stebėti ir prižiūrėti savo bandymų atvejus. Be to, ZAPTEST naudotojai gali klonuoti ir pakartotinai naudoti testus, kad pasiektų naują efektyvumo lygį.

ZAPTEST siūlo daug daugiau funkcijų, išskyrus testavimo atvejų automatizavimą. Turėdama RPA įrankių rinkinį, ZAPTEST siūlo „2-in-1” funkciją, mažinančią atotrūkį tarp „DevOps” ir „BizOps”, kai ateityje, pasižyminčioje hiperautomatizavimu, viskas, ką galima automatizuoti, bus automatizuota.

 

Galutinės mintys

Lygiavertiškumo skirstymas – tai elegantiškas sprendimas tais atvejais, kai testuotojai turi rasti pusiausvyrą tarp efektyvumo ir tikslumo. Kadangi kai kuri programinė įranga leidžia naudoti beveik begalę įvesties duomenų, lygiavertiškumo klasių skaidymas padeda komandoms suskaidyti testavimo duomenis į valdomas, nedideles dalis, kurių kiekvieną galima kruopščiai išbandyti.

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