Mi az a terhelési tesztelés? (Példák)

Terhelésvizsgálat

Mi az a terhelési tesztelés?

Terhelésvizsgálat egy nem funkcionális szoftvertesztelési folyamat, amelyben a szoftveralkalmazás teljesítményét egy adott várható terhelés mellett tesztelik. Meghatározza, hogy a szoftveralkalmazás hogyan viselkedik, miközben egyszerre több felhasználó is eléri. A terhelési tesztelés célja a teljesítmény szűk keresztmetszetek javítása, valamint a szoftveralkalmazás stabilitásának és zavartalan működésének biztosítása a telepítés előtt.

Ez a teszt általában azonosítja:

  • Egy alkalmazás maximális működési kapacitása
  • Határozza meg, hogy a jelenlegi infrastruktúra elegendő-e az alkalmazás futtatásához
  • Az alkalmazás fenntarthatósága a maximális felhasználói terhelés tekintetében
  • Azon egyidejű felhasználók száma, akiket egy alkalmazás támogatni tud, és méretezhetőség, hogy több felhasználó férhessen hozzá.

Ez egyfajta nem funkcionális tesztelés. A szoftverfejlesztésben a terhelési tesztelést általában az ügyfél/szerver, web alapú alkalmazásokhoz használják – intranet és internet egyaránt.

Terhelésvizsgálat szükségessége

Egyes rendkívül népszerű webhelyek komoly leállásokat szenvedtek el, amikor hatalmas forgalommal rendelkeznek. Az e-kereskedelmi webhelyek sokat fektetnek a hirdetési kampányokba, de nem a terhelési tesztelésbe, hogy biztosítsák az optimális rendszerteljesítményt, amikor ez a marketing forgalmat hoz.

Tekintsük a következő terhelési tesztelési példákat

  • A népszerű játékbolt, a Toysrus.com nem tudta kezelni a reklámkampányuk által generált megnövekedett forgalmat, ami mind a marketingdollárok, mind a potenciális játékeladások elvesztését eredményezte.
  • Egy légitársaság weboldala nem tudott több mint 10000 XNUMX felhasználót kezelni egy fesztiválajánlat alatt.
  • Az Encyclopedia Britannica promóciós ajánlatként hirdette meg az online adatbázisukhoz való ingyenes hozzáférést. Hetekig nem tudták lépést tartani a rohamos forgalommal.

Sok webhely késlelteti a betöltési időt, amikor nagy forgalommal találkozik. Néhány tény –

  • A legtöbb felhasználó 8 másodperces késleltetés után kattint az oldalra
  • $ 4.4 Billion A gyenge teljesítmény miatt évente elveszett

Miért terheléses tesztelés?

  • A terhelési tesztelés bizalmat ad a rendszerben, annak megbízhatóságában és teljesítményében.
  • A terhelési tesztelés segít azonosítani a rendszer szűk keresztmetszeteit erős felhasználói stresszhelyzetekben, még mielőtt az éles környezetben bekövetkezne.
  • A terhelési tesztelés kiváló védelmet nyújt a gyenge teljesítmény ellen, és kiegészíti a teljesítménymenedzsmentet és a termelési környezet figyelését szolgáló stratégiákat.

A terhelési tesztelés céljai

A tesztelés betöltése a következő problémákat azonosítja, mielőtt az alkalmazást piacra vagy termelésre helyezi át:

  • Válaszidő minden tranzakcióhoz
  • A rendszerelemek teljesítménye különböző terhelések mellett
  • Az adatbázis-összetevők teljesítménye különböző terhelések mellett
  • Hálózati késleltetés a kliens és a szerver között
  • Szoftver tervezési problémák
  • Szerverkonfigurációs problémák, például webszerver, alkalmazásszerver, adatbázisszerver stb.
  • Hardverkorlátozási problémák, például CPU maximalizálás, memóriakorlátozások, hálózati szűk keresztmetszetek stb.

A terhelési tesztelés meghatározza, hogy a rendszert finomítani kell-e, vagy a hardver és a szoftver módosítására van szükség a teljesítmény javításához. A terhelési tesztelés hatékony lebonyolításához különféle módszereket használhat teljesítménytesztelő eszközök amelyek rendelkezésre állnak, hogy segítsenek azonosítani a fejlesztendő területeket.

A terhelési vizsgálat előfeltételei

A terhelési tesztelés fő mérőszáma a válaszidő. A terhelési tesztelés megkezdése előtt meg kell határoznia:

  • A válaszidő mérése és összehasonlítása már megtörtént-e – Kvantitatív
  • A válaszidő alkalmazható-e az üzleti folyamatra – Releváns
  • Indokolt-e a válaszidő – Reális
  • Hogy a válaszidő elérhető-e – Elérhető
  • Függetlenül attól, hogy a válaszidő mérhető-e szerszámmal vagy stopperrel – Mérhető

A terhelési tesztelés megkezdése előtt be kell állítani egy környezetet:

Hardware Platform Szoftver konfiguráció
  • Szerver gépek
  • Processzorok
  • Memory design
  • Disk Storage
  • A gépek konfigurációjának betöltése
  • Hálózati konfiguráció
  • Operating rendszer
  • Szerver szoftver

A terhelési tesztelés stratégiái

A terhelési tesztelésnek számos módja van. Az alábbiakban bemutatunk néhány terhelési tesztelési stratégiát -

A terhelési tesztelés stratégiái

  • Kézi terhelési tesztelés: Ez a terhelési tesztelés végrehajtásának egyik stratégiája, de nem ad megismételhető eredményeket, nem tud mérhető szintű terhelést biztosítani egy alkalmazáson, és lehetetlen koordinálni.
  • Házon belül kifejlesztett terhelésvizsgáló eszközök: Az a szervezet, amely felismeri a terheléses tesztelés fontosságát, saját eszközöket építhet a terhelési tesztek végrehajtására.
  • Nyílt forráskódú terheléstesztelő eszközök: Számos ingyenes terhelési tesztelő eszköz áll rendelkezésre nyílt forráskódúként. Lehet, hogy nem olyan kifinomultak, mint fizetett társaik, de ha kevés a költségvetés, akkor a legjobb választás.
  • Vállalati szintű terheléstesztelő eszközök: Általában rögzítési/lejátszási lehetőséggel rendelkeznek. Számos protokollt támogatnak. Kivételesen nagy számú felhasználót tudnak szimulálni.

Hogyan kell terhelési tesztet végezni

A terhelési tesztelési folyamat röviden az alábbiak szerint írható le -

  1. Hozzon létre egy dedikált Tesztkörnyezet terhelési teszteléshez
  2. Határozza meg a következőket
  3. Terhelési teszt forgatókönyvek
  4. Határozza meg egy alkalmazás terhelési tesztelési tranzakcióit
    • Minden tranzakcióhoz készítsen adatokat
    • A rendszerhez hozzáférő felhasználók számát előre kell jelezni
    • Határozza meg a kapcsolat sebességét. Egyes felhasználók bérelt vonalon keresztül csatlakozhatnak, míg mások betárcsázós kapcsolatot használhatnak
    • Határozza meg a felhasználók által használt különböző böngészőket és operációs rendszereket 
    • Az összes szerver konfigurációja, például web-, alkalmazás- és DB-kiszolgálók
  5. Tesztforgatókönyv végrehajtása és figyelése. Különféle mutatók gyűjtése
  6. Elemezze az eredményeket. Tegyen ajánlásokat
  7. Finomhangolja a rendszert
  8. Újra teszt

Útmutató a terhelési teszteléshez

Útmutató a terhelési teszteléshez

  1. A terhelési tesztelést meg kell tervezni, amint az alkalmazás funkcionálisan stabillá válik.
  2. Nagy számú egyedi adatnak kell készen állnia az adattárban
  3. A felhasználók számát minden forgatókönyvhöz vagy szkripthez el kell dönteni
  4. Kerülje a részletes naplók létrehozását a lemez IO-területének megtakarítása érdekében
  5. Próbálja meg elkerülni a képek letöltését az oldalon
  6. A terhelési tesztelési tesztesetek végrehajtása során naplózni kell a válaszidő konzisztenciáját az eltelt időszakban, és ezt össze kell hasonlítani a különböző tesztfutásokkal.

Különbség a terhelés és a stresszteszt között

Terhelésvizsgálat Stressz tesztelés
A terhelési tesztelés azonosítja a rendszer szűk keresztmetszeteit különböző munkaterhelések esetén, és ellenőrzi, hogyan reagál a rendszer a terhelés fokozatos növelésére Stressz tesztelés meghatározza a rendszer töréspontját, hogy felfedje azt a maximális pontot, amely után megszakad.
A rendszer felső határának felismeréséhez állítsa be az alkalmazás SLA-ját, és ellenőrizze, hogy a rendszer hogyan bírja a nagy terhelést. Annak ellenőrzésére, hogyan viselkedik a rendszer szélsőséges terhelés alatt, és hogyan áll helyre a meghibásodás után.
A terhelési tesztelés fő célja a webalkalmazások terhelésének növelése. A stresszteszt célja annak biztosítása, hogy a kiszolgálók hosszú ideig tartó, hirtelen nagy terhelés esetén ne omoljanak össze.
A terhelési teszt során ellenőrzött attribútumok a csúcsteljesítmény, a szerver mennyisége és a válaszidő. Ez a fajta tesztelés ellenőrzi a stabilitási reakcióidőt stb.
A terhelési tesztelésnél a terhelési határ a törés küszöbe. Stressz-tesztben a terhelési határ a törés küszöbértéke felett van.

A funkcionális és a terhelési teszt közötti különbség

Funkcionális tesztelés Terhelésvizsgálat
A funkcionális tesztek eredményei könnyen megjósolhatók, mivel megfelelő lépéseket és előfeltételeket határoztunk meg A terhelési tesztek eredményei megjósolhatatlanok
A funkcionális tesztek eredményei kissé eltérnek A terhelési tesztek eredményei drasztikusan változnak
A végrehajtás gyakorisága Funkcionális tesztelés magas lesz A terhelési teszt végrehajtásának gyakorisága alacsony lesz
A funkcionális tesztek eredményei a tesztadatoktól függenek A terhelési tesztelés a felhasználók számától függ.

Tesztelőeszközök betöltése

Betöltési futó:

A Load Runner egy HP eszköz, amellyel az alkalmazások normál és csúcsterhelési körülmények között tesztelhetők. A Load Runner terhelést generál a hálózati forgalmat emuláló virtuális felhasználók létrehozásával. Valós idejű használatot szimulál, mint egy termelési környezet, és grafikus eredményeket ad.

További információ a Loadrunnerről itt .

A terhelési tesztelés előnyei és hátrányai

A terhelési tesztelés előnyei a következők:

  • A teljesítmény szűk keresztmetszetek azonosítása a gyártás előtt
  • Javítja a rendszer méretezhetőségét
  • Minimalizálja a rendszerleálláshoz kapcsolódó kockázatot
  • A meghibásodás költségeinek csökkentése
  • Növelje az ügyfelek elégedettségét

A terhelési tesztelés hátrányai:

  • Programozási ismeretekre van szükség ahhoz, hogy a szoftverteszttel összefüggésben terhelési tesztet lehessen végrehajtani.
  • Az eszközök drágák lehetnek, mivel az ár a támogatott virtuális felhasználók számától függ.

Összegzésként

  • A terhelési tesztelés egy olyan szoftvertesztelés, amely meghatározza a rendszer teljesítményét valós terhelési körülmények között.
  • A terhelési tesztelés jellemzően javítja a teljesítmény szűk keresztmetszeteit, a méretezhetőséget és az alkalmazás stabilitását, mielőtt az gyártásra kerülne.
  • Ez a tesztelés segít azonosítani az alkalmazások maximális működési kapacitását, valamint a rendszer szűk keresztmetszeteit.
  • Terhelési teszt be szoftver tesztelés fontos, mert ha figyelmen kívül hagyják, anyagi veszteségeket okozhat a szervezetnek.