Sobes.tech
Junior

Co je technika analýzy tříd ekvivalence a jak se používá při testování softwaru?

sobes.tech AI

Odpověď od AI

Technika analýzy tříd ekvivalentnosti (Equivalence Partitioning) je metoda návrhu testovacích případů založená na rozdělení vstupních dat (nebo výstupních podmínek) do tříd, jejichž zástupci budou zpracováváni programem podobným způsobem. Testování jednoho zástupce z každé třídy je považováno za dostatečné pro pokrytí celé třídy.

Hlavní myšlenka: Pokud test na jednom zástupci třídy odhalí chybu, pravděpodobně ji odhalí i test na jiném zástupci téže třídy. Pokud test na jednom zástupci neodhalí chybu, pravděpodobně ji neodhalí ani test na jiném zástupci téže třídy.

Použití:

  1. Identifikace tříd ekvivalentnosti:
    • Určí se platné a neplatné třídy pro každé vstupní pole (číselný rozsah, sada řetězců, logické hodnoty atd.).
    • Pro číselné rozsahy:
      • Platný rozsah.
      • Čísla menší než spodní hranice (neplatná třída).
      • Čísla větší než horní hranice (neplatná třída).
    • Pro sady hodnot:
      • Platné hodnoty.
      • Neplatné hodnoty (například řetězce v poli pro čísla).
    • Například pro pole "Věk" od 18 do 65 let:
      • Platná třída: 18-65 (například 25, 40, 60)
      • Neplatná třída: < 18 (například 17, 0)
      • Neplatná třída: > 65 (například 66, 100)
  2. Vytvoření testovacích případů:
    • Vybere se jeden zástupce z každé identifikované třídy (platné a neplatné).
    • Vytvoří se testovací případy s vybranými zástupci jako vstupními daty.

Příklad:

Formulář pro objednávku, pole "Počet zboží", platná hodnota od 1 do 99.

Třída ekvivalentnosti Typ Zástupci pro testování
Méně než 1 Neplat. 0, -5
Od 1 do 99 Plat. 1, 50, 99
Více než 99 Neplat. 100, 1000
Nečíselné hodnoty Neplat. "abc", " "

Z každé třídy je vybrán alespoň jeden zástupce pro vytvoření testovacího případu. Například pro toto pole bude minimálně 4-6 testovacích případů pokrývajících všechny identifikované třídy.

Výhody:

  • Snižuje nadbytečnost testovacích případů.
  • Pomáhá systematizovat proces testování.
  • Zajišťuje dobré pokrytí testů s menším počtem testů ve srovnání s testováním každé možné vstupní hodnoty.

Nevýhody:

  • Může nezjistit chyby na hraničních hodnotách (často se používá v kombinaci s analýzou hraničních hodnot).
  • Účinnost závisí na správnosti identifikace tříd ekvivalentnosti.