Analiza graničnih vrijednosti i podjela ekvivalencije

⚡ Pametni sažetak

Particioniranje ekvivalencije i analiza graničnih vrijednosti su tehnike testiranja crne kutije koje komprimiraju velike ulazne raspone u klase ekvivalencije i testiraju rubove particije, pružajući snažno otkrivanje nedostataka s učinkovitom pokrivenošću valjanih i nevaljanih ulaza.

  • Ulazi particije: Grupirajte vrijednosti u valjane i nevaljane klase kako biste uklonili redundanciju.
  • Target Granice: Testirajte minimalne, gotovo minimalne, nominalne, gotovo maksimalne i maksimalne vrijednosti.
  • Spoji oboje: Prvo koristite particioniranje ekvivalencije, a zatim analizu graničnih vrijednosti za rubne defekte.
  • Maksimizirajte pokrivenost: Jedna vrijednost po klasi validira ponašanje za sve ekvivalentne ulaze.
  • Koristite AI Generators: Alati umjetne inteligencije automatiziraju otkrivanje particija i stvaranje graničnih slučajeva.

Analiza graničnih vrijednosti s pet točaka

Iscrpno testiranje rijetko je izvedivo zbog vremenskih i kombinatornih ograničenja. Particioniranje ekvivalencije i analiza graničnih vrijednosti rješavaju to grupovanjem.ping sličnih ulaznih podataka i ciljanja njihovih rubova za jaču pokrivenost s manje slučajeva.

Što je particioniranje ekvivalencije?

Ekvivalentno particioniranje (također se naziva particioniranje ekvivalentnih klasa ili ECP) ​​je tehnika crne kutije koja dijeli ulazne podatke u skupine ekvivalentnih vrijednosti. Tester odabire jednog predstavnika po klasi, pretpostavljajući da se softver ponaša isto za svakog člana.

  • Dijeli ulaznu domenu na valjane i nevaljane klase ekvivalencije.
  • Uopće se primjenjuje razine testiranja—jedinica, integracija, sustav i prihvaćanje.

Što je analiza graničnih vrijednosti?

Analiza graničnih vrijednosti (BVA), također nazvana provjera raspona, potvrđuje ekstremne krajeve svake klase ekvivalencije. Budući da se defekti grupiraju na granicama raspona, BVA cilja na pet ključnih točaka:

  1. Minimum
  2. Malo iznad minimuma
  3. Nominalna vrijednost
  4. Malo ispod maksimuma
  5. Maksimum

Analiza graničnih vrijednosti s pet točaka

BVA nadopunjuje particioniranje ekvivalencije: nakon što su klase definirane, pojavljuju se njihove granične vrijednosti koje su odstupale jedan od drugoga i rubne greške.

Zašto koristiti particioniranje ekvivalencije i analizu graničnih vrijednosti?

Inteligentni odabir testova je ključan kada su kombinacije prevelike za iscrpno testiranje. Ove tehnike nude tri prednosti:

  1. Komprimirajte velike volumene testnih slučajeva u upravljive dijelove.
  2. Osigurajte jasna pravila za odabir testnih podataka bez žrtvovanja učinkovitosti.
  3. Prilagođeno aplikacijama koje zahtijevaju intenzivan izračun i imaju mnogo numeričkih varijabli.

Kako izvršiti particioniranje ekvivalencije (primjer)

  • Razmotrite tekstualni okvir Naruči pizzu u nastavku.
  • Količine 1–10 su valjane; pojavljuje se poruka o uspjehu.
  • Količine 11–99 su nevažeće, aktiviraju “Može se naručiti samo 10 pizza”.
Naručite pizzu:

Uvjeti ispitivanja:

  1. Bilo koji broj veći od 10 je nevažeći.
  2. Bilo koji broj ispod 1 je nevažeći.
  3. Numbers 1–10 su važeći.
  4. Bilo koji troznamenkasti broj poput -100 je nevažeći.

Testiranje svake vrijednosti proizvodi više od 100 slučajeva. Particioniranje ekvivalencije grupira domenu u klase s identičnim ponašanjem.

Grupe za particioniranje ekvivalencije za unos pizze

Ove grupe se nazivaju Klase ekvivalencijeOdaberite jednu vrijednost po klasi - ako prođe, sve ostale prolaze; ako ne prođe, cijela klasa ne prođe.

Reprezentativne vrijednosti klase ekvivalencije

Kako izvršiti analizu graničnih vrijednosti (primjer)

Koristeći isto Pizza polje, BVA provjerava rubove particije umjesto nominalnih vrijednosti. Testeri procjenjuju 0, 1, 10 i 11 - pokrivajući valjane i nevaljane granice.

Analiza graničnih vrijednosti na ulazu za pizzu

Za ulaz koji prihvaća vrijednosti od 1 do 10, granični testni slučajevi su:

Testni scenarij Description Očekivani ishod
Granična vrijednost = 0 Sustav NE bi trebao prihvatiti
Granična vrijednost = 1 Sustav bi trebao prihvatiti
Granična vrijednost = 2 Sustav bi trebao prihvatiti
Granična vrijednost = 9 Sustav bi trebao prihvatiti
Granična vrijednost = 10 Sustav bi trebao prihvatiti
Granična vrijednost = 11 Sustav NE bi trebao prihvatiti

Particioniranje ekvivalencije u odnosu na analizu graničnih vrijednosti

Oba smanjuju volumen testiranja, ali se razlikuju u fokusu i vremenu.

Aspekt Ekvivalentno particioniranje Analiza graničnih vrijednosti
Fokus Grupe ekvivalentnih ulaza Rubovi svake grupe
Izbor podataka Jedna vrijednost po razredu Min, gotovo min, nominalno, gotovo maks, maks
Najbolje za Smanjenje suvišnih slučajeva Hvatanje nedostataka jedan po jedan
Narudžba Prvo primijenjeno Primijenjeno sljedeće

Primjer: Validacija polja za lozinku

Polje za lozinku koje prihvaća 6 do 10 znakova formira tri particije - 0-5, 6-10 i 11-14 - s ekvivalentnim rezultatima unutar svake.

Upišite lozinku:
# Testni scenarij Očekivani ishod
1 Unesite 0 do 5 znakova Sustav ne bi trebao prihvatiti
2 Unesite 6 do 10 znakova Sustav bi trebao prihvatiti
3 Unesite 11 do 14 znakova Sustav ne bi trebao prihvatiti

Najbolje prakse za particioniranje ekvivalencije i BVA

Slijedite ove postupke kako biste održali snažnu pokrivenost uz kontrolu broja testova:

  • Mapirajte svaku domenu: Prvo navedite valjane, nevaljane i particije za posebne slučajeve.
  • Testirajte obje strane svake granice: Uključite vrijednosti samo unutra i izvana kako biste uočili pogreške koje odstupaju za jedan.
  • Kombinirajte tehnike: Uparite s tablicama odlučivanja ili testiranjem prijelaza stanja za složenu logiku.
  • Automatizirajte rubne slučajeve: Parametrizirajte granične vrijednosti kako bi se regresijski paketi izvodili dosljedno.

Ključni zaključci

  • Particioniranje ekvivalencije grupira slične ulaze; dovoljna je jedna vrijednost po klasi.
  • Analiza graničnih vrijednosti potvrđuje granice particije i valjane/nevaljane rubove.
  • Obje su tehnike crne kutije za numerička ili polja temeljena na rasponu.
  • Njihovo kombiniranje smanjuje volumen testiranja bez gubitka kvalitete otkrivanja nedostataka.

Analiza granične vrijednosti i testiranje particije ekvivalencije Video

Kliknite ovdje ako video nije dostupan

Pitanja i odgovori

Particioniranje ekvivalencije odabire jednog predstavnika po klasi; analiza graničnih vrijednosti cilja ekstremne vrijednosti na svakom rubu. Particioniranje smanjuje volumen, a analiza graničnih vrijednosti hvata granične nedostatke.

Particioniranje ekvivalencije je tehnika crne kutije jer se fokusira na ponašanje ulazno-izlaznih podataka bez pristupa izvornom kodu. Testeri izvode particije iz specifikacija, pa se primjenjuje na razinama jedinica, integracije, sustava i prihvaćanja.

Da. Oboje se odnosi na API testiranje, gdje parametri i polja korisnog tereta često imaju numeričke raspone ili ograničenja duljine. Testeri definiraju particije za valjane, nevaljane i rubne ulaze.

Izbjegavajte BVA kada ulazi nisu numerički rasponi - kao što su neuređeni skupovi, logičke zastavice ili kategoričke vrijednosti. Tablice odlučivanja ili testiranje prijelaza stanja bolje funkcioniraju jer granice tamo nisu značajne.

Robusni BVA proširuje standardni pristup dodavanjem vrijednosti neposredno izvan valjanog raspona - jedne ispod minimuma i jedne iznad maksimuma - kako bi se provjerilo kako sustav odbacuje očito nevažeće ulaze.

Da. Generatori umjetne inteligencije analiziraju zahtjeve i sheme kako bi predložili klase ekvivalencije i granične vrijednosti. Alati poput Testim i Mabl brzo učite iz povijesti nedostataka i rubnih slučajeva površine.

Umjetna inteligencija otkriva preklapanjeping particije, redundantni slučajevi i propuštene rubove koje testeri previđaju. Strojno učenje rangira visokorizične granice iz povijesti nedostataka, omogućujući pametniji odabir testova i brže otkrivanje suptilnih problema.

Da. JUnit, TestNG, a pytest podržava parametrizirano testiranje, omogućujući testerima da definiraju particije i granične vrijednosti kao ulazne skupove podataka. To omogućuje sustavno izvršavanje slučajeva ekvivalencije i graničnih slučajeva u CI cjevovodima.

Sažmite ovu objavu uz: