Mi az a Spike Testing a szoftvertesztelésben? Tanulj példával

⚡ Okos összefoglaló

A csúcsterhelés-tesztelés során egy alkalmazást hirtelen, extrém terheléslökésnek tesznek ki, majd ugyanolyan hirtelen visszavonják azt. A cél annak megállapítása, hogy a rendszer túléli-e a sokkot, és ami ugyanilyen fontos, hogy utána helyreáll-e.

  • Terhelési minta: Egy meredek emelkedés messze a normál forgalom fölé, rövid ideig tartott, majd eltávolították.
  • 🎯 Elsődleges cél: Állapítsa meg, hogy a rendszer hibás-e, és hogy szabályosan hibázik-e.
  • 🔄 Felépülési ügyek: A túlélés ugyanolyan fontos, mint a megszokott válaszidőhöz való visszatérés a hirtelen bekövetkező hullám után.
  • 📈 Reális kiváltó okok: Villámértékesítés, jegykiadások, vírusforgalom és ütemezett kötegelt feladatok.
  • 🇧🇷 szerszámozás: JMeter és a LoadRunner egyaránt azonnali felfutást modellez, nem pedig fokozatosat.
  • 📊 Mit kell nézni: Hibaarány, a sor mélysége és az alapvonalhoz való visszatéréshez szükséges idő.

Mi a tüske tesztelés?

Mi az a Spike Testing?

Spike tesztelés egy olyan szoftvertesztelési típus, amelyben egy szoftveralkalmazást a forgalom extrém növekedésével és csökkenésével tesztelnek. A tüsketesztelés fő célja a szoftveralkalmazás viselkedésének értékelése a felhasználói terhelés hirtelen növekedése vagy csökkenése esetén, valamint a felhasználói terhelés csúcsa utáni helyreállítási idő meghatározása.

A Spike Testing a szoftveralkalmazások gyengeségeinek becslésére szolgál.

Spike tesztelés
Spike tesztelés

A tüske tesztelés céljai

A Spike tesztelés célja, hogy megnézze, hogyan reagál a rendszer a felhasználói terhelés váratlan növekedésére és csökkenésére. A szoftverfejlesztésben a Spike teszt segít meghatározni, hogy a rendszer teljesítménye hirtelen nagy terhelés esetén romlik.

A Spike Testing másik célja a helyreállítási idő meghatározása. Két egymást követő felhasználói terhelési kiugrás között a rendszernek időre van szüksége a stabilizálódáshoz. Ennek a helyreállítási időnek a lehető legrövidebbnek kell lennie.

Hogyan kell elvégezni a tüsketesztet

Íme a tüsketesztelés egyszerű lépései:

1. lépés) Határozza meg a terhelési kapacitást

Határozza meg szoftveralkalmazásának maximális felhasználói terhelhetőségét.

2. lépés) Készítse elő a tesztkörnyezetet

Készítse elő a tesztelési környezetet, és állítsa be a teljesítményparaméterek rögzítésére.

3. lépés) Adja meg a várható terhelést

Alkalmazza a várható maximális terhelést a szoftveralkalmazásra a következővel: a Teljesítménytesztelő eszköz az Ön választása szerint.

4. lépés) Növelje a terhelést

Gyorsan növelje a rendszer terhelését egy meghatározott ideig.

5. lépés) Állítsa vissza a terhelést Normál értékre

Fokozatosan csökkentse a terhelést az eredeti szintre.

6. lépés) Elemezze az eredményeket

Elemezze a teljesítménydiagramokat és -mérőszámokat, mint például a hibák, az eltelt idő, a virtuális felhasználók stb.

Példák a tüsketesztelési forgatókönyvekre

  • Amikor egy e-kereskedelmi üzlet különleges akciókat indít nagy kedvezményekkel, például fekete pénteken.
  • Amikor egy webalkalmazás élőben közvetít egy kedvenc tévéműsort.
  • Amikor gyorsakció zajlik egy napi ajánlati oldalon.
  • Amikor egy webhely bizonyos tartalma vírusként terjed az interneten.
  • Új rendszert bocsátanak ki élesre, és több felhasználó szeretne hozzáférni a rendszerhez.
  • Áramkimaradás esetén minden felhasználó elveszítheti a hozzáférést a rendszerhez. Miután a leállási probléma megoldódott, minden felhasználó egyszerre jelentkezzen be a rendszerbe.

Helyreállítási forgatókönyvek tüskés terhelés esetén

Három fő helyreállítási forgatókönyv, amelyek konfigurálhatók a tüskék elleni védelem érdekében:

  1. Használjon felhőplatformokat, mint pl AWS, Azure a szerver kapacitásának dinamikus növelése a felhasználói terheléssel párhuzamosan
  2. Ne engedje meg néhány felhasználó számára az alkalmazás-hozzáférést, hogy a rendszer ne legyen nagy terhelésnek kitéve. Ez megakadályozza, hogy a maximálisan tervezett terhelést meghaladó személyek belépjenek a rendszerbe. Így védi a rendszert a túlzott terhelés veszélyétől.
  3. A webhely adminisztrátora lehetővé teszi a felhasználók számára, hogy csatlakozzanak a rendszerhez. Figyelmeztetve azonban, hogy a nagy terhelés miatt lassú reakcióval szembesülhetnek. Ez káros hatással lehet a rendszer teljesítményére. A felhasználó azonban képes lesz dolgozni a rendszerrel.

A tüskevizsgálat előnyei és hátrányai

Az alábbiakban felsoroljuk a Spike Testing előnyeit és hátrányait:

Előnyök Hátrányok
A szoftver teljesítményét minden áron fenn kell tartani. Ha azonban bármely rendszer terhelése rendkívül megnövekszik, nagy az esélye a problémákra. A Spike Testing segít tesztelni az ilyen forgatókönyveket. A Spike Testing egyetlen hátránya, hogy költséges tesztelési folyamat. Ezért speciális vizsgálati feltételeket kellett felállítani. Hosszabb távon azonban minden bizonnyal pozitív ROI-t eredményez.
A szabványos tesztelési módszerben előfordulhat, hogy a rossztól a legrosszabbig terjedő forgatókönyvek nem kezelhetők. Ezek figyelmen kívül hagyása azonban nem jelenti azt, hogy soha nem fognak előfordulni. Ezért minden szoftvernek készen kell állnia az ilyen lehetőségekre. Az egyik ilyen legrosszabb forgatókönyv a terhelés, amely a spike teszt segítségével megítélhető és minimalizálható.  

Spike tesztelő eszközök

1) JMeter

Az Apache JMeter egy nyílt forráskódú java spike tesztelő eszköz. Kifejezetten a funkcionális teszt viselkedésének betöltésére és a teljesítmény mérésére készült. Ez a teljesítménytesztelő eszköz használható webalkalmazások vagy különféle szolgáltatások teljesítményének elemzésére és mérésére. Ma már széles körben használják a funkcionális tesztekhez, adatbázis-kiszolgáló tesztekhez.

2) LoadRunner

A LoadRunner egy terhelést vizsgáló eszköz Windows és a Linux, amely lehetővé teszi a webes és egyéb alkalmazások tüskés tesztelését. Nagy terhelés mellett is segít meghatározni az alkalmazás teljesítményét és eredményét.

Hogyan illeszkedik ez a teszt a teljesítménytesztelési családba

A teljesítménytesztelés egy gyűjtőfogalom. Az alábbi változatok csak az alkalmazott terhelés alakjában és annak időtartamában különböznek, ezért gyakran összekeverik őket egymással.

Teszt típusa Betöltési minta Kérdés, amit megválaszol
Terhelési tesztelés Várható csúcsterhelés, rövid időtartam Eléri-e a rendszer a céljait normál csúcsforgalom mellett?
Stressz tesztelés Kapacitáson túl növelve, egészen meghibásodásig Hol törik el, és kecsesen meghibásodik?
Tüskék tesztelése Hirtelen extrém hullám, majd megvonás Túléli és felépül egy közlekedési sokk után?
Tartóssági vizsgálat Normál terhelés sok órán át Idővel romlik a teljesítmény?
Áztatási tesztelés Tartós terhelés hosszabb időn keresztül Vannak memóriaszivárgások vagy erőforrás-kimerülések?
Stabilitási vizsgálat Változó terhelés a körülményektől függően Megbízható marad-e a rendszer a változó körülmények ellenére is?
Térfogatvizsgálat Átlagos felhasználók, nagyon nagy adatmennyiség Vajon bírja az adatbázis növekedését?

A tartóssági és az átitatási vizsgálatot gyakran szinonimaként kezelik. Gyakori használatuk szerint mindkettő hosszú ideig tartós terhelést tart. Ahol a csapatok különbséget tesznek közöttük, a tartóssági tesztelés arra összpontosít, hogy a válaszidők felfelé csúsznak-e, míg a tartóssági tesztelés az erőforrás-fogyasztásra, például a memóriára, a fájlkezelőkre és a kapcsolatkészletekre összpontosít. Az egyik futtatása általában mindkettőre bizonyítékot szolgáltat.

A teszt során rögzítendő legfontosabb mutatók

Egy teljesítményfutás csak annyira jó, mint amit futás közben rögzítesz. Rögzítsd ezt a hat adatot a szerver és a kliens oldalon, majd hasonlítsd össze őket az alapvonallal, ne pedig a megérzéseiddel.

Metric Mit mond neked Figyelmeztető jel
Átlagos válaszidő Tipikus felhasználói élmény Bármilyen felfelé sodródás a pályán
95. percentilis válaszidő A leglassabb felhasználók tapasztalatai Messze az átlag felett, ami következetlenséget jelent
áteresztőképesség Másodpercenként kezelt kérések Esés, miközben a terhelés állandó marad
Hibaarány Sikertelen vagy időtúllépéses kérelmek aránya Bármilyen emelkedés a megállapodott küszöbérték felett
CPU- és memóriahasználat Szerver erőforrás-tartalék Emlék, mely felkúszik és soha nem tér vissza
Adatbázis-kapcsolatok és szálak Medence kimerülése Olyan számok, amelyek folyamatosan növekednek kiadás nélkül

Olvasd le az átlagot és a percentilist együtt. Egy 800 ms-os átlag 900 ms 95. percentilissel egy konzisztens rendszert ír le. Ugyanez az átlag 9 másodperces 95. percentilissel azt jelenti, hogy minden huszadik felhasználó rosszul érzi magát, és az átlag ezt elrejti.

A formára is figyelj, ne csak az értékre. Bármely hosszú ideig futó tesztben a lapos erőforrás-vonal sikeres, az emelkedő pedig szivárgást jelent, még akkor is, ha az abszolút szám a teszt végén még kényelmesen a határértéken belül van.

Tüske tesztelés: Főbb tanulságok

  • szoftver tesztelés egy olyan szoftvertesztelési típus, amelyben egy szoftveralkalmazást a forgalom extrém növekedésével és csökkenésével tesztelnek.
  • A csúcstesztelés helyes megközelítése a felhasználók számának váratlan növelése, majd a terhelés azonnali csökkentése.
  • A váratlan terhelés az üzlet fő jellemzője.
  • Példák a valós Spike-tesztelési forgatókönyvekre: amikor egy e-kereskedelmi áruház különleges ajánlatokat tesz közzé nagy kedvezményekkel, például fekete pénteken. Alternatív megoldásként, ha egy webalkalmazás élőben közvetít egy kedvenc tévéműsort.
  • JMeter az egyik ilyen hasznos eszköz a tüskék teszteléséhez.

GYIK

A terheléstesztelés fokozatosan növeli a terhelést, amíg a rendszer össze nem törik, hogy megtalálja a maximális terhelést. A csúcsterheléstesztelés azonnal a szélsőséges terhelést alkalmazza, hogy kiderítse, egy hirtelen sokk okoz-e olyan meghibásodást, amelyet egy fokozatos rámpa nem okozna.

Egy olyan rendszer, amely továbbra is működik, de soha nem tér vissza a normál válaszidőkre, továbbra is kudarcot vallott a felhasználók számára, akik a csúcs után érkeznek. A helyreállítási idő az a mérőszám, amely a valós üzleti hatást tükrözi.

Valós eseményre alapozd, ne kerek számra. Egy korábbi eladásból vagy bevezetésből származó forgalom szorozva az azóta várható növekedéssel, védhető célt ad.

A korábbi forgalom, marketingnaptárak és külső jelek alapján betanított mesterséges intelligencia modellek előre jelzik a hirtelen megnövekedett forgalom bekövetkeztét, ami lehetővé teszi a csapatok számára az infrastruktúra előzetes skálázását ahelyett, hogy utólag reagálnának.

Igen. A mesterséges intelligencia eszközei képesek csúcsprofilokat levezetni az éles hozzáférési naplókból, így a korábbi csúcsok valódi alakját reprodukálják a mesterséges ugrásszerű változás helyett.

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