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.
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.

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:
- 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
- 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.
- 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.

