Čo je technika analýzy tried ekvivalentnosti a ako sa používa pri testovaní softvéru?
sobes.tech AI
Odpoveď od AI
Technika analýzy ekvivalentných tried (Equivalence Partitioning) je metóda navrhovania testovacích prípadov založená na rozdelení vstupných údajov (alebo výstupných podmienok) na triedy, ktorých zástupcovia budú spracovávaní programom podobným spôsobom. Testovanie jedného zástupcu z každej triedy sa považuje za dostatočné na pokrytie celej triedy.
Hlavná myšlienka: Ak test na jednom zástupcovi triedy odhalí chybu, pravdepodobne ju odhalí aj test na iných zástupcoch tej istej triedy. Ak test na jednom zástupcovi neodhalí chybu, pravdepodobne ju neodhalí ani test na iných zástupcoch tej istej triedy.
Použitie:
- Identifikácia ekvivalentných tried:
- Určia sa povolené a nepovolené triedy pre každé vstupné pole (číselný rozsah, sada reťazcov, logické hodnoty atď.).
- Pre číselné rozsahy:
- Povolený rozsah.
- Čísla menšie ako dolná hranica (nepovolená trieda).
- Čísla väčšie ako horná hranica (nepovolená trieda).
- Pre sady hodnôt:
- Povolené hodnoty.
- Nepovolené hodnoty (napríklad reťazce v poli pre čísla).
- Napríklad, pre pole "Vek" od 18 do 65 rokov:
- Povolená trieda: 18-65 (napríklad, 25, 40, 60)
- Nepovolená trieda: < 18 (napríklad, 17, 0)
- Nepovolená trieda: > 65 (napríklad, 66, 100)
- Vytvorenie testovacích prípadov:
- Vyberie sa jeden zástupca z každej identifikovanej triedy (povolený a nepovolený).
- Vytvoria sa testovacie prípady s vybranými zástupcami ako vstupnými údajmi.
Príklad:
Formulár pre objednávku, pole "Počet tovaru", povolená hodnota od 1 do 99.
| Ekvivalentná trieda | Typ | Zástupcovia na testovanie |
|---|---|---|
| Menej ako 1 | Nepovolené | 0, -5 |
| Od 1 do 99 | Povolené | 1, 50, 99 |
| Viac ako 99 | Nepovolené | 100, 1000 |
| Nereťazcové hodnoty | Nepovolené | "abc", " " |
Z každej triedy je vybraný aspoň jeden zástupca na vytvorenie testovacieho prípadu. Napríklad, pre toto pole bude minimálne 4-6 testovacích prípadov, pokrývajúcich všetky identifikované triedy.
Výhody:
- Znižuje nadbytočnosť testovacích prípadov.
- Pomáha systematizovať proces testovania.
- Zabezpečuje dobré pokrytie testov s menším počtom testov v porovnaní s testovaním každej možnej vstupnej hodnoty.
Nevýhody:
- Môže nezistiť chyby na hraničných hodnotách (často sa používa v kombinácii s analýzou hraničných hodnôt).
- Účinnosť závisí od správnosti identifikácie ekvivalentných tried.