Black Friday terheléses tesztelés: hogyan készüljünk fel a csúcsforgalomra?

Az év legforgalmasabb kereskedelmi napjain egy webshop látogatottsága a szokásos többszörösére ugorhat, ráadásul a forgalom nem egyenletesen oszlik el: egy hírlevél kiküldése vagy egy akció indulása percek alatt is okozhat hirtelen csúcsot. A Black Friday előtti terheléses tesztelés megmutatja, hogyan viselkedik a rendszer a várt csúcsforgalom alatt. Ez tehát nem pusztán technikai finomhangolás, hanem a legfontosabb értékesítési napok üzleti biztosítéka.

A következmények azonnaliak. Egy leállást vagy lassulást nem lehet elintézni annyival, hogy „majd kijavítjuk”. Minden kiesett perc azonnali bevételkiesést jelent, a csúcsnapon elpártoló vevők pedig jó eséllyel a konkurenciánál költik el a pénzüket. A sebesség hatása egy átlagos napon is kézzelfogható. A Deloitte kutatása, amely a Google megbízásából készült, 37 európai és amerikai márka adatait vizsgálta meg. Az eredmények szerint a kiskereskedelmi mobiloldalak 0,1 másodperces gyorsulása átlagosan 8,4%-kal növelte a konverziót. Csúcsterhelés alatt ráadásul a lassulás nem tizedmásodpercekben, hanem sokszor hosszú másodpercekben, akár tíz-húsz másodperces várakozásban mérhető.

A minőség és a bevétel általános kapcsolatáról A tesztelés nem költség, hanem bevételvédelem cikkünkben írtunk. Ez a cikk a csúcsterhelésre való felkészülésről szól: hol enged először a rendszer, hogyan mérhető ez előre, és mikor késő már elkezdeni.

Hol enged először a rendszer?

A leggyakoribb tévhit, hogy csúcsforgalomkor a kezdőlap dől össze. A kezdőlap és a termékoldalak tartalma jellemzően gyorsítótárból (cache) és tartalomkiszolgáló hálózatról (CDN) érkezik, ezért jól bírja a terhelést. A szűk keresztmetszet általában ott van, ahol a rendszernek valóban dolgoznia kell:

  • Kosár és fizetés: minden lépés adatbázis-műveletet, készletellenőrzést és külső hívást jelent.
  • Készletkezelés: sok egyidejű vásárlás ugyanarra a termékre zárolásokat és várakozást okozhat, rosszabb esetben túlértékesítést. Itt egy fontos üzleti döntést is tesztelni kell. Ha a rendszer már a kosárba tételkor lefoglalja a készletet, a nézelődők elvihetik az árut a valódi vásárlók elől. Ha viszont csak a fizetés végén ellenőrzi a darabszámot, könnyen túlértékesítés és reklamációáradat lehet a vége.
  • Keresés és szűrés: erőforrásigényes lekérdezések, amelyek csúcsidőben egymást lassítják.
  • Bejelentkezés és munkamenet-kezelés: a személyre szabott adatokat nem lehet gyorsítótárból kiszolgálni.
  • Külső szolgáltatók: fizetési szolgáltató, szállítási modul, ajánlómotor, marketingszkriptek. Bármelyikük megakaszthatja a teljes vásárlási folyamatot.

Képzeljünk el egy webshopot, amelynek termékoldalai a csúcsban is gyorsak, de a fizetési lépés harminc másodpercig tölt. A vásárlók egy része kivár, más része kilép, a látogatottsági statisztika pedig közben rekordot mutat. A kár csak utólag, a bevételi számokból látszik.

Terheléses, stressz- és tartóssági teszt: mi a különbség?

A teljesítménytesztelés nem egyetlen mérés. Az ISTQB (nemzetközi szoftvertesztelői minősítő szervezet) szakmai anyaga is több típust különít el, amelyek mind eltérő kérdésekre adnak választ:

  • Terheléses teszt: elbírja-e a rendszer a várt csúcsforgalmat elfogadható válaszidővel?
  • Stresszteszt: hol van a töréspont, és mi történik azon túl? Fokozatosan lassul a rendszer, vagy összeomlik?
  • Tartóssági teszt: órákon át tartó magas forgalom alatt sem romlik-e a működés, például memóriaszivárgás vagy elfogyó adatbázis-kapcsolatok miatt?
  • Tüsketeszt: hogyan reagál a rendszer egy hirtelen, meredek forgalmi ugrásra, például egy akció indulásakor?

A csúcsnapon mindegyik releváns. A terheléses teszt megmutatja, hogy a tervezett forgalom rendben lesz-e, a stresszteszt pedig azt, mekkora a tartalék arra az esetre, ha a kampány a vártnál sikeresebb. A tüsketeszt különösen azoknál fontos, akik a felhő automatikus skálázására (auto-scaling) bízzák magukat. Az új szerverek elindítása perceket vesz igénybe, miközben egy hírlevél vagy villámakció forgalma másodpercek alatt zúdul a rendszerre. Ráadásul a webes kiszolgálók számának növelése nem oldja meg az adatbázis szintű szűk keresztmetszeteket, sőt a több kiszolgáló még jobban terheli az adatbázist. A tartóssági teszt akkor kap különös súlyt, ha az akció nem csupán egy napig, hanem egy teljes hétvégén vagy héten át zajlik. Ilyenkor a rendszernek nem egyetlen rövid rohamot, hanem a napokon át fennálló, folyamatosan magas terhelést kell kibírnia.

Mitől lesz életszerű a teszt?

Egy terheléses teszt annyit ér, amennyire hasonlít a valóságra. A leggyakoribb hiba, hogy a teszt egyetlen oldalt ostromol, miközben a valódi vásárlók sokféle útvonalon mozognak. Az életszerű teszt négy feltétele:

  • Valós felhasználói utak. Nem mindenki vásárol: a látogatók nagy része csak böngészik, kevesebben tesznek kosárba, és csak kisebb hányaduk jut el a fizetésig. A tesztnek ezeket a valódi arányokat kell leképeznie.
  • Adatalapú csúcsbecslés. A várható terhelést a korábbi évek forgalmából és a kampánytervből kell megbecsülni, megfelelő biztonsági ráhagyással.
  • Külső szolgáltatók kezelése. A fizetési és szállítási partnereket be kell vonni, vagy valósághűen szimulálni kell a válaszidejüket és a hívási korlátaikat.
  • Éleshez közeli tesztkörnyezet. Valósághű adatmennyiséggel kell dolgozni, mert egy üres adatbázis mindig gyors.

A mérés is csak akkor hasznos, ha üzleti nyelven értelmezhető. Az átlagos válaszidő önmagában félrevezető, mert elrejti a szélsőségeket. Egy két másodperces átlag mögött könnyen előfordulhat, hogy minden tizedik vásárlónak tíz másodpercet kell várnia. Ezért a leglassabb kiszolgálásokat is külön vizsgálni kell. A riportokban ezt a p95 és p99 mutatók jelzik, amelyek megmutatják, mennyi időn belül teljesül a kérések 95, illetve 99%-a. Emellett folyamatosan figyelni kell a hibaarányt és az átbocsátóképességet is, vagyis a percenként feldolgozott tranzakciók számát. A tesztelés előtt érdemes konkrét üzleti küszöböket rögzíteni: például hogy a fizetés csúcsidőben is néhány másodperc alatt lezáruljon, a sikertelen tranzakciók aránya pedig ne emelkedjen. Ezekhez viszonyítva a teszt eredménye egyértelmű lesz: a rendszer vagy átmegy a vizsgán, vagy megbukik. Ha pedig nem felel meg, pontosan látszik, melyik lépés okozza a fennakadást.

Időzítés: mikor késő már?

A terheléses tesztelés valódi értéke az, hogy lehetőséget ad a feltárt hibák időbeni kijavítására. Ezért az ideális időpont hetekkel a csúcs előtt van, amikor marad idő az eredmények elemzésére, a javításra és az újramérésre. A gyorsítótárazás finomítása, egy hiányzó adatbázis-index pótlása vagy egy külső szolgáltatói korlát emelése napok alatt megoldható. Egy architekturális szűk keresztmetszet átépítése viszont nem. A külső partnerekkel is időben egyeztetni kell. Sok fizetési és szállítási rendszer korlátozza a percenkénti hívások számát, ezt a limitet pedig még a roham előtt kell megemeltetni és nem éles helyzetben szembesülni vele.

Az utolsó hetekben is van mit tenni:

  • Változásbefagyasztás: a csúcs előtt már csak kritikus javítás kerüljön élesbe. Ilyenkor a jó élesítés (release) a kiszámítható élesítés, ahogy arról a Mit jelent egy sikeres release a CIO szemével? cikkünkben is írtunk.
  • Kritikus útvonalak gyors újramérése: a kosár és a fizetési folyamat célzott ellenőrzése az utolsó módosítások után.
  • A monitorozás és a riasztások főpróbája: annak tesztelése, hogy a csapat időben észleli-e a lassulást, és mindenki pontosan tudja-e a dolgát.
  • Vészforgatókönyv: várakoztató oldal beállítása, vagy egyes kényelmi funkciók (például termékajánlók, élő keresés) ideiglenes lekapcsolása azért, hogy maga a vásárlás működőképes maradjon. Ugyanez érvényes a külső partnerekre is: ha egy csomagpont-választó vagy hűségpont-lekérdezés lelassul, esetleg leáll, a fizetés nem akadhat el miatta. A rendszer ilyenkor kínáljon fel alapértelmezett opciót, vagy pótolja a lépést később, a háttérben. Ezt nevezzük kontrollált funkcióvesztésnek (graceful degradation).

A csúcsnap után pedig érdemes rögzíteni a tanulságokat: hol volt szoros a tartalék, mi működött jól, és mire kell a következő szezonban jobban figyelni.

Összegzés

A csúcsforgalom előre látható esemény, ezért a teljesítményproblémák is előre felderíthetők. A Black Friday előtti terheléses tesztelés nem technikai luxus, hanem a legforgalmasabb napok bevételének biztosítása, és akkor ér a legtöbbet, ha marad idő a javításra.

A vezetői kérdés egyszerű: tudjuk-e pontosan, hány egyidejű vásárlót bír el a fizetési folyamatunk elfogadható válaszidővel, és mi történik akkor, ha még egy valaki belép?

Források

Deloitte és Google: Milliseconds Make Millions (2020), a mobiloldalak sebessége és a konverzió közötti összefüggés 37 márka adatain. Elérhető: deloitte.com

ISTQB: Certified Tester Performance Testing Syllabus (2018), a teljesítménytesztelés típusai. Elérhető: istqb.org

Megosztás

Kérsz értesítést a legújabb cikkekről?

Kapcsolódó cikkek

AI agentek tesztelése: hogyan ellenőrizzünk egy autonóm rendszert?

Az AI következő (jelenlegi) hulláma már nem csak válaszol, hanem cselekszik. Az AI agentek (önállóan, több lépésben feladatot végrehajtó mesterséges intelligencia rendszerek) jegyet nyitnak az ügyfélszolgálati rendszerben, e-mailt küldenek, adatot módosítanak, visszatérítést vagy megrendelést indítanak. Az AI agent tesztelés ezért egészen más kérdést tesz fel, mint egy chatbot ellenőrzése: nem azt, hogy jó-e a válasz,

Hogyan promptold az AI-t, ha tesztesetet akarsz generálni?

Az AI percek alatt legenerál ötven tesztesetet. A kérdés csak az, hogy azok használhatók-e, vagy a felét úgyis kidobod. A különbség szinte sosem a modellen múlik, hanem azon, hogyan kéred. Ha annyit írsz be, hogy „írj teszteket a bejelentkezéshez”, általános, sablonos listát kapsz, amit bármelyik tankönyvből kimásolhattál volna. Ha viszont tudod, hogyan építsd fel a

20 év szoftvertesztelés után ezt látjuk minden sikeres szoftverprojektben

Húsz év és több száz projekt után az ember már nem az egyedi eseteket jegyzi meg, hanem az ismétlődő mintákat. A legérdekesebb felismerés az, hogy a sikeres szoftverprojektek mennyire hasonlítanak egymásra. Más az iparág, más a technológia, más a csapat, mégis ugyanazok az elvek térnek vissza bennük, újra és újra. A kudarcok ezzel szemben mind

Scroll to Top

Elérhető tesztelőink

Nézze meg szakértőink profiljait, tapasztalatát és kompetenciáit, és találja meg a projektjéhez illő szakembert.

2006 — 2026

20 ÉVES A PASSED!

20 éve a szoftverminőség szolgálatában.

Két évtized szakértelem, fejlődés és elkötelezettség a szoftvertesztelés mellett.

PASSED

Töltse le tesztelőink szakmai profilját

Adja meg elérhetőségét egyszer és férjen hozzá valamennyi elérhető profilhoz.