Határérték-elemzés és ekvivalencia-felosztás

⚡ Okos összefoglaló

Az ekvivalencia particionálás és a határérték-analízis olyan fekete doboz tesztelési technikák, amelyek nagy bemeneti tartományokat ekvivalencia osztályokba sűrítenek, és tesztelik a partíciós éleket, így erős hibaészlelést biztosítanak, hatékony lefedettséggel az érvényes és érvénytelen bemenetek között.

  • Partíció bemenetek: Csoportosítsa az értékeket érvényes és érvénytelen osztályokba a redundancia elkerülése érdekében.
  • Target Határok: Teszteljen minimum, minimumhoz közeli, névleges, maximumhoz közeli és maximum értékeket.
  • Kombinálja mindkettőt: Először az ekvivalencia particionálást alkalmazd, majd a határérték-analízist élhibákra.
  • Maximalizált lefedettség: Osztályonként egy érték ellenőrzi az összes egyenértékű bemenet viselkedését.
  • Használj AI-t Generators: A mesterséges intelligencia eszközei automatizálják a partíciók felderítését és a határesetek létrehozását.

Határérték-elemzés ötpontos modellje

A kimerítő tesztelés ritkán kivitelezhető az időbeli és kombinatorikus korlátok miatt. Az ekvivalencia particionálás és a határérték-analízis ezt csoportosítással oldja meg.ping hasonló bemeneteket használva, és azok széleit célozva az erősebb lefedettség érdekében kevesebb esettel.

Mi az ekvivalencia particionálás?

Egyenértékű particionálás (más néven ekvivalenciaosztály-particionálás vagy ECP) ​​egy fekete doboz technika, amely a bemeneti adatokat ekvivalens értékű csoportokra osztja. A tesztelő osztályonként egy képviselőt választ ki, feltételezve, hogy a szoftver minden tag esetében ugyanúgy viselkedik.

  • A bemeneti tartományt érvényes és érvénytelen ekvivalenciaosztályokra osztja.
  • Mindenre vonatkozik tesztelési szintek– egység, integráció, rendszer és elfogadás.

Mi a határérték-analízis?

Határérték-elemzés (BVA), más néven tartományellenőrzés, az egyes ekvivalenciaosztályok szélső végeit validálja. Mivel a hibák a tartománykorlátoknál csoportosulnak, a BVA öt kulcsfontosságú pontot céloz meg:

  1. Minimális
  2. Csak a minimum felett
  3. Névleges érték
  4. Csak a maximum alatt
  5. Maximális

Határérték-elemzés ötpontos modellje

A BVA kiegészíti az ekvivalencia particionálást: miután az osztályokat definiáltuk, a határértékeik egyenként és élhibákként jelennek meg.

Miért használjunk ekvivalencia particionálást és határérték-analízist?

Az intelligens tesztkiválasztás elengedhetetlen, ha a kombinációk túl nagyok a kimerítő teszteléshez. Ezek a technikák három előnnyel járnak:

  1. Nagy tesztesetek tömörítése kezelhető darabokká.
  2. Adjon meg egyértelmű szabályokat a tesztadatok kiválasztására a hatékonyság feláldozása nélkül.
  3. Alkalmas sok numerikus változót tartalmazó számításigényes alkalmazásokhoz.

Ekvivalencia particionálás végrehajtása (példa)

  • Vegye figyelembe az alábbi Pizza rendelése szövegdobozt.
  • Az 1–10. mennyiségek érvényesek; megjelenik egy sikeres üzenet.
  • A 11–99. mennyiségek érvénytelenek, ami kiváltja a “Csak 10 pizza rendelhető”.
Pizza rendelés:

Teszt feltételek:

  1. A 10 feletti számok érvénytelenek.
  2. Az 1 alatti számok érvénytelenek.
  3. Numbers 1–10 érvényes.
  4. Bármely háromjegyű szám, például a -100, érvénytelen.

Minden érték tesztelése több mint 100 esetet eredményez. Az ekvivalencia particionálás a tartományt azonos viselkedésű osztályokba csoportosítja.

Ekvivalencia particionálási csoportok Pizza bemenethez

Ezeket a csoportokat nevezik Egyenértékűségi osztályokVálasszon egy értéket osztályonként – ha az megfelelő, az összes többi is megfelelő; ha nem megfelelő, az egész osztály hibás.

Ekvivalencia osztály reprezentatív értékei

Határérték-elemzés végrehajtása (példa)

Ugyanazon Pizza mező használatával a BVA a partícióéleket ellenőrzi a névleges értékek helyett. A tesztelők a 0, 1, 10 és 11 értékeket értékelik ki – lefedve az érvényes és az érvénytelen határokat.

Határérték-elemzés pizza bemeneten

1-től 10-ig terjedő bemenet esetén a határtesztek a következők:

Teszt forgatókönyv Description Várható eredmény
Határérték = 0 A rendszernek NEM szabad elfogadnia
Határérték = 1 A rendszernek el kell fogadnia
Határérték = 2 A rendszernek el kell fogadnia
Határérték = 9 A rendszernek el kell fogadnia
Határérték = 10 A rendszernek el kell fogadnia
Határérték = 11 A rendszernek NEM szabad elfogadnia

Ekvivalencia particionálás vs. határérték-elemzés

Mindkettő csökkenti a tesztek mennyiségét, de fókuszukban és időzítésükben különböznek.

Aspect Egyenértékű particionálás Határérték-elemzés
Összpontosít Egyenértékű bemenetek csoportjai Az egyes csoportok szélei
Adatok kiválasztása Egy érték osztályonként Min, közel minimum, névleges, közel maximum, max
A legjobb A redundáns esetek csökkentése Egyenkénti hibák kiszűrése
Megrendelés Először alkalmazva Következőként alkalmazva

Példa: Jelszó mező érvényesítése

Egy 6-10 karakterből álló jelszómező három partíciót hoz létre – 0-5, 6-10 és 11-14 –, amelyek mindegyikén belül azonos eredmények születnek.

Írd be a jelszót:
# Teszt forgatókönyv Várható eredmény
1 Írjon be 0–5 karaktert A rendszernek nem szabad elfogadnia
2 Írjon be 6–10 karaktert A rendszernek el kell fogadnia
3 Írjon be 11–14 karaktert A rendszernek nem szabad elfogadnia

Az ekvivalencia-particionálás és a BVA bevált gyakorlatai

A tesztek számának ellenőrzése mellett a lefedettség erősségének megőrzése érdekében kövesse az alábbi gyakorlatokat:

  • Minden domain leképezése: Először az érvényes, érvénytelen és speciális esetekre vonatkozó partíciókat sorolja fel.
  • Vizsgálja meg mindkét határértéket: Az egyenkénti hibák kiszűrése érdekében a határokon belüli és kívüli értékeket is használd.
  • Kombinált technikák: Párosítsa döntési táblázatokkal vagy állapotátmenet-teszteléssel összetett logika esetén.
  • Élső esetek automatizálása: Paraméterezd a határértékeket, hogy a regressziós sorozatok konzisztensen fussanak.

Főbb pontok

  • Az ekvivalencia particionálás hasonló bemeneteket csoportosít; osztályonként egy érték elegendő.
  • A határérték-elemzés validálja a partícióhatárokat és az érvényes/érvénytelen éleket.
  • Mindkettő fekete doboz technika numerikus vagy tartományalapú mezőkhöz.
  • Kombinálásuk csökkenti a tesztmennyiséget a hibakeresés minőségének feláldozása nélkül.

Határérték-elemzés és ekvivalencia-particionálás tesztelése videó

Kattints itt ha a videó nem érhető el

GYIK

Az ekvivalencia particionálás osztályonként egy reprezentatív elemet választ; a határérték-analízis minden él szélső értékeit veszi célba. A particionálás csökkenti a térfogatot, a határérték-analízis pedig határhibákat tár fel.

Az ekvivalencia particionálás egy fekete doboz technika, mivel a forráskódhoz való hozzáférés nélküli bemeneti-kimeneti viselkedésre összpontosít. A tesztelők a partíciókat specifikációkból származtatják, így egység-, integrációs-, rendszer- és elfogadási szinteken alkalmazható.

Igen. Mindkettő vonatkozik rá API tesztelés, ahol a paraméterek és a hasznos adatmezők gyakran numerikus tartományokkal vagy hosszkorlátokkal rendelkeznek. A tesztelők partíciókat definiálnak az érvényes, érvénytelen és élbemenetekhez.

Kerüljük a BVA-t, ha a bemenetek nem numerikus tartományok – például rendezetlen halmazok, logikai jelzők vagy kategorikus értékek. A döntési táblázatok vagy az állapotátmenet-tesztelés jobban működik, mivel ott a határoknak nincs jelentésük.

A robusztus BVA kiterjeszti a standard megközelítést azáltal, hogy az érvényes tartományon kívül eső értékeket – egyet a minimum alatt és egyet a maximum felett – ad hozzá, hogy ellenőrizze, hogyan utasítja el a rendszer az egyértelműen érvénytelen bemeneteket.

Igen. A mesterséges intelligencia generátorok elemzik a követelményeket és a sémákat, hogy ekvivalenciaosztályokat és határértékeket javasoljanak. Eszközök, mint például Testim és a Mabl gyorsan tanulhat a hibaelőzményekből és a felületi élek eseteiből.

A mesterséges intelligencia átfedést észlelping A tesztelők által figyelmen kívül hagyott partíciók, redundáns esetek és kihagyott élek. A gépi tanulás a hibaelőzmények alapján rangsorolja a magas kockázatú határokat, lehetővé téve az intelligensebb tesztkiválasztást és a finom problémák gyorsabb észlelését.

Igen. JUnit, TestNGA pytest támogatja a paraméteres tesztelést, lehetővé téve a tesztelők számára a partíciók és a határértékek bemeneti adathalmazként való definiálását. Ez lehetővé teszi az ekvivalencia- és határesetek szisztematikus végrehajtását a CI-folyamatokban.

Foglald össze ezt a bejegyzést a következőképpen: