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 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
- Steven Splaine: A valós világ modellezése a terhelés teszteléséhez
- Mi az a terhelésvizsgálat? írta: Tom Huston
- 4 A terhelés tesztelésének típusai és mikor kell őket használni David Buchnak
- Teljesítmény, terhelés, stressz vagy állóképességi teszt? Melyiket akarod? írta: Chris Jones