Mi az a terhelési tesztelés? (Példák)
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ó |
---|---|
|
|
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 -
- 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 -
- Hozzon létre egy dedikált Tesztkörnyezet terhelési teszteléshez
- Határozza meg a következőket
- Terhelési teszt forgatókönyvek
- 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
- Tesztforgatókönyv végrehajtása és figyelése. Különféle mutatók gyűjtése
- Elemezze az eredményeket. Tegyen ajánlásokat
- Finomhangolja a rendszert
- Újra teszt
Útmutató a terhelési teszteléshez
- A terhelési tesztelést meg kell tervezni, amint az alkalmazás funkcionálisan stabillá válik.
- Nagy számú egyedi adatnak kell készen állnia az adattárban
- A felhasználók számát minden forgatókönyvhöz vagy szkripthez el kell dönteni
- Kerülje a részletes naplók létrehozását a lemez IO-területének megtakarítása érdekében
- Próbálja meg elkerülni a képek letöltését az oldalon
- 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.