Kas yra ekvivalencijos klasių analizės technika ir kaip ji taikoma programinės įrangos testavime?
sobes.tech AI
Atsakymas iš AI
Ekvivalentių klasių analizės technika (Equivalence Partitioning) yra testavimo atvejų projektavimo metodas, pagrįstas įvesties duomenų (arba išvesties sąlygų) padalijimu į klases, kurių atstovai bus apdorojami programos panašiu būdu. Manoma, kad pakanka testuoti vieną atstovą iš kiekvienos klasės, kad būtų padengta visa klasė.
Pagrindinė idėja: Jei testas vieno klasės atstovo aptinka klaidą, tikėtina, kad ir kiti atstovai ją aptiks. Jei testas vieno atstovo neaptinka klaidos, tikėtina, kad ir kiti jos neaptiks.
Taikymas:
- Ekvivalentinių klasių identifikavimas:
- Nustatomos leidžiamos ir draudžiamos klasės kiekvienam įvesties laukui (skaitmeninis diapazonas, simbolių rinkinys, loginės reikšmės ir kt.).
- Skaitmeninių diapazonų atveju:
- Leidžiamas diapazonas.
- Skaičiai mažesni už apatinę ribą (draudžiama klasė).
- Skaičiai didesni už viršutinę ribą (draudžiama klasė).
- Reikšmių rinkinių atveju:
- Leidžiamos reikšmės.
- Draudžiamos reikšmės (pavyzdžiui, simboliai skaičių lauke).
- Pavyzdžiui, lauko "Amžius" atveju nuo 18 iki 65 metų:
- Leidžiama klasė: 18-65 (pavyzdžiui, 25, 40, 60)
- Draudžiama klasė: < 18 (pavyzdžiui, 17, 0)
- Draudžiama klasė: > 65 (pavyzdžiui, 66, 100)
- Testavimo atvejų kūrimas:
- Pasirenkamas vienas atstovas iš kiekvienos identifikuotos klasės (leidžiamos ir draudžiamos).
- Sukuriami testavimo atvejai su pasirinktais atstovais kaip įvesties duomenimis.
Pavyzdys:
Užsakymo forma, laukas "Prekės kiekis", leidžiama reikšmė nuo 1 iki 99.
| Ekvivalentių klasių | Tipas | Atstovai testavimui |
|---|---|---|
| Mažiau nei 1 | Draudžiama | 0, -5 |
| Nuo 1 iki 99 | Leidžiama | 1, 50, 99 |
| Daugiau nei 99 | Draudžiama | 100, 1000 |
| Nereikšminės reikšmės | Draudžiama | "abc", " " |
Kiekvienai klasei pasirenkamas bent vienas atstovas, kad sukurtų testavimo atvejį. Pavyzdžiui, šiam laukui bus mažiausiai 4-6 testavimo atvejai, apimantys visas identifikuotas klases.
Privalumai:
- Sumažina testavimo atvejų perteklinį kiekį.
- Padeda sisteminti testavimo procesą.
- Užtikrina gerą testavimo padengimą su mažiau testų, palyginti su kiekvienos galimos įvesties reikšmės testavimu.
Trūkumai:
- Gali nepastebėti klaidų ribinėse reikšmėse (dažnai naudojama kartu su ribinių reikšmių analize).
- Efektyvumas priklauso nuo teisingo ekvivalentių klasių identifikavimo.