Rozdelenie tried ekvivalencie – Equivalence Class Partitioning

Rozdelenie tried ekvivalencie – Equivalence Class Partitioning
3 MIN
04 sep 2023

Pri testovaní akéhokoľvek druhu aplikácie je takmer nemožné alebo naozaj veľmi časovo náročné otestovať všetky sady vstupných kombinácií. Preto, aby sme mohli efektívne testovať aplikáciu, používame techniky testovania softvéru, ako je technika Rozdelenia tried ekvivalencie.

Pomocou tejto techniky môžeme efektívne testovať softvérové aplikácie s obmedzeným súborom testovacích údajov. Poďme si teda teraz túto techniku podrobne overiť.

Čo je rozdelenie tried ekvivalencie?

Rozdelenie tried ekvivalencie je technika testovania čiernej skrinky (black-box testing) alebo technika testovania založená na špecifikácii, pri ktorej zoskupujeme vstupné údaje do logických oddielov nazývaných triedy ekvivalencie.

Predpokladá sa, že všetky dátové položky ležiace v triede ekvivalencie budú pri odovzdaní ako vstup spracované rovnakým spôsobom testovanou softvérovou aplikáciou.

Namiesto testovania všetkých kombinácií vstupných testovacích údajov teda môžeme vybrať a odovzdať aplikácii ľubovoľný testovací údaj z určitej triedy ekvivalencie a predpokladať, že aplikácia sa bude správať rovnako aj v prípade ostatných testovacích údajov tejto triedy. 

Príklad

Uvažujme príklad aplikácie, ktorá prijíma ako vstup číselné číslo s hodnotou od 10 do 100 a zisťuje jeho druhú stranu. Teraz môžeme pomocou testovania tried ekvivalencie vytvoriť nasledujúce triedy ekvivalencie:

Trieda ekvivalencieVysvetlenie
Čísla od 10 do 100Táto trieda bude obsahovať testovacie údaje pre pozitívny scenár.
Čísla od 0 po 9Táto trieda bude obsahovať testovacie údaje, ktoré sú obmedzené aplikáciou, pretože je navrhnutá tak, aby pracoval iba s číslami 10 až 100.
Väčšie než 100Táto trieda bude opäť obsahovať testovacie údaje, ktoré sú obmedzené aplikáciou, ale tentokrát na testovanie hornej hranice.
Záporné číslaKeďže so zápornými číslami sa dá zaobchádzať iným spôsobom, vytvoríme pre záporné čísla inú triedu, aby sme skontrolovali robustnosť aplikácie.
PísmenáTáto trieda sa použije na testovanie robustnosti aplikácie s nečíselnými znakmi.
Špeciálne znakyRovnako ako trieda ekvivalencie pre písmená, môžeme mať samostatnú triedu ekvivalencie pre špeciálne znaky.

Identifikácia tried ekvivalencie

Prediskutujme niekoľko bodov alebo osvedčených postupov týkajúcich sa identifikácie tried ekvivalencie :

  • Je nutné pokrytie všetkých typov testovacích údajov pre pozitívne a negatívne testovacie scenáre. Mali by byť vytvorené triedy testovacích údajov takým spôsobom, aby pokrývali všetky sady testovacích scenárov, ale zároveň by v nich nemala byť žiadna redundancia.
  • Ak existuje možnosť, že s testovacími údajmi v určitej triede možno zaobchádzať odlišne, potom je lepšie túto triedu ekvivalencie rozdeliť.

Napríklad vo vyššie uvedenom príklade aplikácia nepracuje s číslami – menšími ako 10. Takže namiesto vytvorenia 1 triedy pre čísla menšie ako 10 sme vytvorili dve triedy – čísla 0-9 a záporné čísla. Je to preto, že existuje možnosť, že aplikácia môže so zápornými číslami pracovať inak.

Výhody testovania ekvivalentných tried

  • Pomocou testovania tried ekvivalencie sa výrazne znižuje počet testovacích prípadov pri zachovaní rovnakého pokrytia testov.
  • Táto technika testovania pomáha dodať kvalitný produkt v minimálnom časovom období.
  • Je dokonale vhodná pre softvérové projekty s časovými a zdrojovými obmedzeniami.

Nevýhody testovania ekvivalentných tried

  • Celý úspech testovania tried ekvivalencie závisí od identifikácie tried ekvivalencie. Identifikácia týchto tried závisí od schopností testerov, ktorí tieto triedy a testovacie prípady na ich základe vytvárajú.
  • V prípade zložitých aplikácií je veľmi ťažké identifikovať celú množinu tried ekvivalencie a vyžaduje si to veľké odborné znalosti zo strany testera.
  • Nesprávne identifikované triedy ekvivalencie môžu viesť k menšiemu pokrytiu testov a možnosti úniku chýb.