Piirväärtuste analüüs ja samaväärsuse jaotamine

⚡ Nutikas kokkuvõte

Ekvivalentsusjaotamine ja piirväärtuste analüüs on musta kasti testimise tehnikad, mis tihendavad suured sisendvahemikud ekvivalentsusklassideks ja testivad partitsiooni servi, pakkudes tugevat defektide tuvastamist ja tõhusat katvust nii kehtivate kui ka kehtetute sisendite puhul.

  • Partitsiooni sisendid: Liigsuse eemaldamiseks grupeeri väärtused kehtivatesse ja kehtetutesse klassidesse.
  • Target Piirid: Testi miinimum-, miinimum-, nominaal-, maksimum- ja maksimumväärtusi.
  • Kombineeri mõlemad: Servadefektide puhul kasutage esmalt ekvivalentsusjaotust ja seejärel piirväärtuste analüüsi.
  • Maksimaalne katvus: Üks väärtus klassi kohta valideerib käitumist kõigi samaväärsete sisendite puhul.
  • Kasutage AI-d Generators: Tehisintellekti tööriistad automatiseerivad partitsioonide avastamise ja piirijuhtumite loomise.

Piirväärtuste analüüsi viiepunktiline mudel

Põhjalik testimine on aja ja kombinatoorsete piirangute tõttu harva teostatav. Ekvivalentsusjaotus ja piirväärtusanalüüs lahendavad selle rühmitamise teel.ping sarnaseid sisendeid ja nende servade sihtimine tugevama katvuse saavutamiseks vähemate juhtumitega.

Mis on ekvivalentsusjaotus?

Samaväärsuse jaotamine (nimetatakse ka ekvivalentsusklasside jaotamiseks või ECP-ks) on musta kasti tehnika, mis jagab sisendandmed samaväärsete väärtustega rühmadesse. Testija valib igast klassist ühe esindaja, eeldades, et tarkvara käitub iga liikme puhul ühtemoodi.

  • Jagab sisenddomeeni kehtivateks ja kehtetuteks ekvivalentsusklassideks.
  • Kehtib üldse testimise tasemed—üksus, integratsioon, süsteem ja aktsepteerimine.

Mis on piirväärtusanalüüs?

Piirväärtuse analüüs (BVA), mida nimetatakse ka vahemiku kontrollimiseks, valideerib iga ekvivalentsusklassi äärmusi. Kuna defektid koonduvad vahemiku piiridesse, on BVA suunatud viiele põhipunktile:

  1. Miinimum
  2. Veidi üle miinimumi
  3. Nimiväärtus
  4. Natuke alla maksimumi
  5. Maksimaalne

Piirväärtuste analüüsi viiepunktiline mudel

BVA täiendab ekvivalentsusjaotust: kui klassid on defineeritud, ilmnevad nende rajaväärtused ükshaaval ja servavead.

Miks kasutada ekvivalentsusjaotust ja piiriväärtuste analüüsi?

Nutikas testivalik on oluline, kui kombinatsioonid on ammendavaks testimiseks liiga suured. Need meetodid pakuvad kolme eelist:

  1. Tihendage suured testimahud hallatavateks tükkideks.
  2. Esitage selged reeglid testandmete valimiseks, ilma et see kahjustaks tõhusust.
  3. Sobib arvutusmahukatele rakendustele, kus on palju numbrilisi muutujaid.

Ekvivalentsuse jaotamise teostamine (näide)

  • Mõelge allolevale tekstikastile „Telli pitsa”.
  • Kogused 1–10 on kehtivad; kuvatakse eduteade.
  • Kogused 11–99 on kehtetud, käivitades “Tellida saab ainult 10 pizzat”.
Telli pizza:

Testimistingimused:

  1. Iga arv üle 10 on kehtetu.
  2. Iga arv alla 1 on kehtetu.
  3. Numbers 1–10 on kehtivad.
  4. Iga kolmekohaline arv, näiteks -100, on kehtetu.

Iga väärtuse testimine annab tulemuseks 100+ juhtumit. Ekvivalentsusjaotamine rühmitab domeeni identse käitumisega klassidesse.

Pizza sisendi ekvivalentsusjaotuse rühmad

Neid rühmi nimetatakse Samaväärsuse klassidVali iga klassi kohta üks väärtus – kui see läbib, läbivad kõik teised; kui see läbi kukub, läbib kogu klass.

Ekvivalentsusklassi esindusväärtused

Kuidas teostada piiriväärtuste analüüsi (näide)

Sama pitsavälja abil kontrollib BVA partitsiooni servi, mitte nominaalväärtusi. Testijad hindavad väärtusi 0, 1, 10 ja 11, hõlmates kehtivaid ja kehtetuid piire.

Pitsa sisendi piirväärtuste analüüs

Sisendi puhul, mis aktsepteerib väärtusi 1 kuni 10, on piiritestid järgmised:

Testi stsenaarium Descriptioon Oodatud tulemus
Piirväärtus = 0 Süsteem EI TOHI aktsepteerida
Piirväärtus = 1 Süsteem peaks aktsepteerima
Piirväärtus = 2 Süsteem peaks aktsepteerima
Piirväärtus = 9 Süsteem peaks aktsepteerima
Piirväärtus = 10 Süsteem peaks aktsepteerima
Piirväärtus = 11 Süsteem EI TOHI aktsepteerida

Ekvivalentsuse jaotamine vs. piirväärtuste analüüs

Mõlemad vähendavad testide mahtu, kuid erinevad fookuse ja ajastuse poolest.

Aspekt Samaväärsuse jaotamine Piirväärtuste analüüs
Focus Samaväärsete sisendite rühmad Iga rühma servad
Andmete valik Üks väärtus klassi kohta Min, min-lähedane, nominaalne, max-lähedane, max
Parim on Üleliigsete juhtumite vähendamine Ükshaaval defektide avastamine
järjekord Rakendatud esimesena Rakendatud järgmisena

Näide: Paroolivälja valideerimine

6–10 tähemärgi pikkune parooliväli moodustab kolm partitsiooni – 0–5, 6–10 ja 11–14 –, mille tulemused on igas partitsioonis samaväärsed.

Sisestage parool:
# Testi stsenaarium Oodatud tulemus
1 Sisestage 0–5 tähemärki Süsteem ei peaks aktsepteerima
2 Sisestage 6–10 tähemärki Süsteem peaks aktsepteerima
3 Sisestage 11–14 tähemärki Süsteem ei peaks aktsepteerima

Ekvivalentsusjaotuse ja BVA parimad tavad

Järgige neid tavasid, et hoida leviala tugevana ja samal ajal testide arvu kontrollida:

  • Kaardi iga domeen: Loetlege kõigepealt kehtivad, sobimatud ja erijuhtude partitsioonid.
  • Testi iga piiri mõlemat poolt: Lisage väärtused nii sees kui ka väljas, et tuvastada ühekaupa kõrvalekaldeid.
  • Kombineeri tehnikaid: Keerulise loogika jaoks siduge otsustustabelite või olekuülemineku testimisega.
  • Äärmuslike juhtumite automatiseerimine: Parameetriseerige piirväärtused, et regressioonikomplektid töötaksid järjepidevalt.

Võtme tagasivõtmine

  • Ekvivalentsusjaotus rühmitab sarnased sisendid; piisab ühest väärtusest klassi kohta.
  • Piirväärtuste analüüs valideerib partitsioonide piire ja kehtivaid/kehtetuid servi.
  • Mõlemad on musta kasti tehnikad numbriliste või vahemikupõhiste väljade jaoks.
  • Nende kombineerimine vähendab testide mahtu ilma defektide tuvastamise kvaliteeti kaotamata.

Piirväärtuste analüüsi ja samaväärsuse jaotamise testimise video

Click siin kui video pole juurdepääsetav

KKK

Ekvivalentsusjaotamine valib iga klassi kohta ühe esindaja; ääreväärtuste analüüs sihtib iga serva äärmuslikke väärtusi. Jaotamine vähendab mahtu ja ääreväärtuste analüüs püüab kinni piirdefektid.

Ekvivalentsusjaotamine on musta kasti tehnika, kuna see keskendub sisend-väljundkäitumisele ilma lähtekoodile juurdepääsuta. Testijad tuletavad jaotused spetsifikatsioonidest, seega kehtib see üksuse, integratsiooni, süsteemi ja aktsepteerimise tasandil.

Jah. Mõlemad kehtivad API testimine, kus parameetritel ja kasuliku koormuse väljadel on sageli numbrilised vahemikud või pikkuse piirangud. Testijad määratlevad partitsioonid kehtivate, sobimatute ja servasisendite jaoks.

Vältige piiridevahelist analüüsi (BVA), kui sisendid ei ole numbrilised vahemikud – näiteks järjestamata hulgad, tõeväärtusmärgid või kategoorilised väärtused. Otsustustabelid või olekuülemineku testimine toimivad paremini, kuna seal pole piiridel tähendust.

Robustne BVA laiendab standardmeetodit, lisades väärtusi, mis jäävad veidi väljaspool kehtivat vahemikku – ühe miinimumist madalamale ja ühe maksimumist kõrgemale –, et kontrollida, kuidas süsteem selgelt sobimatud sisendid tagasi lükkab.

Jah. Tehisintellekti generaatorid analüüsivad nõudeid ja skeeme, et pakkuda välja ekvivalentsusklasse ja piirväärtusi. Tööriistad nagu Testim ja Mabl Õppige defektide ajaloost ja pinna servade juhtumitest kiiresti.

Tehisintellekt tuvastab kattumiseping partitsioonid, üleliigsed juhtumid ja vahelejäänud servad, mida testijad märkavad. Masinõpe järjestab kõrge riskiga piirid defektide ajaloo põhjal, võimaldades nutikamat testivalikut ja peensuste kiiremat tuvastamist.

Jah. JUnit, TestNGja pytest toetavad parameetrilist testimist, võimaldades testijatel sisendandmekogumitena defineerida partitsioone ja piiriväärtusi. See võimaldab ekvivalentsus- ja piirijuhtude süstemaatilist teostamist konfiguratsiooniinterferomeetrites.

Võta see postitus kokku järgmiselt: