Mi az a STRESSZ-tesztelés a szoftvertesztelésben?

Stressz tesztelés

Stressz tesztelés egy olyan szoftvertesztelés, amely ellenőrzi a szoftveralkalmazások stabilitását és megbízhatóságát. A stresszteszt 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, és annak biztosítása, hogy a szoftver ne omoljon össze válságos helyzetekben. Még a normál működési pontokon túl is tesztel, és értékeli a szoftver működését extrém körülmények között.

stresszteszt kép

A szoftverfejlesztésben a stressztesztet más néven ismerik Tartóssági tesztelés. A stresszteszt során az AUT-t rövid ideig feszültség alatt kell tartani, hogy megtudja, mennyire ellenálló. A legkiemelkedőbb felhasználás A stresszteszt célja annak a határnak a meghatározása, amelynél a rendszer, a szoftver vagy a hardver megszakad. Azt is ellenőrzi, hogy a rendszer hatékony hibakezelést mutat-e extrém körülmények között.

A tesztelés alatt álló alkalmazás stresszes lesz, amikor 5 GB adatot másol ki a webhelyről, és beilleszti a jegyzettömbbe. A Jegyzettömb stressz alatt van, és „Nem válaszolt” hibaüzenetet ad.

Mi az a STRESSZ-tesztelés a szoftvertesztelésben: eszközök, szükségletek és típusok

Stresszteszt szükségessége

Tekintsük a következő valós idejű példákat, ahol felfedezhetjük a stresszteszt használatát

  • A fesztivál ideje alatt egy online vásárlási oldal forgalomnövekedést tapasztalhat, vagy amikor akciót hirdet.
  • Amikor egy blogot megemlítenek egy vezető újságban, hirtelen megugrott a forgalom.

Az ilyen rendellenes forgalmi kiugrások kiküszöbölése érdekében feltétlenül el kell végezni a stressztesztet. Ennek a hirtelen forgalomnak a figyelmen kívül hagyása bevétel- és hírnévvesztéssel járhat.

A stresszteszt a következő okok miatt is rendkívül értékes:

  • Annak ellenőrzésére, hogy a rendszer rendellenes körülmények között működik-e.
  • Megfelelő hibaüzenet megjelenítése, ha a rendszer feszültség alatt van.
  • A rendszer meghibásodása extrém körülmények között óriási bevételkiesést okozhat
  • Jobb, ha felkészülünk az extrém körülményekre, ha stressztesztet hajtunk végre.

A stresszteszt céljai

A stresszteszt célja a rendszer viselkedésének elemzése meghibásodás 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 stressztesztek elvégzéséhez néha hatalmas adatkészletek használhatók, amelyek elveszhetnek a stresszteszt során. A tesztelők nem veszíthetik el ezeket a biztonsággal kapcsolatos adatokat stressztesztelés közben.

A stresszteszt fő célja annak biztosítása, hogy a rendszer helyreálljon a meghibásodás után, amelyet ún visszaszerezhetőség.

Terhelési teszt vs stresszteszt

Terhelésteszt és stresszteszt kép

Terhelésvizsgálat Stressz tesztelés
Terhelésvizsgálat célja a rendszer viselkedésének tesztelése normál terhelési feltételek mellett, és ez csak tesztelés vagy szimuláció a tényleges munkaterheléssel A stresszteszt célja, hogy tesztelje a rendszer viselkedését extrém körülmények között, és a rendszer meghibásodásáig lezajlik.
A terhelési tesztelés nem töri meg a rendszert A stressz-tesztelés megpróbálja megtörni a rendszert azáltal, hogy túlnyomó mennyiségű adattal vagy erőforrással tesztel.

A stressztesztek típusai

Az alábbiakban felsoroljuk a stressztesztek típusait, amelyek magyarázata a következő:

Elosztott stresszteszt:

A stressztesztek típusai

Az elosztott kliens-szerver rendszerekben a tesztelést a szerverről érkező összes kliensnél végzik el. A stressz-kiszolgáló szerepe az, hogy stresszteszteket küldjön el az összes stressz-kliensnek, és nyomon kövesse az ügyfél állapotát. Miután az ügyfél kapcsolatba lép a szerverrel, a szerver hozzáadja a kliens nevét, és megkezdi az adatok küldését tesztelésre.

Eközben a kliens gépek jelet vagy szívverést küldenek, hogy csatlakozik a szerverhez. Ha a szerver nem kap jeleket a kliens géptől, akkor tovább kell vizsgálni a hibakereséshez. Az ábrán látható, hogy egy szerver tud csatlakozni a két klienshez (Client2 és Client1), de nem tud jelet küldeni és fogadni a 2-as és 3-es klienstől.

Az éjszakai futás a legjobb lehetőség ezeknek a stressztesztelési forgatókönyveknek a futtatására. A nagy kiszolgálófarmoknak hatékonyabb módszerre van szükségük annak meghatározására, hogy mely számítógépeken fordult elő stressz-hibák, amelyeket ki kell vizsgálni.

Alkalmazási stresszteszt:

Ez a tesztelés az adatok zárolásával és blokkolásával, a hálózati problémákkal és a teljesítmény szűk keresztmetszeteivel kapcsolatos hibák feltárására összpontosít.

Tranzakciós stresszteszt:

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 stresszteszt:

Ez egy integrált stresszteszt, amely több, ugyanazon a szerveren futó rendszeren is tesztelhető. Olyan hibák keresésére szolgál, ahol az egyik alkalmazás adatai blokkolnak egy másik alkalmazást.

Feltáró stresszteszt:

Ez az egyik olyan stresszteszt-típus, amelyet a rendszer tesztelésére használnak olyan szokatlan paraméterekkel vagy feltételekkel, amelyek valós forgatókönyv esetén nem valószínű. Hibák megtalálására használják váratlan forgatókönyvekben, mint pl

  1. Nagyszámú felhasználó jelentkezett be egyszerre
  2. Ha egy víruskereső minden gépen egyszerre indul el
  3. Ha az adatbázis offline állapotba került, amikor egy webhelyről hozzáfértek,
  4. Ha egyidejűleg nagy mennyiségű adat kerül be az adatbázisba

Hogyan kell stressztesztet csinálni?

A stresszteszt 5 fő lépésben végezhető el:

1. lépés) A stresszteszt megtervezése: Itt összegyűjti a rendszeradatokat, elemzi a rendszert, 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 előállítja a tesztadatokat a stressz-forgató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ényeket.

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) módosítás és optimalizálás: Ebben a szakaszban finomhangolja a rendszert, módosítja a konfigurációkat, optimalizálja a kódot úgy, hogy a cél megfeleljen a kívánt referenciaértéknek.

Végül ismét lefuttatja a teljes ciklust, hogy megállapítsa, a módosítások meghozták-e a kívánt eredményt. Például nem szokatlan, hogy a teljesítménycélok eléréséhez 3-4 stresszteszt-folyamatot kell végrehajtani.

Stresszteszthez ajánlott eszközök

LoadRunner

A HP LoadRunner egy széles körben használt terhelési tesztelő eszköz. A Loadrunner által kialakított terhelési tesztek eredményei viszonyítási alapnak számítanak.

Jmeter

A Jmeter egy nyílt forráskódú tesztelőeszköz. Ez egy tiszta Java alkalmazás stressz és Teljesítményfelmérés. A Jmeter olyan típusú tesztek lefedésére szolgál, mint a terhelés, a funkcionális, a stressz stb. Működéséhez JDK 5 vagy újabb verzióra van szüksége.

Stressz teszter

Ez az eszköz átfogó elemzést nyújt a webalkalmazás teljesítményéről, grafikus formátumban szolgáltat eredményeket, és rendkívül könnyen használható. Nincs szükség magas szintű szkriptekre, és jó megtérülést biztosít.

Neo kiszámításának

Ez a piacon elérhető népszerű eszköz a web és a Mobil alkalmazások. Ez az eszköz több ezer felhasználót képes szimulálni, hogy értékelje az alkalmazás 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 stressztesztet is. Könnyen használható, költséghatékony és jó skálázhatóságot biztosít.

Mérőszámok a stressztesztekhez

A mérőszámok 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 leggyakrabban használt mutatók a következők:

A méretezhetőség és a teljesítmény mérése

  • Oldal/másodperc: azt méri, hogy hány oldalt kértek / másodperc
  • Átbocsátási sebesség: Alap metrika – Válaszadat mérete/másodperc
  • Rounds: A tesztforgatókönyvek megtervezésének száma az ügyfél által végrehajtott végrehajtások számához viszonyítva

Alkalmazási válasz

  • Találási idő: Átlagos idő a kép vagy oldal lekéréséhez
  • Az első bájtig eltelt idő: Az adat vagy információ első bájtjának visszaadásához szükséges idő
  • Oldalidő: Az oldalon lévő összes információ lekéréséhez szükséges idő

Hibák

  • Sikertelen kapcsolatok: Az ügyfél által visszautasított sikertelen kapcsolatok száma (gyenge Signal)
  • Sikertelen körök: A sikertelen körök száma
  • Sikertelen találatok: A rendszer által végrehajtott sikertelen próbálkozások száma (megszakadt hivatkozások vagy nem látott képek)

Következtetés

A stresszteszt célja a rendszer extrém körülmények közötti ellenőrzése. Figyeli a rendszer erőforrásait, például a memóriát, a processzort, a hálózatot stb., és ellenőrzi, hogy a rendszer képes-e visszaállni a normál állapotba. Ellenőrzi, hogy a rendszer megfelelő hibaüzeneteket jelenít-e meg stressz alatt.

Példa a stressztesztre

  1. Fesztivál akciót hirdet az e-kereskedelmi weboldal
  2. Hírek honlapja néhány fontosabb esemény idején
  3. Az Oktatási Tanács eredményoldala
  4. Közösségi oldalak vagy blogok, alkalmazások stb