Mi az a STRESSZ-tesztelés a szoftvertesztelésben?
⚡ Okos összefoglaló
A stressztesztelés egy alkalmazást a normál működési határain túlra kényszerít, hogy megtalálja a töréspontot, megerősítse, hogy a hibákat szabályosan kezeli, és bizonyítsa, hogy a rendszer zökkenőmentesen helyreáll, miután a szélsőséges terhelést eltávolították.
Mi az a stresszteszt?
Stressz tesztelés A stressztesztelés egy olyan szoftvertesztelési típus, amely egy szoftveralkalmazás stabilitását és megbízhatóságát ellenőrzi. A stressztesztelés célja a szoftver robusztusságának és hibakezelési képességeinek mérése rendkívül nagy terhelési körülmények között, valamint annak biztosítása, hogy a szoftver ne omoljon össze kritikus helyzetekben. Szándékosan teszteli a normál működési pontokon túl, és értékeli, hogyan viselkedik a szoftver extrém körülmények között.
A stressztesztelés során a tesztelt alkalmazást (AUT) rövid ideig stressznek vetik alá, hogy felfedezzék a teherbírását. A stressztesztelés leggyakoribb felhasználási területe annak a határnak a meghatározása, amelynél a rendszer, a szoftver vagy a hardver meghibásodik. Azt is ellenőrzi, hogy a rendszer hatékony hibakezelést mutat-e, ha ezt a határt átlépik.
In SzoftverfejlesztésA stressztesztelést gyakran a ... mellett sorolják fel. Tartóssági tesztelés, de a kettő különbözik: A terheléstesztelés során abnormálisan nagy terhelést alkalmaznak rövid idő alatt, hogy megtalálják a törési pontot, míg a tartóssági (áztatási) teszt során mérsékelt terhelést tartanak órákon át, hogy feltárják a fokozatos romlást.
Az alábbi képernyőkép egy nagyméretű adatblokkot mutat be, amelyet egy weboldalról másolnak.
A tesztelt alkalmazás túlterheltté válik, amikor 5 GB adatot másolnak ki a weboldalról és beillesztenek a Jegyzettömbbe. A Jegyzettömb ekkor túlterheltté válik, és „Nem válaszol” hibaüzenetet ad vissza, pontosan úgy, ahogy a következő képernyőképen is látható.
Ugyanez az elv közvetlenül skálázható a szerveroldali rendszerekre is.
Stresszteszt szükségessége
Vegyük figyelembe a következő valós idejű példákat, ahol a stressztesztelés használata nyilvánvalóvá válik:
- A fesztivál ideje alatt online áruházping a webhely forgalmának megugrását tapasztalhatja, vagy amikor leárazást jelent be.
- Amikor egy blogot megemlítenek egy vezető újságban, hirtelen megugrott a forgalom.
Rendkívül fontos a stressztesztelés elvégzése az ilyen rendellenes forgalmi csúcsok kezelésére. Ennek a hirtelen forgalomnak a kezelésének elmulasztása bevételkieséshez és hírnévvesztéshez vezethet.
A stressztesztelés a következő okok miatt is rendkívül értékes:
- Ellenőrzi, hogy a rendszer rendellenes körülmények között is működik-e.
- Megerősíti, hogy a rendszer terhelés alatt megfelelő hibaüzenet jelenik meg.
- A rendszerhiba szélsőséges körülmények között hatalmas bevételkiesést okozhat.
- Jobb felkészülni a szélsőséges körülményekre a stresszteszt előzetes elvégzésével.
A következő rész ismerteti, hogy mit kell bizonyítania egy sikeres stressztesztnek.
A stresszteszt céljai
A stressztesztelés célja a rendszer viselkedésének elemzése egy hiba után. Ahhoz, hogy a stresszteszt sikeres legyen, a rendszernek megfelelő hibaüzenetet kell megjelenítenie extrém körülmények között.
A stressztesztelés elvégzéséhez néha hatalmas adathalmazokat használnak, és ezek az adatok elveszhetnek a rendszer meghibásodása során. A tesztelőknek biztosítaniuk kell, hogy ezek a biztonsággal kapcsolatos adatok ne vesszenek el a stressztesztelés során.
A stressztesztelés fő célja annak biztosítása, hogy a rendszer meghibásodás után helyreálljon, ezt a tulajdonságot helyreállíthatóságnak nevezzük. Helyreállítási tesztelés majd részletesen ellenőrzi a helyreállítási eljárást.
Terhelésteszt vs. stresszteszt
Mindkét technika a következőhöz tartozik: Teljesítményfelmérés család, így könnyű összetéveszteni őket. Az alábbi ábra a két terhelési profilt hasonlítja össze.
| Terhelésvizsgálat | Stressz tesztelés |
|---|---|
| Terhelésvizsgálat Normál terhelési körülmények között teszteli a rendszer viselkedését; szimulálja a ténylegesen várható terhelést. | A stressztesztelés a rendszer viselkedését vizsgálja extrém körülmények között, és addig folytatódik, amíg a rendszer meghibásodik. |
| A terheléstesztelés nem teszi tönkre a rendszert. | A stressztesztelés szándékosan megpróbálja feltörni a rendszert azáltal, hogy túlterheli azt adatokkal, vagy erőforrásoktól kíméli meg. |
Kapcsolódó profilok a következők: Spike tesztelés (egy hirtelen, rövid fellángolás), Hangerőteszt (nagy adatmennyiség, nem pedig sok felhasználó) és Méretezhetőség tesztelése (növekedési mozgástér).
A stressztesztek típusai
A következőkben a stressztesztelés típusait ismertetjük, egyenként.
Elosztott stressztesztelés
Elosztott kliens-szerver rendszerekben a tesztelés a szerverről induló összes kliensen történik. A terhelésteszt-szerver szerepe, hogy elosszon egy sor terheléstesztet az összes terhelésteszt-kliens között, és hogy... track az egyes kliensek állapotát. Miután egy kliens kapcsolatba lép a szerverrel, a szerver hozzáadja a kliens nevét, és megkezdi az adatok küldését tesztelésre. Az alábbi ábra azt mutatja, hogy a stressz szerver hogyan ér el egyes klienseket, másokat pedig nem.
Eközben a kliens gépek egy jelet, vagy szívverést küldenek, megerősítve, hogy továbbra is csatlakoznak a szerverhez. Ha a szerver nem kap jelet a kliens géptől, akkor azt a gépet további vizsgálatnak kell alávetni a hibakeresés érdekében. Az ábrán a szerver 2 klienshez (Kliens1 és Kliens2) tud csatlakozni, de nem tud jelet küldeni vagy fogadni a 3-as és a 4-es klienstől.
Az ilyen stressztesztelési forgatókönyvekhez az éjszakai futtatás a legjobb megoldás. A nagy szerverfarmoknak hatékonyabb módszerre van szükségük annak meghatározására, hogy mely számítógépeken történtek olyan stresszhibák, amelyeket meg kell vizsgálni.
Alkalmazási stressztesztelés
Ez a tesztelés egyetlen alkalmazásban az adatzárolással és -blokkolással, hálózati problémákkal és teljesítménybeli szűk keresztmetszetekkel kapcsolatos hibák felkutatására összpontosít.
Tranzakciós stressztesztelés
Stressztesztet végez egy vagy több tranzakción két vagy több alkalmazás között. A rendszer finomhangolására és optimalizálására szolgál.
Szisztémás stressztesztelés
Ez egy integrált stressztesztelés, amely több, ugyanazon a szerveren futó rendszeren futtatható. Olyan hibák megtalálására szolgál, ahol az egyik alkalmazás blokkolja a másik alkalmazás adatait.
Feltáró stressztesztelés
Ez a fajta stressztesztelés a rendszer szokatlan paraméterekkel vagy olyan körülmények között történő tesztelésére szolgál, amelyek valószínűtlenül fordulnának elő valós forgatókönyvben. Váratlan helyzetekben, például:
- Nagyszámú felhasználó jelentkezett be egyszerre.
- Egyszerre indul el egy víruskereső az összes gépen.
- Egy adatbázis offline állapotba kerül, miközben egy webhelyről férnek hozzá.
- Nagy mennyiségű adatot töltenek be egyszerre az adatbázisba.
Bármelyik változat is érvényes, a végrehajtási sorrend ugyanaz marad.
Hogyan kell stressztesztet csinálni?
A stressztesztelés folyamata 5 fő lépésben végezhető el:
- 1. lépés) A stresszteszt megtervezése: Itt gyűjti össze a rendszeradatokat, elemzi a rendszert, és meghatározza a stresszteszt céljait.
- 2. lépés) Automatizálási szkriptek létrehozása: Ebben a fázisban létrehozza a stressztesztelés automatizálási szkriptjeit, és generálja a tesztadatokat a stresszforgatókönyvekhez.
- 3. lépés) Szkript végrehajtása: Ebben a szakaszban futtatja a stressztesztelés automatizálási szkriptjeit, és tárolja a stressz eredményeit.
- 4. lépés: Eredmények elemzése: Ebben a szakaszban elemzi a stresszteszt eredményeit és azonosítja a szűk keresztmetszeteket.
- 5. lépés) Finomítás és optimalizálás: Ebben a szakaszban finomhangolja a rendszert, módosítja a konfigurációkat és optimalizálja a kódot a kívánt teljesítménymutató elérése érdekében.
Végül újra lefuttatod a teljes ciklust, hogy megállapítsd, a módosítások elhozták-e a kívánt eredményt. Például nem ritka, hogy 3-4 stressztesztelési ciklusra van szükség a teljesítménycélok eléréséhez, ezért a szkripteket általában a ... mellett karbantartják. regresszió tovább.
Stresszteszthez ajánlott eszközök
Az alábbi négy eszköz a legtöbb igényt lefedi, a vállalati csomagoktól az ingyenes, nyílt forráskódú opciókig.
LoadRunner
LoadRunner egy széles körben használt terheléstesztelő eszköz, amelyet most már forgalmaz OpenText a Professional, Enterprise és Cloud kiadásokban, miután a HP-ről a Micro Focusra váltott OpenTextA LoadRunner által generált terhelésteszt eredményeit benchmarkként kezeljük.
JMeter
Apache JMeter egy nyílt forráskódú tesztelőeszköz. Ez egy tiszta Java alkalmazás stressz- és teljesítményvizsgálatokhoz, és olyan teszttípusokat kíván lefedni, mint a terheléses, funkcionális és feszültségvizsgálatok. A jelenlegi 5.6.x kiadások a következőket tartalmazzák: Apache JMeter szükség Java 8-as vagy újabb verzióval, Java 17 ajánlott.
Stressz teszter
Ez az eszköz átfogó elemzést nyújt a webes alkalmazások teljesítményéről, grafikus formában jeleníti meg az eredményeket, és egyszerűen használható. Nincs szükség magas szintű szkriptekre, így a befektetés megtérülése alacsony marad.trackisebb csapatok számára.
NeoTerhelés
NeoTerhelés, most része a Tricentis portfólió, egy népszerű eszköz webes teszteléshez és Mobil alkalmazásokTöbb ezer felhasználó szimulálására képes, hogy kiértékelje az alkalmazások teljesítményét terhelés alatt, és elemezze a válaszidőket. Támogatja a felhőbe integrált teljesítmény-, terhelés- és stressztesztelést is, és jól skálázható.
További lehetőségek a tájékoztatóban találhatók teljesítménytesztelő eszközökBármelyiket is választjuk, a kimenete csak az alábbi metrikákhoz képest jelent valamit.
Mérőszámok a stressztesztekhez
A metrikák segítenek a rendszer teljesítményének értékelésében, és általában a stresszteszt végén tanulmányozzák őket. A gyakran használt metrikák három családba vannak csoportosítva.
Skálázhatóság és teljesítmény mérése
- Oldalszám másodpercenként: Azt méri, hogy másodpercenként hány oldalt kértek le.
- Teljesítmény: Egy alapvető metrika – a válasz adatmérete másodpercenként.
- Forduló: A tesztelési forgatókönyvek megtervezésének száma a kliens általi végrehajtásának számához képest.
Alkalmazási válasz
- Találati idő: Egy kép vagy oldal lekérésének átlagos ideje.
- Első bájtig eltelt idő: Az adat vagy információ első bájtjának visszaadásához szükséges idő.
- Oldalidő: Az oldal összes információjának lekéréséhez szükséges idő.
Hibák
- Sikertelen kapcsolatok: Az ügyfél által elutasított sikertelen kapcsolatok száma (gyenge jel).
- Sikertelen körök: A sikertelen körök száma.
- Sikertelen találatok: A rendszer által sikertelen próbálkozások száma (hibás linkek vagy nem látott képek).
A záró rész felsorolja azokat a helyzeteket, amelyek a leggyakrabban indokolják a stresszteszt elvégzését.
A stressztesztelés példái
A stressztesztelés akkor nyeri el a helyét, amikor egy esemény várhatóan jóval a napi alapértéket meghaladó forgalmat eredményez:
- Egy fesztivál leárazást hirdető e-kereskedelmi weboldal.
- Egy hírportál egy fontos esemény idején.
- Egy oktatási bizottság közzéteszi a vizsgaeredményeket.
- Közösségi oldalak, blogok és mobilalkalmazások egy virális pillanatban.
A teszt minden esetben figyeli az olyan erőforrásokat, mint a memória, a processzor és a hálózat, ellenőrzi, hogy a megfelelő hibaüzenetek jelennek-e meg terhelés alatt, és megerősíti, hogy a rendszer ezt követően visszatér-e a normál állapotba. szoftvertesztelés életciklusa nem funkcionális ellenőrzésként mellette Rendszer tesztelés és a szélesebb körű szoftvertesztelési típusok.

.png)
.png)

