Analýza okrajových hodnot a dělení ekvivalence

⚡ Chytré shrnutí

Rozdělování ekvivalence a analýza okrajových hodnot jsou techniky testování černé skříňky, které komprimují velké rozsahy vstupů do tříd ekvivalence a testují hrany rozdělení, čímž poskytují silnou detekci defektů s efektivním pokrytím platných i neplatných vstupů.

  • Vstupy oddílů: Seskupte hodnoty do platných a neplatných tříd, abyste odstranili redundanci.
  • Target Hranice: Otestujte minimální, téměř minimální, nominální, téměř maximální a maximální hodnoty.
  • Spojte obojí: Nejprve použijte ekvivalenční dělení a poté analýzu okrajových hodnot pro defekty hran.
  • Maximalizujte pokrytí: Jedna hodnota na třídu ověřuje chování pro všechny ekvivalentní vstupy.
  • Použijte AI Generators: Nástroje umělé inteligence automatizují vyhledávání oddílů a vytváření hraničních případů.

Pětibodový model analýzy okrajových hodnot

Vyčerpávající testování je zřídka proveditelné kvůli časovým a kombinatorickým omezením. Rozdělování ekvivalence a analýza okrajových hodnot tento problém řeší grupou...ping podobné vstupy a zaměřování se na jejich okraje pro silnější pokrytí s menším počtem případů.

Co je to ekvivalenční dělení?

Rozdělení ekvivalence (také nazývané dělení tříd ekvivalence neboli ECP) ​​je technika černé skříňky, která rozděluje vstupní data do skupin s ekvivalentními hodnotami. Tester vybere jednoho zástupce z každé třídy za předpokladu, že se software chová stejně pro každého člena.

  • Rozdělí vstupní doménu na platné a neplatné třídy ekvivalence.
  • Platí vůbec úrovně testování—jednotka, integrace, systém a přijetí.

Co je to analýza okrajových hodnot?

Analýza hraniční hodnoty (BVA), nazývaná také kontrola rozsahu, ověřuje extrémní konce každé třídy ekvivalence. Protože se defekty shlukují v mezích rozsahu, BVA se zaměřuje na pět klíčových bodů:

  1. Minimální
  2. Těsně nad minimem
  3. Nominální hodnota
  4. Těsně pod maximem
  5. Maximum

Pětibodový model analýzy okrajových hodnot

BVA doplňuje ekvivalenční dělení: jakmile jsou třídy definovány, jejich hraniční hodnoty se objevují po jednotlivých třídách a na okrajích chyb.

Proč používat ekvivalenční dělení a analýzu okrajových hodnot?

Inteligentní výběr testů je nezbytný, když jsou kombinace příliš velké na to, aby se daly vyčerpávajícím způsobem otestovat. Tyto techniky nabízejí tři výhody:

  1. Komprimujte velké objemy testovacích případů do zvládnutelných bloků.
  2. Poskytněte jasná pravidla pro výběr testovacích dat bez kompromisů v efektivitě.
  3. Vhodné pro aplikace náročné na výpočty s mnoha numerickými proměnnými.

Jak provést ekvivalenční dělení (příklad)

  • Vezměte si níže uvedené textové pole Objednat pizzu.
  • Množství 1–10 jsou platná; zobrazí se hlášení o úspěchu.
  • Množství 11–99 jsou neplatná, spouštějí “Lze objednat pouze 10 pizz”.
Objednat pizzu:

Zkušební podmínky:

  1. Jakékoli číslo nad 10 je neplatné.
  2. Jakékoli číslo menší než 1 je neplatné.
  3. Numbers Platí body 1–10.
  4. Jakékoli trojciferné číslo, například -100, je neplatné.

Testování každé hodnoty vygeneruje více než 100 případů. Ekvivalenční dělení seskupuje doménu do tříd s identickým chováním.

Ekvivalenční partiční skupiny pro vstup pizzy

Tyto skupiny se nazývají Ekvivalenční třídyVyberte jednu hodnotu pro každou třídu – pokud projde, projdou všechny ostatní; pokud neuspěje, selže celá třída.

Reprezentativní hodnoty třídy ekvivalence

Jak provést analýzu okrajových hodnot (příklad)

Pomocí stejného pole Pizza BVA kontroluje hrany oddílů spíše než nominální hodnoty. Testeři vyhodnocují 0, 1, 10 a 11 – a pokrývají tak platné i neplatné hranice.

Analýza okrajových hodnot na vstupu pizzy

Pro vstup akceptující 1 až 10 jsou hraniční testovací případy následující:

Scénář testu Description Očekávaný výsledek
Hraniční hodnota = 0 Systém NEMÁ akceptovat
Hraniční hodnota = 1 Systém by měl akceptovat
Hraniční hodnota = 2 Systém by měl akceptovat
Hraniční hodnota = 9 Systém by měl akceptovat
Hraniční hodnota = 10 Systém by měl akceptovat
Hraniční hodnota = 11 Systém NEMÁ akceptovat

Rozdělení ekvivalence vs. analýza okrajových hodnot

Oba snižují objem testů, ale liší se zaměřením a načasováním.

Vzhled Rozdělení ekvivalence Analýza okrajových hodnot
Soustředit Skupiny ekvivalentních vstupů Hrany každé skupiny
Výběr dat Jedna hodnota na třídu Min, téměř min, nominální, téměř max, max
Nejlepší pro Snížení nadbytečných případů Odhalování chyb, které se liší po jednotlivých vadách
Objednávka Použito jako první Použito dále

Příklad: Ověření pole hesla

Pole pro heslo, které přijímá 6 až 10 znaků, tvoří tři oddíly – 0–5, 6–10 a 11–14 – s ekvivalentními výsledky v každém z nich.

Zadejte heslo:
# Scénář testu Očekávaný výsledek
1 Zadejte 0 až 5 znaků Systém by neměl akceptovat
2 Zadejte 6 až 10 znaků Systém by měl akceptovat
3 Zadejte 11 až 14 znaků Systém by neměl akceptovat

Nejlepší postupy pro dělení ekvivalence a BVA

Pro udržení vysokého pokrytí a zároveň kontrolu počtu testů dodržujte tyto postupy:

  • Namapujte každou doménu: Nejprve vypište platné, neplatné a speciální oddíly.
  • Otestujte obě strany každého limitu: Zahrňte hodnoty pouze dovnitř i vně, abyste zachytili chyby odchylující se o jednu.
  • Kombinujte techniky: Pro komplexní logiku použijte rozhodovací tabulky nebo testování přechodů stavů.
  • Automatizace okrajových případů: Parametrizujte okrajové hodnoty, aby regresní sady běžely konzistentně.

Key Takeaways

  • Rozdělení ekvivalence seskupuje podobné vstupy; stačí jedna hodnota na třídu.
  • Analýza okrajových hodnot ověřuje limity rozdělení a platné/neplatné hrany.
  • Obě jsou techniky černé skříňky pro číselná nebo rozsahová pole.
  • Jejich kombinace snižuje objem testů bez ztráty kvality detekce defektů.

Analýza hraničních hodnot a video testování rozdělení ekvivalence

klikněte zde pokud video není přístupné

Nejčastější dotazy

Ekvivalenční dělení vybírá jednoho zástupce na třídu; analýza okrajových hodnot se zaměřuje na extrémní hodnoty na každé hraně. Dělení snižuje objem a analýza okrajových hodnot zachycuje limitní defekty.

Ekvivalenční dělení je technika černé skříňky, protože se zaměřuje na chování vstupu a výstupu bez přístupu ke zdrojovému kódu. Testeři odvozují dělení ze specifikací, takže se uplatňuje na úrovni jednotek, integrace, systému a akceptace.

Ano. Oba se vztahují na API testování, kde parametry a pole datové části mají často číselné rozsahy nebo omezení délky. Testeři definují oddíly pro platné, neplatné a hraniční vstupy.

Vyhněte se BVA, pokud vstupy nejsou číselné rozsahy – například neuspořádané množiny, booleovské příznaky nebo kategoriální hodnoty. Rozhodovací tabulky nebo testování přechodů stavů fungují lépe, protože hranice v těchto případech nemají smysl.

Robustní BVA rozšiřuje standardní přístup přidáním hodnot těsně mimo platný rozsah – jednu pod minimem a jednu nad maximem – aby se ověřilo, jak systém odmítá jasně neplatné vstupy.

Ano. Generátory umělé inteligence analyzují požadavky a schémata, aby navrhly třídy ekvivalence a hraniční hodnoty. Nástroje jako Testim a Mabl rychle se poučit z historie defektů a případů okrajových povrchů.

Umělá inteligence detekuje překrýváníping oddíly, redundantní případy a vynechané hrany, které testeři přehlížejí. Strojové učení seřazuje hranice s vysokým rizikem z historie defektů, což umožňuje inteligentnější výběr testů a rychlejší detekci jemných problémů.

Ano. JUnit, TestNGa pytest podporují parametrizované testování, což testerům umožňuje definovat oddíly a hraniční hodnoty jako vstupní datové sady. To umožňuje systematické provádění případů ekvivalence a hraničních případů v CI pipeline.

Shrňte tento příspěvek takto: