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.
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.
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é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:
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
- Nagyszámú felhasználó jelentkezett be egyszerre
- Ha egy víruskereső minden gépen egyszerre indul el
- Ha az adatbázis offline állapotba került, amikor egy webhelyről hozzáfértek,
- 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
- Fesztivál akciót hirdet az e-kereskedelmi weboldal
- Hírek honlapja néhány fontosabb esemény idején
- Az Oktatási Tanács eredményoldala
- Közösségi oldalak vagy blogok, alkalmazások stb