Mi az a kötetteszt? Tanuljon példákkal

⚡ Okos összefoglaló

A mennyiségi tesztelés során egy alkalmazást nagyon nagy mennyiségű adatnak vetnek alá, hogy lássák, hogyan viselkednek a tárolási kapacitás, a lekérdezések és a válaszidők az adatbázis növekedésével. Ezt elárasztási tesztelésnek is nevezik, és az adatokat skálázza a felhasználók számának helyett.

  • 💾 Alapvető definíció: Az adatmennyiség növekszik, miközben a felhasználói terhelés normális marad.
  • 🔍 Elsődleges ellenőrzések: Adatvesztés, csendes felülírás, tárolási pontosság és válaszidő nagy adathalmaz esetén.
  • 📈 Lebomlási pont: A teszt azt a hangerőt határozza meg, amelynél a stabilitás és a teljesítmény romlani kezd.
  • 🇧🇷 Nem terheléses tesztelés: A kötet skálázza a sorokat és a fájlméreteket; a terhelés skálázza az egyidejű felhasználókat. A kettő különböző hibákat talál.
  • 🧪 Adatrealizmus: A generált adatoknak tiszteletben kell tartaniuk a kulcsokat és a relációs integritást, ami a teszt legnehezebb része.
  • 💰 Üzleti eset: A kiadás előtt talált kapacitáskorlátok a gyártás során talált korlátok töredékébe kerülnek.

Mi a térfogattesztelés?

Mi az a kötetteszt?

Hangerőteszt a szoftvertesztelés egyik fajtája, ahol a szoftver hatalmas mennyiségű adatnak van kitéve. Úgy is emlegetik árvízi vizsgálat. A mennyiségi tesztelés célja a rendszer teljesítményének elemzése az adatbázisban lévő adatok mennyiségének növelésével.

A kötetteszt segítségével tanulmányozható a válaszidőre és a rendszer viselkedésére gyakorolt ​​hatás, ha nagy mennyiségű adatnak van kitéve.

Például egy zenei streaming szolgáltatást tesztelhetünk 50 milliós katalógussal. tracks és egy több milliárd sort tartalmazó hallgatási előzménytáblázat, hogy lássa, a keresési és ajánlási lekérdezések továbbra is elfogadható időn belül visszaadódnak-e.

Figyeljük meg a különbséget: a mennyiségi tesztelés növeli a adatmennyiség a rendszer kitart. Növelve a egyidejű felhasználók száma a terheléses tesztelés, ami egy másfajta teszt, más céllal.

A kötetteszt előnyei

  • A kapacitási problémák korai azonosítása elkerüli a termelésben történő javításuk sokkal magasabb költségeit
  • Segít a méretezhetőségi tervek gyorsabb elindításában
  • A szűk keresztmetszetek korai felismerése
  • Ez biztosítja, hogy rendszere mostantól képes a valós használatra

Miért végeznek mennyiségi tesztelést?

A hangerőteszt végrehajtásának célja az, hogy

  • Ellenőrizze a rendszer teljesítményét az adatbázisban lévő adatmennyiség növekedésével
  • Azonosítsa azokat a problémákat, amelyek valószínűleg akkor jelentkeznek, ha az adathalmaz nagy lesz
  • Hogy kitaláljuk, hol romlik a rendszer stabilitása
  • A kötetteszt segít azonosítani a rendszer vagy alkalmazás kapacitását – normál és nagy mennyiségben

Hogyan végezzünk térfogat-tesztelést

A mennyiségi tesztelés során a következő dolgokat kell tesztelni

  • Tesztelje, hogy nincs-e adatvesztés
  • Ellenőrizze a rendszer válaszidejét
  • Ellenőrizze, hogy az adatok megfelelően vannak-e tárolva vagy sem
  • Ellenőrizze, hogy az adatok felülírásra kerültek-e értesítés nélkül
  • Ellenőrizze, hogy a figyelmeztetések és hibaüzenetek valóban megjelennek-e a hangerőkorlát elérésekor
  • Ellenőrizze, hogy a nagy mennyiségű adat befolyásolja-e a feldolgozás sebességét
  • Győződjön meg arról, hogy a rendszer rendelkezik a kötet által igényelt memória- és tárhely-erőforrásokkal
  • Győződjön meg arról, hogy a térfogatteszt a teljes rendszert lefedi, ne csak egyetlen komponenst
  • Van-e kockázat, ha az adatmennyiség nagyobb a megadottnál?
  • Állapítsa meg, hogy van-e garancia arra, hogy az adatmennyiség nem haladja meg a megadott maximális értéket

Nagy volumenű tesztelés bevált gyakorlatai

Az alábbi gyakorlatok közül többet is alkalmaznak a terhelésteszteléssel, mivel a kettőt általában ugyanazon a környezetben futtatják. A kötetspecifikusak magára az adathalmazra vonatkoznak:

  • Állítsa le az összes szervert és ellenőrizze az összes naplót
  • A terhelési teszt előtt manuálisan hajtsa végre az alkalmazási forgatókönyvet
  • A legtöbb hasznos eredmény érdekében a felhasználók számát lépcsőzetesen állítsa be
  • A licenckorlátok leküzdése érdekében mérlegelje a gondolkodási időt
  • Legyen óvatos az új szerkezettel
  • Elemezze a használati esetet a fejlesztés érdekében, miután megállapította az alapvonalat
  • A mennyiségi tesztelés egyes részeinek megismétlése elkerülhetetlenné válik, ha teljesítmény szűk keresztmetszete van

Mennyiségi tesztelés vs. terheléses tesztelés

Hangerőteszt Terhelésvizsgálat
  • A mennyiségi tesztelés azt vizsgálja, hogy egy alkalmazás hogyan viselkedik, amikor az adatbázis nagyon nagy mennyiségű adatot tartalmaz.
  • A terhelési tesztelés során az alkalmazást bizonyos szintű terhelésnek vetik alá az alkalmazás viselkedésének elemzéséhez
  • A mennyiségi tesztelés ellenőrzi, hogy a rendszer továbbra is helyesen reagál-e egy adott adatmennyiségnél. Általában növeli a fájlok és táblázatok méretét.
  • A terheléstesztelés a teljesítményt ellenőrzi a párhuzamos felhasználói terhelés növekedésével. Általában növeli az egyidejű kérések számát.

Kihívások a kötettesztben

  • A memória töredezettsége nehezen generálható
  • Kulcsok dinamikus generálása
  • Relációs Integrity generált adatokból

Hogyan viszonyul ez a teszt más teljesítménytesztekhez

A teljesítménytesztelés olyan tesztek családja, amelyek az alkalmazott terhelés alakjában különböznek, ezért olyan könnyen összetéveszthetők.

Teszt típusa Mi a megnövekedett Kérdés, amit megválaszol
Terhelési tesztelés Egyidejű felhasználók, a várható csúcsig Teljesíti a célokat normál csúcsforgalom mellett?
Térfogatvizsgálat Az adatbázisban tárolt adatok Vajon bírja az adathalmaz növekedését?
Stressz tesztelés Terhelhetőségen túli terhelés, meghibásodásig Hol törik el, és hogyan?
Tüskék tesztelése Töltés, azonnal és rendkívül Túléli és felépül egy sokkot?
Tartóssági vizsgálat Időtartam normál terhelés mellett Idővel romlik a teljesítmény?
Áztatási tesztelés Időtartam, erőforrások megfigyelése Vannak memória- vagy fogantyúszivárgások?
Stabilitási vizsgálat Változó körülmények Megbízható marad a változó körülmények között is?

A legfontosabb különbség itt: A mennyiségi tesztelés az adatokat, a terheléses tesztelés a felhasználókat skálázza. Egy olyan jelentés, ami két másodperc alatt fut le tízezer sorral, és két perc alatt tízmillió sorral, mennyiségi problémával küzd, nem terhelési problémával, és ezt semmilyen extra szerverkapacitás nem fogja megoldani.

Tesztadatok generálása mennyiségi teszteléshez

A kihívásokról szóló rész megjegyzi, hogy a valósághű adatok előállítása a mennyiségi tesztelés nehéz része. A gyakorlatban négy megközelítést alkalmaznak, és mindegyik kompromisszumot igényel.

Megközelítés Realizmus Fő hátránya
Termelési adatok másolata Legnagyobb Adatvédelmi és megfelelőségi kockázatok
Maszkos gyártási példány Magas A maszkolás megsértheti a hivatkozási integritást
Szintetikus generáció közepes Az eloszlások nem feltétlenül felelnek meg a valóságnak
Visszajátszott termelési forgalom Magas Lefejtő infrastruktúrát igényel

Bármelyik utat is választjuk, három tulajdonságnak teljesülnie kell, különben a teszt nem mér semmi hasznosat.

  • Referenciális integritás. Minden idegen kulcsnak fel kell oldania a tartalmát. Egymillió árva sor terheli a tárolómotort, de soha nem azokat az illesztési útvonalakat, amelyeket az alkalmazás valójában használ.
  • Reális kardinalitás. Ha a termelési tábla tízmillió sort tartalmaz kétszáz ügyfélen, akkor tízmillió sor generálása tízmillió ügyfélen teljesen más lekérdezési terveket eredményez.
  • Reális eloszlás. A valós adatok torzítottak. Az egyenletesen véletlenszerű adatok elrejtik a forró partíciókat és az indexversensiót, amelyek éles incidenseket okoznak.

Gyakorlati figyelmeztetés a magánélettel kapcsolatban. Az éles adatok tesztkörnyezetbe másolása a tesztelés során előforduló adatvédelmi incidensek leggyakoribb oka. A személyes mezőket a másolat éles környezetből való kilépése előtt kell maszkolni, ne utána.

GYIK

A mennyiségi tesztelés növeli a rendszerben lévő adatmennyiséget, miközben a felhasználói terhelés normális marad. A terhelésteszt növeli az egyidejű felhasználók számát, miközben az adathalmaz normális marad. Különböző szűk keresztmetszeteket tárnak fel, így mindkettőre szükség van.

Kezdjük a tervezett kapacitáshorizont végén – általában két-három év növekedési idő alatt – előre jelzett adatmennyiséggel, majd teszteljünk ezen az értéken, majd annak duplájával, hogy megtaláljuk a degradáció kezdetét.

Hiányzó vagy nem hatékony indexek, nemlineárisan skálázódó lekérdezések, tárhelykimerülés, mezők csendes csonkolása és olyan kötegelt feladatok, amelyek futási ideje meghaladja a számukra rendelkezésre álló ablakot.

A mesterséges intelligencia modellek megtanulják a termelési adatok statisztikai eloszlását és kapcsolatait, majd szintetikus rekordokat generálnak, amelyek megőrzik ezeket a tulajdonságokat anélkül, hogy bármilyen valós ügyfélrekordot felfednének.

Igen, bizonyos mértékig. A mért degradációs görbékre illesztett modellek extrapolálják a meghibásodási pontot, de a prognózist egy tényleges futtatással kell megerősíteni, mielőtt az kapacitásbeli döntést eredményezne.

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