Terhelésvizsgálat - Load testing

A terhelésvizsgálat az a folyamat, amikor igényt támasztunk a rendszerre, és mérjük a válaszát.

Szoftver terhelés tesztelése

A terhelésvizsgálat kifejezést különböző módon használják a professzionális szoftvertesztelő közösségben. A terhelésvizsgálat általában arra a gyakorlatra vonatkozik, amikor egy szoftver program várható használatát modellezik, több felhasználó egyidejű elérésének szimulálásával. Mint ilyen, ez a teszt leginkább a többfelhasználós rendszerekre vonatkozik; gyakran egy ügyfél/szerver modell, például webszerverek használatával. Más típusú szoftverrendszerek azonban terheléses tesztelhetők is. Például egy szövegszerkesztő vagy grafikus szerkesztő kényszeríthető egy rendkívül nagy méretű dokumentum olvasására; vagy egy pénzügyi csomag kényszeríthető arra, hogy több éves adatok alapján készítsen jelentést. A legpontosabb terhelésvizsgálat a tényleges használatot szimulálja, szemben az elméleti vagy analitikus modellezéssel végzett teszteléssel.

A terhelésvizsgálat lehetővé teszi a webhely szolgáltatásminőségének (QOS) teljesítményének mérését a tényleges vásárlói viselkedés alapján. Szinte az összes terheléstesztelő eszköz és keretmunka a klasszikus terhelésvizsgálati paradigmát követi: amikor az ügyfelek felkeresik webhelyét, egy szkriptrögzítő rögzíti a kommunikációt, majd létrehozza a kapcsolódó interakciós szkripteket. A terhelésgenerátor megpróbálja visszajátszani a rögzített parancsfájlokat, amelyek esetleg módosíthatók különböző tesztparaméterekkel az újrajátszás előtt. A visszajátszási eljárás során mind a hardveres, mind a szoftveres statisztikákat a konduktor figyeli és gyűjti, ezek a statisztikák tartalmazzák a CPU -t, a memóriát, a fizikai kiszolgálók lemez IO -ját és a válaszidőt, a tesztelt rendszer (SUT) teljesítményét stb. És végül mindezeket a statisztikákat elemzik, és terhelésvizsgálati jelentést készítenek.

A terhelés- és teljesítménytesztelés elemzi a többfelhasználós közönségnek szánt szoftvereket úgy, hogy a szoftvert különböző számú virtuális és élő felhasználónak teszi ki, miközben figyelemmel kíséri a teljesítményméréseket ezen különböző terhelések mellett. A terhelés és a teljesítmény tesztelését általában a termelési környezettel azonos tesztkörnyezetben végzik, mielőtt a szoftverrendszert engedélyezik.

Például egy bevásárlókosár -képességgel rendelkező weboldalnak 100 egyidejű felhasználó támogatására van szüksége a következő tevékenységekre bontva:

  • 25 virtuális felhasználó (VU -felhasználó) jelentkezik be, böngésszen az elemek között, majd jelentkezzen ki
  • 25 VUsers jelentkezzen be, tegyen elemeket a kosárba, nézzen ki, majd jelentkezzen ki
  • 25 VUser bejelentkezik, visszaküldi a korábban megvásárolt tételeket, majd kijelentkezik
  • 25 VU -felhasználók bejelentkeznek minden további tevékenység nélkül

Egy tesztanalitikus különféle terheléstesztelő eszközöket használhat ezeknek a JU -felhasználóknak és tevékenységüknek a létrehozásához. Miután a teszt elkezdődött és elérte az egyensúlyi állapotot, az alkalmazást a 100 VUser terhelés mellett tesztelik a fent leírtak szerint. Ezután az alkalmazás teljesítményét nyomon lehet követni és rögzíteni lehet.

A terhelésvizsgálati terv vagy szkript specifikái általában szervezetenként eltérőek. Például a fenti felsorolás szerinti listában az első elem 25 VU -felhasználót jelenthet, akik egyedi elemeket, véletlenszerű elemeket vagy kiválasztott elemkészleteket böngésznek, a kidolgozott teszttervtől vagy szkripttől függően. Azonban minden terhelési tesztterv megpróbálja szimulálni a rendszer teljesítményét a várható csúcs munkafolyamatok és térfogatok között. A terhelési teszt letételének vagy sikertelenségének kritériumai (át/nem kritériumok) általában különbözőek a szervezetek között is. Nincsenek szabványok, amelyek meghatározzák az elfogadható terhelésvizsgálati teljesítménymutatókat.

Általános tévhit, hogy a terheléstesztelő szoftver rögzítési és lejátszási képességeket biztosít, mint például a regressziós tesztelési eszközök. A terheléstesztelő eszközök a teljes OSI protokollköteget elemzik, míg a legtöbb regressziós tesztelő eszköz a GUI teljesítményére összpontosít . Például egy regressziós tesztelő eszköz rögzíti és lejátssza az egérkattintást a webböngésző egyik gombjára, de a terheléstesztelő eszköz a hiperszöveget küldi ki, amelyet a böngésző küld, miután a felhasználó rákattintott a gombra. Többfelhasználós környezetben a terheléstesztelő eszközök küldhetnek hipertextet több felhasználó számára, minden felhasználó egyedi bejelentkezési azonosítóval, jelszóval stb.

A rendelkezésre álló népszerű terhelésvizsgáló eszközök betekintést nyújtanak a lassú teljesítmény okaiba is. A rendszer lassú teljesítményének számos lehetséges oka lehet, többek között, de nem kizárólagosan:

  • Alkalmazásszerver (ek) vagy szoftver
  • Adatbázis -kiszolgáló (k)
  • Hálózat - késés , torlódás stb.
  • Ügyféloldali feldolgozás
  • Terheléselosztás több szerver között

A terhelésvizsgálat különösen akkor fontos, ha az alkalmazás, a rendszer vagy a szolgáltatás szolgáltatási szerződés vagy SLA hatálya alá tartozik .

Terhelésvizsgálatot végeznek, hogy meghatározzák a rendszer viselkedését normál és várható csúcsterhelési körülmények között. Segít azonosítani az alkalmazás maximális működési kapacitását, valamint a szűk keresztmetszeteket, és megállapítani, hogy melyik elem okozza a lebomlást. Ha a rendszerre nehezedő terhelést a szokásos használati szokásokon túl emelik, hogy teszteljék a rendszer válaszát szokatlanul nagy vagy csúcsterhelések esetén, akkor ezt stressztesztnek nevezzük . A terhelés általában olyan nagy, hogy a hibás körülmények a várt eredmény, de nincs egyértelmű határ, amikor egy tevékenység megszűnik terhelési tesztnek lenni, és stresszteszt lesz.

A "terhelésvizsgálat" kifejezést gyakran szinonimaként használják a párhuzamossági teszteléssel , a szoftver teljesítménytesztelésével , a megbízhatósági teszteléssel és a kötetvizsgálattal bizonyos esetekben. Mindezek a nem funkcionális tesztek típusai , amelyek nem képezik részét az adott szoftver használati alkalmasságának ellenőrzésére használt funkcionalitásteszteknek.

Felhasználói élmény terhelési teszt alatt

A fenti példában, miközben a tesztelt eszköz (DUT) termelési terhelés alatt van - 100 VUsers, futtassa a célalkalmazást. A célalkalmazás teljesítménye itt lenne a terhelés alatti felhasználói élmény. Leírja, hogy a DUT milyen gyorsan vagy lassan reagál, és mennyire elégedett, vagy hogyan érzékeli a felhasználó a teljesítményt.

Böngésző és protokoll szintű felhasználók

A történelem során minden terheléses vizsgálatot automatizált API -tesztekkel hajtottak végre, amelyek a forgalmat szimulálták a protokollréteg párhuzamos interakcióin keresztül (gyakran protokoll szintű felhasználóknak vagy PLU -knak hívják). A konténerek és a felhőalapú infrastruktúra fejlődésével mostantól lehetőség van arra, hogy valódi böngészőkkel teszteljék (gyakran böngésző szintű felhasználóknak vagy BLU -knak nevezik őket). Mindegyik megközelítésnek megvannak az előnyei a különböző típusú alkalmazásokhoz, de általában a böngésző szintű felhasználók jobban hasonlítanak a webhely valós forgalmához, és reálisabb terhelési profilt és válaszidőt biztosítanak. A BLU-k minden bizonnyal a tesztek futtatásának drágább módja, és nem működhetnek minden típusú alkalmazással, különösen azokkal, amelyek nem érhetők el webböngészőn keresztül, például asztali ügyfél vagy API-alapú alkalmazás segítségével.

Terhelésvizsgáló eszközök

Eszköz neve Cégnév Engedély típus Árazás Fókusz Megjegyzések
Apache JMeter Egy Apache Jakarta nyílt forráskódú projekt Apache licenc  2.0 Helyi Ingyenes Java asztali alkalmazás terhelésvizsgálathoz és teljesítményméréshez.
BlazeMeter BlazeMeter Kft. Szabadalmazott Felhőalapú Ingyenes terv áll rendelkezésre Webhely, webes alkalmazás, mobil, adatbázis és egyéb forgatókönyvek Skálázható terhelés akár 200 000 egyidejű szimulált böngészőfelhasználóhoz nyolc földrajzi helyről. Integrációra és funkcionális tesztelésre is használható.
Blitz Spirent Communications Szabadalmazott Felhőalapú Próba elérhető Webhelyek, mobil és REST API -k Lehetővé teszi akár 50 000 egyidejű virtuális felhasználó szimulálását a világ különböző pontjairól.
Árvíz A Tricentis Corp. Szabadalmazott Felhőalapú Ingyenes használati réteg, fizetett használati szintek Böngésző alapú terhelés tesztelés, API -k és protokollvezérelt alkalmazások Skálázható terhelés akár több millió párhuzamos felhasználó számára az AWS és az Azure összes földrajzi régiójából, valamint helyszíni telepítések. Az árak a havi virtuális felhasználói órákon alapulnak.
Gatling Nyílt forráskód Apache licenc  2.0 Helyi Ingyenes Java webes alkalmazások Hordozható HTML jelentések.
Loader.io SendGrid Labs Szabadalmazott Felhőalapú Ingyenes terv áll rendelkezésre Webes alkalmazások és API
LoadRunner Mikrofókusz Szabadalmazott Helyi Próba elérhető Elsősorban nagyszámú teszt (vagy nagyszámú virtuális felhasználó) egyidejű végrehajtására szolgál. Egység- és integrációs tesztelésre is használható.
Terhelés teszt (a SOAtest része ) Parasoft Szabadalmazott Helyi Demo elérhető Teljesítménytesztelő eszköz, amely ellenőrzi a funkcionalitást és a terhelés alatti teljesítményt. Támogatja a SOAtest teszteket, a JUnits-t, a könnyű socket-alapú alkatrészeket. Egyidejűségi problémákat észlel.
loadUI SmartBear szoftver EUPL Helyi Demo elérhető Többplatformos terheléstesztelő eszköz, elsősorban webszolgáltatásokra. Integrálható a szappanUI -val .
Bejelentkezés VSI Bejelentkezés VSI, Inc. Szabadalmazott Helyi Próba elérhető A virtuális Windows asztali számítógépek terhelései
NeoLoad Neotys Szabadalmazott Helyi Ingyenes terv áll rendelkezésre Web és mobil A terhelés helyi ügynökökből vagy a felhőből generálható.
OpenSTA Nyissa meg a rendszer tesztelési architektúráját GNU General Public License  2.0 Helyi Ingyenes web szerver CORBA alapú elosztott szoftver architektúrát használ. OpenSTA bináris fájlok állnak rendelkezésre a Windows számára.
Racionális teljesítmény tesztelő IBM Szabadalmazott Helyi Próba elérhető Az Eclipse -alapú nagyméretű teljesítménytesztelő eszköz elsősorban nagy volumenű teljesítménytesztek végrehajtására szolgál, hogy mérje a rendszer válaszidejét a kiszolgálóalapú alkalmazásokhoz.
Ostrom Nyílt forráskód Nyílt forráskódú  GPLv3 vagy újabb Helyi Ingyenes Webszerverek Támogatja az alapvető hitelesítést, cookie -kat, HTTP, HTTPS és FTP protokollokat.
Selyem előadó Borland Szabadalmazott Helyi Próba elérhető Alkalmazásteljesítmény -eszköz felhővel és helyi virtuális ügynökökkel. Támogatja a legtöbb protokollt és alkalmazást. Engedélyezett.
Teszt Stúdió Telerik Szabadalmazott Helyi Próba elérhető Mérje fel, hogyan teljesítene a webhely, ha nagyszámú felhasználó látogatja meg egyszerre.
Visual Studio Enterprise kiadás Microsoft Szabadalmazott Helyi Próba elérhető A Visual Studio Enterprise kiadás terhelésvizsgáló eszközt tartalmaz, amely lehetővé teszi a fejlesztők számára, hogy különböző teszteket (web, egység stb.) Hajtsanak végre a konfigurációk kombinációjával, hogy szimulálják a valós felhasználói terhelést. A Microsoft bejelentette, hogy a webes teljesítménye és a terhelés tesztelési funkciója megszűnt a Visual Studio 2019 után.
WebLOAD RadView Szabadalmazott Felhőalapú vagy helyi Ingyenes terv áll rendelkezésre Webes és mobil alkalmazások és API Terhelésvizsgáló eszköz webes és mobil alkalmazásokhoz, beleértve a Webes irányítópultot a teljesítményteszt elemzéséhez. Nagyméretű, a felhőből is előállítható terhelésekhez használják. Engedélyezett.

Fizikai terhelés vizsgálat

A geotechnikai rajzokon használt szimbólum

A gépek, motorok, szerkezetek és motorok sok típusát terhelésvizsgálatnak vetik alá. A teher lehet kijelölt biztonságos üzemi terhelésnél (SWL), teljes terhelésnél vagy súlyosabb terhelésnél. Az irányadó szerződés, műszaki specifikáció vagy vizsgálati módszer tartalmazza a vizsgálat elvégzésének részleteit. A mechanikai terhelésvizsgálat célja annak ellenőrzése, hogy a szerkezet minden alkotóeleme, beleértve az anyagokat, az alaprögzítéseket, alkalmas-e a feladatra és a terhelésre.

Többféle terhelésvizsgálatot alkalmaznak

  • Statikus vizsgálat az, amikor egy meghatározott ideig állandó kijelölt állandó terhelést alkalmaznak.
  • Dinamikus tesztelés az, amikor változó vagy mozgó terhelést alkalmaznak.
  • A ciklikus tesztelés meghatározott ciklusok, időtartamok és feltételek mellett ismételt be- és kirakodást tartalmaz.

Az 1992. évi Egyesült Királyságban a gépek szállításáról szóló (biztonsági) rendelet kimondja, hogy a terhelésvizsgálatot a berendezés első üzembe helyezése előtt kell elvégezni. A teljesítményvizsgálat biztonságos munkaterhelést (SWL) vagy más meghatározott terhelést alkalmaz egy meghatározott ideig egy irányító vizsgálati módszerben, specifikációban vagy szerződésben. Az 1998. évi Lifting Operations and Lifting Regulations Szabályok szerint az Egyesült Királyságban az első vizsgálat utáni terhelésvizsgálatra van szükség, ha egy fő alkatrészt kicserélnek, ha az elemet egyik helyről a másikra viszik, vagy az illetékes személy diktálja.

Autó töltő rendszer

A terheléses teszt segítségével értékelhető az autó akkumulátorának állapota . A teszter egy nagy ellenállásból áll, amelynek ellenállása hasonló az autó indítómotorjához, és egy mérőből, amellyel le lehet olvasni az akkumulátor kimeneti feszültségét mind terheletlen, mind terhelt állapotban. A teszter használatakor először az akkumulátor nyitott áramkörének feszültségét kell ellenőrizni. Ha a nyitott áramkör feszültsége a specifikáció alatt van (12,6 volt teljesen feltöltött akkumulátor esetén), akkor először az akkumulátort kell feltölteni. Az akkumulátor nyitott áramkörének feszültségének leolvasása után a terhelést alkalmazzák. Alkalmazásakor nagyjából ugyanazt az áramot szívja fel, mint az autó indítómotorja a forgatás során. Az akkumulátor megadott hidegindító amperje alapján, ha a feszültség terhelés alatt egy bizonyos pont alá csökken, az akkumulátor rossz. A terhelési teszteket futó autóknál is használják az autó generátorának kimenetének ellenőrzésére .

Lásd még

Hivatkozások

Külső linkek