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

Particioniranje ekvivalencije u testiranju softvera tehnika je testiranja crne kutije koja vam pomaže u izradi učinkovitih testnih slučajeva bez ugrožavanja pokrivenosti testom.

U ovom ćemo članku pogledati što je particioniranje klase ekvivalencije, zašto je korisno i istražiti neke od procesa i pristupa koje možete koristiti da biste iskoristili prednosti ove tehnike.

 

Sadržaj dokumenta

Što je particioniranje klasa ekvivalencije

u testiranju softvera?

Testiranje kvalitete - što je to, vrste, procesi, pristupi, alati i više!

Sav softver ima posebne ulazne uvjete. U kontekstu testiranja softvera, ovi ulazni uvjeti opisuju vrijednosti ili podatke koje ispitivač mora koristiti za provjeru kvalitete i funkcionalnosti svog softvera. Ti unosi mogu biti nešto jednostavno poput klika mišem, sve do teksta i brojeva.

Ekvivalentna particija u testiranju softvera istražuje različite ulaze potrebne za korištenje softvera i grupira ih u klase ekvivalencije, tj. skupove ulaza koji će imati jednak učinak na ponašanje softvera.

Ako znate kako će se svaka grupa inputa ponašati, tada ne morate testirati svakog predstavnika grupe. Kao takvo, podjela klase ekvivalencije izvrstan je način da se testerima pomogne smanjiti učestalost suvišnih testova. U hiper-konkurentnom svijetu razvoja softvera sa sve kraćim rokovima, ušteda vremena i truda u životnom ciklusu testiranja softvera (STLC) je ključna.

Konačno, vrijedno je napomenuti da je testiranje ekvivalencije tehnika testiranja crne kutije. Ukratko, to znači da ispitivači ne moraju znati o internom kodu programa ili unutarnjem radu. Testovi se temelje na ulazima, izlazima i vanjskim ponašanjima. Kao takvi, ovi su testovi izrazito usmjereni na ponašanje korisnika tijekom korištenja programa.

 

1. Ukratko, particioniranje ekvivalencije testiranja softvera

Particioniranje ekvivalencije dijeli ulazne podatke testiranja softvera na dva tabora: važeće i nevažeće ulaze. Vrijednosti unutar svake particije moraju uzrokovati isto ponašanje softvera. Na primjer:

  • Ako je uvjet jedne vrijednosti u particiji A istinit, moraju biti istinite i ostale vrijednosti u particiji A.
  • Isto tako, ako su uvjeti jedne vrijednosti u particiji A lažni, druge vrijednosti u particiji A također moraju biti lažne.

U kontekstu testiranja, svaka particija mora biti pokrivena barem jednom. Logično, to znači da ako jedan unos u particiji A ne uspije, tada neće uspjeti ni svi drugi ulazi. Ovaj bi postupak trebao uštedjeti vrijeme jer umjesto testiranja svakog ulaza koji se nalazi u particiji A, ispitivači mogu testirati samo jedan i ekstrapolirati ishod na temelju njegovih zajedničkih karakteristika.

 

2. Zašto je testiranje klasa ekvivalencije važno u testiranju softvera

Prije nego što uđemo u izravne prednosti testiranja klase ekvivalencije u testiranju softvera, moramo definirati zašto je pristup važan.

Svi testeri razumiju da testiranje softvera zahtijeva kompromise. Vrijeme i proračuni su ograničeni, što znači da testeri moraju maksimalno iskoristiti svoje resurse. Particioniranje ekvivalencije testiranja softvera pomaže timovima da pronađu ravnotežu između učinkovitosti i pouzdanosti u svom testiranju smanjenjem broja ulaza.

 

Prednosti particije ekvivalencije

u testiranju softvera

Slučajevi korištenja robotske automatizacije procesa u osiguranju i računovodstvu

Ekvivalentnu particiju u testiranju softvera favoriziraju timovi za testiranje iz raznih razloga. Evo nekih od najuvjerljivijih.

1. Učinkovitost

Velika prednost particionog testiranja ekvivalencije leži u njegovoj učinkovitosti. Kada testeri koriste particiju ekvivalencije, mogu smanjiti broj testnih slučajeva koji su im potrebni bez kompromisa u pokrivenosti testom. Odabirom slučaja unosa iz svake klase ekvivalencije, ispitivači mogu biti sigurni da razumiju kako njihov softver radi s različitim ulazima.

2. Jednostavnost

Još jedna velika prednost particioniranja ekvivalencije testiranja softvera je jednostavnost. Raščlanjivanje raznolikog skupa ulaza na važeće i nevažeće podatke znači da je planiranje testiranja daleko jednostavnije. Testiranje svakog ulaza pojedinačno zahtijeva mnogo dokumentacije i koordinacije. Smanjivanje toga na jedan reprezentativni primjer pojednostavljuje proces testiranja.

Poboljšana pokrivenost

Korištenje klasa ekvivalencije u testiranju također vam omogućuje učinkovitije korištenje vremena testiranja. Smanjenje unosa testova u klase znači da možete temeljitije testirati svaku klasu. Ovaj sveobuhvatni pristup bio bi iskreno nemoguć kada biste testirali svaki unos pojedinačno. Podjela ekvivalencije omogućuje timovima temeljito testiranje valjanih i nevažećih podataka, rubnih slučajeva, graničnih vrijednosti i više.

3. Ponovno korištenje

Početno vrijeme koje uložite u uspostavljanje svake klase ekvivalencije u testiranju softvera kasnije se isplati ako te klase ponovno koristite za buduće ulazne testove. Iako neće sve particije biti relevantne za buduće testove, one koje jesu uštedjet će vam mnogo vremena bilo s budućim projektima ili čak situacijama regresijskog testiranja .

 

Nedostaci ekvivalencije particije

u testiranju softvera

izazovi-opterećenje-testiranje

Iako particioniranje ekvivalencije nudi neke velike prednosti, nije idealno rješenje za svaki scenarij. Istražimo neka od njegovih ograničenja.

1. Redoslijed unosa

U određenim je situacijama redoslijed unosa kritičan dio testiranja funkcionalnosti aplikacije. To nije nešto što stvarno možete smanjiti korištenjem particioniranja ekvivalencije. Testeri moraju voditi računa o tim situacijama i koristiti alternativne tehnike kako bi osigurali dobru pokrivenost.

2. Složene ulazne ovisnosti

Složeni softver sa složenim ovisnostima o unosu još je jedno područje u kojem su izložena ograničenja particioniranja ekvivalencije. Na primjer, softver koji daje izračune na temelju različitih ulaznih podataka. U ovom scenariju, ispitivači bi trebali koristiti razne tehnike za smanjenje kombinatorne eksplozije i povećanje vjerojatnosti izoliranja nedostataka.

 

Alternativni pristupi koji nadopunjuju

ograničenja ispitivanja ekvivalencije

alfa testiranje vs beta testiranje

Dok je testiranje particije ekvivalencije prikladno za mnoge testne scenarije, vrlo složen softver sa zamršenim ovisnostima među ulaznim vrijednostima može zahtijevati dodatne komplementarne pristupe.

Kada se radi o pisanju testnih slučajeva za složeni softver, korištenje kombinacije ovih pristupa dobra je ideja.

1. Testiranje u paru

Testiranje po parovima je tehnika testiranja softvera koja testira sve moguće kombinacije svakog para ulaznih parametara. Ovaj pristup osigurava da se svaki par parametara testira zajedno barem jednom.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

2. Testiranje tablice odlučivanja

Tablica odluka pomaže testerima da metodički mapiraju različite ulazne kombinacije. To je dobar način da se osigura sustavna pokrivenost kada postoje složene ovisnosti.

3. Testiranje prijelaza stanja

Ova vrsta testiranja mjeri kako softver prelazi između različitih stanja kao odgovor na različite ulazne kombinacije.

4. Testiranje na temelju modela

Ovaj pristup zahtijeva izradu modela temeljenog na internoj logici softvera i korištenje alata za automatizaciju za izradu testnih slučajeva temeljenih na tom modelu. Ova je tehnika vješta u rješavanju složenosti i osiguravanju odgovarajuće pokrivenosti.

 

Primjeri testiranja particioniranja klasa ekvivalencije

Beta testiranje - što je to, vrste, procesi, pristupi, alati, u odnosu na alfa testiranje i više!

Najbolji način za razumijevanje particioniranja ekvivalencije je pogledati kako i gdje možete koristiti klasu ekvivalencije u testiranju softvera. Evo nekoliko primjera koji će vam pomoći da dodatno vizualizirate koncept.

 

1. Primjer testiranja particije klase ekvivalencije #1

Online obrazac za narudžbu dobar je primjer klase ekvivalencije u testiranju softvera.

Recimo da izrađujete aplikaciju za online prodavača stacionarne opreme. Postoji tipična narudžbenica za jamce od A4 papira. Evo kako možete koristiti klase ekvivalencije za testiranje ovog obrasca.

Klase ekvivalencije:

Količine A4 papira su unutar određenog raspona od, na primjer, 1 do 100. Dakle, tri klase su:

  • 1 do 100
  • Brojevi ispod 1
  • Brojevi iznad 100.

 

Test slučajevi:

Trebalo bi pokrenuti tri testna slučaja sa sljedećim očekivanim ishodima

  • Bilo koji broj između 1 i 100 = Narudžba je obrađena
  • Brojevi ispod 1 = poruka o pogrešci
  • Brojevi preko 100 = poruka o pogrešci

 

2. Primjer testiranja podjele ekvivalencije #2

Klasa ekvivalencije u testiranju softvera može se baviti ne samo brojevima. U ovom primjeru ćemo istražiti kako možete koristiti isti princip za provjeru portala za učitavanje datoteka. Recimo da trebate testirati web mjesto koje od korisnika zahtijeva učitavanje identifikacijskih dokumenata, ali možete prihvatiti samo određene formate.

Klase ekvivalencije:

  • Podržani dokumenti su PDF i JPEG.
  • Nepodržani dokumenti su svi drugi formati dokumenata
  • Nema dokumenta

 

Test slučajevi:

  • Testirajte učitavanjem PDF-a ili JPEG-a = uspješno učitavanje
  • Testirajte učitavanjem nepodržanog formata = poruka o pogrešci
  • Test bez učitavanja datoteke = poruka o pogrešci

 

Kako implementirati particiju ekvivalencije

pristup testiranju softvera

Agile DevOps Test Automation: Objašnjavanje pristupa automatizaciji koji se temelji na modelu ZAPTEST-a

Ako želite koristiti klase ekvivalencije u testiranju, morate zauzeti strateški pristup. Ovdje je koristan vodič korak po korak za implementaciju particioniranja ekvivalencije u testiranju softvera.

 

Korak #1: Identificirajte ulazne varijable

 

Svaki softver reagira na različite ulazne varijable. Za složen softver te varijable mogu biti ogromne. Dakle, prođite kroz zahtjeve i specifikacije softvera i odredite sve varijable koje utječu na ponašanje softvera.

Neki od najočitijih unosa uključivat će korisničke obrasce za unos. Međutim, morate uzeti u obzir širi raspon unosa za svoj popis. Također možete uzeti u obzir varijable okoline, API pozive, interne izračune i tako dalje.

Zatim biste trebali razumjeti različite vrste varijabilnih podataka. Ove varijable možete kategorizirati kao cijeli broj, Booleov, niz itd., kako biste definirali odgovarajuće particije.

Konačno, trebate istražiti ograničenja unosa. To će biti stvari kao što su dopušteni znakovi, definirani formati i minimalne/maksimalne vrijednosti.

 

Korak 2. Odredite važeće i nevažeće particije

Pogledajte svaku ulaznu varijablu i počnite ih dijeliti prema važećim i nevažećim rezultatima. Ovo će biti vaši razredi ekvivalencije u testiranju.

1. Valjane particije

Valjane particije mogu se podijeliti u dvije klase.

Klase pozitivne ekvivalencije:

Vrijednosti za koje očekujete da će vaš softver uspješno obraditi. Na primjer, za softver koji bilježi postotke ocjena, vrijedi sve između 0 i 100.

Klase negativne ekvivalencije:

Ova kategorija će biti za vrijednosti koje su izvan granica očekivanog unosa, ali koje vaš softver treba obraditi porukom o pogrešci. Na primjer, unos je 110 za postotnu ocjenu, što navodi softver da vrati poruku o pogrešci koja kaže: “Sve vrijednosti moraju biti od 0 do 100”.

 

2. Nevažeće particije

Ove klase ekvivalencije će uključivati ​​ulaze koji će pokrenuti pogreške ili neočekivana ponašanja. U našem primjeru iznad, to bi moglo uključivati ​​pokušaje unosa A+ ili B ili sličnih unosa u postotnu ocjenu. Iako bi ti unosi mogli biti tehnički točni, oni su izvan brojčanih očekivanja.

 

#3. Pisanje učinkovitih testnih slučajeva

Sljedeće, trebate dizajnirati testne slučajeve koji pokrivaju svaku particiju ekvivalencije barem jednom. Kao što je ranije spomenuto u članku, ovo osigurava odgovarajuću pokrivenost testom.

Prvo, morate odabrati reprezentativne vrijednosti unutar svake particije ekvivalencije koje mogu pokriti valjane i nevaljane podatke.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Savjeti za pisanje solidnih testnih slučajeva

  • Razmislite o graničnim vrijednostima: Provjerite jeste li testirali granice svojih particija. Minimum, maksimum, uključivo, ekskluzivno itd., budući da su ta područja jaki kandidati za greške. Na primjer, ako su vaša očekivana unosa između 0 i 100, testirajte negativne vrijednosti, kao i brojeve poput 101.
  • Razmotrite pozitivne i negativne testne scenarije za valjane i nevaljane testne slučajeve.
  • Kombinirano testiranje je dobra ideja. Upotrijebite nekoliko različitih pristupa kako je navedeno u našim alternativnim pristupima kako biste nadopunili ograničenja gornjeg odjeljka o testiranju ekvivalentnosti.
  • Dokumentirajte obrazloženje zašto su ulazne vrijednosti podijeljene u određene particije i jasno ocrtajte očekivano ponašanje svakog testa
  • Gdje je to moguće, koristite vizualne alate da unesete osjećaj jasnoće i objektivnosti u svoje testne slučajeve pomoću dijagrama ili tablica za mapiranje vaših particija.

 

#4. Zakažite i izvršite svoje testne slučajeve

Odredite prioritete svojih zadataka na temelju čimbenika kao što su:

  • Koja područja najvjerojatnije imaju nedostatke
  • Koji će scenariji najvjerojatnije uzrokovati ozbiljne scenarije, kao što su rušenja ili zamrzavanja

Zatim izvršite svoje testove i zabilježite rezultate i sve pogreške koje se pojave. Za složene programe s puno unosa, možete koristiti RPA alate za oponašanje radnji korisnika.

 

#5. Analizirajte rezultate

Objedinite prikupljene testne podatke i analizirajte rezultate. Neke metode koje trebate koristiti su:

  • Pogledajte svaki testni slučaj i usporedite stvarne rezultate s očekivanim rezultatima
  • Pronađite sve nedosljednosti te istražite i prijavite sve pogreške i nedostatke.

 

#6 Dodatni savjeti

Iako se ovi savjeti neće primijeniti u svakom scenariju, pokazat će se korisnima za složeno testiranje softvera.

  • Tablice odlučivanja izvrstan su način za vizualizaciju vaših particija ekvivalencije i različitih kombinacija unosa koje biste mogli upotrijebiti
  • Možete spojiti klase ekvivalencije ako pokazuju gotovo identično ponašanje, dodatno optimizirajući proces testiranja
  • Upotrijebite testiranje graničnih vrijednosti za poboljšanje otkrivanja nedostataka
  • Gdje je to moguće, automatizirajte testne slučajeve podjele ekvivalencije

 

Podjela ekvivalencije i analiza rubnih vrijednosti

razjašnjavanje neke zabune u automatizaciji testiranja softvera

Particioniranje ekvivalencije temelji se na pretpostavci da će svaki test unutar particije dati isti rezultat. Iako je to istina u mnogim situacijama, neće uvijek uspjeti. Na primjer, svi ulazi koji su greškom dodani particiji mogu ostati neprovjereni, što dovodi do smanjene pokrivenosti i potencijalne nestabilnosti softvera.

Rješenje ovog problema je testiranje graničnih vrijednosti. Omogućuje timovima za testiranje softvera da se usredotoče na područja koja će najvjerojatnije sadržavati rizike i na temelju toga testira softver. Ukratko, predlaže da će se rizici najvjerojatnije pojaviti na rubovima ili granicama vaših ulaznih particija. Stoga ispitivači mogu pisati testne slučajeve na gornjoj i donjoj granici ulaza, uz ostale testne slučajeve klase ekvivalencije.

 

Podjela ekvivalencije i automatizacija sa ZAPTEST-om

testiranje najboljeg besplatnog i poslovnog softvera + alati za automatizaciju RPA

Alati za automatizaciju testiranja softvera, poput ZAPTEST-a , mogu pomoći timovima da automatiziraju particioniranje ekvivalencije tijekom izrade i izvođenja testa.

Istražimo kako vam ZAPTEST može pomoći da iskoristite prednosti ovog korisnog pristupa testiranju crne kutije.

 

1. Izbor alata

Važan je odabir pravog alata za posao. Većina alata za automatizaciju testiranja specijalizirana je za web, mobilno ili stolno testiranje. ZAPTEST može upravljati testiranjem na različitim platformama i aplikacijama, što ga čini dobrim izborom.

 

2. Napišite i izvršite testne slučajeve

ZAPTEST 1Script omogućuje skeniranje korisničkog sučelja za izgradnju automatizacije testiranja. Osim toga, također možete skenirati modele aplikacija ako ste u ranoj fazi razvoja. Koristeći značajku GUI skeniranja, ZAPTEST će skenirati sve testne objekte i dodati ih na popis objekata.

Odavde možete dodati objekte dijagramu i izraditi testne korake.

ZAPTEST vam omogućuje automatiziranje pisanja slučajeva s jednostavnim sučeljem za povlačenje i ispuštanje. Ne trebate stručnost kodiranja za izradu testnih slučajeva sa ZAPTEST-om. Dakle, odavde možete odabrati relevantnu operaciju s padajuće metode i izgraditi testni slučaj na temelju ulaznih vrijednosti potrebnih za vaše sučelje. Zatim možete izraditi testne slučajeve za svaku ekvivalenciju i izvršiti svoje testne slučajeve. Možete čak ponovno koristiti testne slučajeve i uređivati ​​ih u uređivaču koraka, štedeći puno vremena.

 

3. Izvještavanje i upravljanje testnim slučajevima

ZAPTEST vam omogućuje paralelno pokretanje testnih slučajeva, čime se značajno štedi vrijeme. To vam može pomoći da pokrenete veliki broj različitih particija ekvivalencije odjednom ili da pokrenete određene grupe testova.

Rezultate je lako prikupiti zahvaljujući detaljnim izvješćima o neuspjelim/prošlim testovima, snimkama zaslona, ​​zapisnicima o izvršenju i metrici izvedbe koja se odnosi na svaki testni slučaj.

 

4. Održavanje testnog slučaja

Također možete jednostavno pratiti i održavati svoje testne slučajeve zahvaljujući kvalitetnim mogućnostima kontrole verzija. Štoviše, korisnici ZAPTEST-a mogu klonirati i ponovno koristiti testove kako bi postigli novu razinu učinkovitosti.

ZAPTEST nudi puno više funkcionalnosti osim automatizacije testnih slučajeva. S paketom RPA alata, ZAPTEST nudi funkcionalnost 2-u-1, premošćujući jaz između DevOps-a i BizOps-a u budućnosti obilježenoj hiperautomatizacijom, gdje će sve što se može automatizirati biti automatizirano.

 

Završne misli

Podjela ekvivalencije elegantno je rješenje za situacije u kojima ispitivači moraju pronaći ravnotežu između učinkovitosti i točnosti. S nekim softverom koji dopušta gotovo beskrajan raspon ulaza, podjela klase ekvivalencije pomaže timovima rastaviti podatke testiranja na upravljive dijelove veličine zalogaja od kojih se svaki može temeljito testirati.

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