Ebben a részben megismerjük a teljesítménytesztet, azt, hogy miért van szükségünk rá, a teljesítményteszt típusairól és a teljesítménytesztelés folyamatáról.
A következő témákat fogjuk megérteni ebben a részben:
Mi a teljesítményteszt?
Ez a nem funkcionális tesztelés legfontosabb része.
Az alkalmazások viselkedésének bizonyos terhelés alkalmazásával történő ellenőrzését teljesítménytesztnek nevezzük.
Általában ez a tesztelés határozza meg, hogy a szerver milyen gyorsan válaszol a felhasználó kérésére.
Az alkalmazás teljesítményének tesztelése során a különféle tényezőkre fogunk koncentrálni, mint pl Válaszidő, terhelés és stabilitás az alkalmazásból.
Válaszidő: A válaszidő az az idő, amely alatt a szerver válaszol az ügyfél kérésére.
Betöltés: Itt a Load azt jelenti, hogy mikor N-szám azon felhasználók száma, akik egyidejűleg használják az alkalmazást, vagy egyszerre küldik el a kérést a szervernek.
Stabilitás: A stabilitási tényező, azt mondhatjuk, hogy ha N számú felhasználó használja az alkalmazást egyidejűleg egy adott ideig.
Mikor használunk teljesítménytesztet?
Teljesítménytesztet végzünk, amint a szoftver stabil és éles üzembe kerül, és több felhasználó egyidejűleg is hozzáférhet, emiatt teljesítménybeli problémák léphetnek fel. A teljesítményproblémák elkerülése érdekében a tesztelő egy teljesítménytesztet hajt végre.
Mivel nem funkcionális tesztelésről van szó, ami nem jelenti azt, hogy mindig teljesítménytesztet használunk, csak akkor megyünk teljesítménytesztre, ha az alkalmazás funkcionálisan stabil.
Megjegyzés: A teljesítménytesztet nem lehet manuálisan elvégezni, mivel annak költséges és pontos eredménye nem tartható fenn.
A teljesítményteszt típusai
A teljesítménytesztek típusai a következők:
rugós modulok
Hadd vitassuk meg egyenként, hogy teljes megértésed legyen Terhelés, stressz, méretezhetőség, és Stabilitás Teljesítményfelmérés.
Terhelési tesztelés
A terhelési tesztelést egy alkalmazás teljesítményének ellenőrzésére használják, olyan terhelés alkalmazásával, amely kisebb vagy egyenlő a kívánt terhelésnél, ezt terhelési tesztnek nevezik.
Például: Az alábbi képen, 1000 felhasználó vannak a kívánt terhelést , amelyet a vásárló ad, ill 3/másodperc az a cél amelyet egy terhelési vizsgálat elvégzése során szeretnénk elérni.
Stressz tesztelés
A stresszteszt egy tesztelés, amely a kívánt terhelésnél nagyobb terhelés alkalmazásával ellenőrzi az alkalmazás viselkedését.
Például: Ha a fenti példát vesszük, és a kívánt terhelést 1000-ről 1100 felhasználóra növeljük, és a cél 4/másodperc. Miközben ebben a forgatókönyvben végrehajtja a stressztesztet, az átmegy, mert a terhelés nagyobb (100-nál nagyobb), mint a ténylegesen kívánt terhelés.
Méretezhetőség tesztelése
Egy alkalmazás teljesítményének ellenőrzése bizonyos mérlegek terhelésének növelésével vagy csökkentésével (felhasználó száma) az úgynevezett méretezhetőség tesztelése . A felfelé és a lefelé skálázhatóság tesztelését skálázhatósági tesztelésnek nevezzük.
A méretezhetőség tesztelése két részre oszlik, amelyek a következők:
Felfelé skálázhatóság tesztelése
Azt teszteli, ahol mi növeli a felhasználók számát egy adott léptékben amíg ütközési pontot nem kapunk. Felfelé skálázhatósági tesztet fogunk használni az alkalmazás maximális kapacitásának meghatározásához.
Lefelé skálázhatósági tesztelés
A lefelé skálázhatósági tesztelés akkor használatos, ha a terhelési tesztet nem sikerült teljesíteni, majd indítsa el csökkentve a sz. egy adott intervallumban amíg el nem éri a célt. Hogy könnyen azonosítható legyen a szűk keresztmetszet (hiba).
Stabilitásteszt
Egy alkalmazás teljesítményének ellenőrzése által a terhelés meghatározott ideig történő alkalmazása úgy is ismert mint Stabilitásteszt .
string összehasonlítás java
Példa a teljesítmény tesztelésére
Vegyünk egy példát, ahol fogunk tesztelje egy olyan alkalmazás viselkedését, ahol a kívánt terhelés 1000-nél kisebb vagy 1000 felhasználóval egyenlő .
Az alábbi képen láthatjuk, hogy a 100 felfelé a felhasználókat folyamatosan növeljük, hogy ellenőrizze a maximum töltés , amit más néven felfelé skálázhatóság tesztelése .
1200 → 3,5sec: [nem kisebb vagy egyenlő a kívánt terhelésnél, ezért lesz Sikertelen ]
1300 → 4sec: [nem kisebb vagy egyenlő a kívánt terhelésnél. azaz., Sikertelen ]
1400 → Lezuhant
Megjegyzés1: A térfogat- és áztatásteszt a tesztelés egy fajtája, de nem a teljesítményteszt.
Térfogatvizsgálat
A mennyiségi tesztelés olyan tesztelés, amely segít ellenőrizni egy alkalmazás viselkedését azáltal, hogy nagy mennyiségű terhelést illeszt be az adatok tekintetében, és ezt mennyiségi tesztelésnek nevezik, és itt az adatátviteli sebességek számára koncentrálunk, mint a felhasználók számára. .
Jegyzet 2:
A térfogat egy kapacitás, míg a terhelés egy mennyiség, azaz a terhelésvizsgálat azt jelenti, hogy nem. A mennyiségi tesztelés pedig adatmennyiséget jelent.
Áztatási vizsgálat
Az ilyen típusú tesztelés során ellenőrizni fogjuk egy alkalmazás viselkedését a környezetben, amely hosszú ideig nem támogatott, az úgynevezett beázási teszt.
Általánosságban elmondható, hogy az áztatási tesztelés negatív típusú tesztelés, mivel már tudjuk, hogy a szerver vagy a környezet nem támogatja.
Teljesítményvizsgálati folyamat
A teljesítménytesztet nem lehet manuálisan elvégezni, mivel:
- Sok erőforrásra van szükségünk, és ez egy költségesebb megközelítés lett.
- És a pontosság nem tartható fenn, ha manuálisan követjük nyomon a válaszidőt.
A teljesítménytesztelési folyamat a következő lépésekben fejeződik be:
- Határozza meg a teljesítményforgatókönyveket
- Tervezzen és tervezzen teljesítményteszt szkriptet
- A tesztkörnyezet konfigurálása és a terhelés elosztása
- Tesztszkriptek végrehajtása
- Eredmény
- Elemzés eredménye
- Azonosítsa a szűk keresztmetszetet
- Futtassa újra a tesztet
Ha végrehajtjuk a pozitív áramlás a teljesítménytesztelési folyamat során az alábbi folyamatot követheti:
Határozza meg a teljesítményforgatókönyveket
Először is azonosítjuk a teljesítményforgatókönyveket az alábbi tényezők alapján:
A leggyakrabban előforduló forgatókönyvek: Ez azt jelenti, hogy a forgatókönyvek alapján meg tudjuk találni a teljesítményforgatókönyveket, amelyek általánosan használtak, mint a Gmail alkalmazás; fellépünk bejelentkezés, postafiók, elemek küldése, e-mail írás és kijelentkezés .
A legkritikusabb forgatókönyvek: A kritikus forgatókönyvek rendszeres használatot jelentenek, és fontosak az üzletszerű Gmail alkalmazásban bejelentkezés, írás, postafiók és kijelentkezés .
Hatalmas adatforgalom: Ha hatalmas adat áll rendelkezésünkre, az azt jelenti, hogy n számú felhasználó használja egyszerre az alkalmazást.
Miután azonosítottuk a teljesítményforgatókönyveket, áttérünk a következő lépésre.
Tervezzen és tervezzen teljesítményteszt szkriptet
Ebben a lépésben telepítjük az eszközöket a Test Engineer Machine-re és elérjük a tesztkiszolgálót, majd írunk néhány szkriptet a tesztforgatókönyveknek megfelelően, és futtatjuk az eszközt.
Ha elkészültünk a forgatókönyv megírásával, folytatjuk a következő lépést.
A tesztkörnyezet konfigurálása és a terhelés elosztása
A tesztszkriptek megírása után a végrehajtás előtt rendezzük a tesztelési környezetet. Ezenkívül kezelheti az eszközöket, egyéb erőforrásokat, és ossza el a terhelést a „Használati minta” szerint, vagy említse meg az időtartamot és a stabilitást.
Tesztszkriptek végrehajtása
Miután elkészültünk a terhelés elosztásával, végrehajtjuk, ellenőrizzük és figyeljük a tesztszkripteket.
rekha filmszínésznő
Eredmény
A teszt szkriptek végrehajtása után megkapjuk a teszt eredményét. És ellenőrizze, hogy az eredmény megfelel-e a célnak a megadott válaszidő alatt vagy sem, és a válaszidő lehet maximális, átlagos és minimális.
Ha a válasz nem éri el a kívánt válaszidőt, akkor a következőt választjuk negatív áramlás hol hajtja végre az alábbi lépéseket:
Elemzés eredménye
Először elemezzük a teszt eredményét, hogy megfelel-e a válaszidőnek vagy sem.
Azonosítsa a szűk keresztmetszetet
Ezt követően azonosítjuk a szűk keresztmetszet (hiba vagy teljesítményprobléma ). A szűk keresztmetszet pedig ezek miatt a szempontok miatt fordulhat elő, mint például a kód probléma, hardver probléma (merevlemez, RAM processzor), hálózati problémák, és a szoftver probléma (operációs rendszer) . A szűk keresztmetszet megtalálása után pedig fellépünk hangolás (javítás vagy beállítás) hogy feloldja ezt a szűk keresztmetszetet.
Futtassa újra a tesztet
Miután kijavítottuk a szűk keresztmetszeteket, futtassuk újra a tesztszkripteket, és ellenőrizzük, hogy az eredmény megfelel-e a kívánt célnak vagy sem.
A probléma a teljesítménytesztnél jelentkezik
Az alkalmazás teljesítménytesztelése közben problémák léphetnek fel, és ezeket a problémákat a teljesítmény kérdése .
A teljesítménnyel kapcsolatos problémák a következők:
Válaszidő probléma
A válaszidő azt jelenti, hogy a szerver milyen gyorsan válaszol az ügyfél kérésére. Ha a felhasználó kérése nem teljesül a megadott válaszidőn belül, akkor előfordulhat, hogy a felhasználó elveszti érdeklődését az adott szoftver vagy alkalmazás iránt. Éppen ezért az alkalmazásnak vagy szoftvernek tökéletes válaszidővel kell rendelkeznie ahhoz, hogy gyorsan válaszoljon a felhasználó kérésére.
Méretezhetőségi probléma
A méretezhetőségi problémák akkor jelentkeznek, ha az alkalmazás nem tudja egyszerre fogadni az n számú felhasználót és a várható felhasználói kéréseket. Ezért megtesszük felfelé skálázhatóság tesztelése (ellenőrizze az alkalmazás maximális kapacitását) és lefelé skálázhatóság tesztelése (amikor a várt idő nem egyezik a tényleges idővel).
Palacknyak
A szűk keresztmetszet a hiba informális neve, amely akkor fordul elő, ha az alkalmazást egyetlen összetevő korlátozza, és ez rossz hatással van a rendszer teljesítményére.
A szűk keresztmetszetek fő okai a következők szoftver problémák (az operációs rendszerrel kapcsolatos problémák), hardver problémák (merevlemezzel, RAM-mal és processzorral kapcsolatos problémák), és kódolási probléma, stb.
Íme a teljesítmény leggyakoribb szűk keresztmetszete:
- Memória kihasználtság
- Lemez használat
- CPU kihasználtság
- Az operációs rendszer korlátozásai
- Hálózat kihasználtsága
Sebességproblémák
Amikor teljesítménytesztet végzünk az alkalmazáson, az alkalmazásnak gyorsabbnak kell lennie, hogy felkeltse a felhasználó érdeklődését és figyelmét, mert ha az alkalmazás lassú, elveszítheti a felhasználó érdeklődését az alkalmazás iránt.
Teljesítményteszt eszközök
Különféle teljesítménytesztelő eszközök állnak rendelkezésre a piacon, amelyek közül néhány kereskedelmi és nyílt forráskódú eszköz.
java egyenlő
Kereskedelmi eszközök: LoadRunner[HP], WebLOAD, NeoLoad
Nyílt forráskódú eszköz: JMeter
LoadRunner
Ez a teljesítménytesztelés egyik leghatékonyabb eszköze, amely a protokollok, számos technológia és alkalmazási környezet teljesítménytesztjének támogatására szolgál.
Gyorsan azonosítja a teljesítménnyel kapcsolatos problémák leggyakoribb okait. És pontosan megjósolja az alkalmazás méretezhetőségét és kapacitását.
JMeter
Az Apache JMeter szoftver egy nyílt forráskódú eszköz, amely teljes egészében egy Java alkalmazás, amelyet a funkcionális teszt viselkedésének betöltésére és a teljesítmény mérésére terveztek.
Általában a webalkalmazások tesztelésére tervezték, de most más tesztfunkciókra is kiterjesztették.
Az Apache JMeter mind a statikus, mind a dinamikus erőforrások és a dinamikus webalkalmazások teljesítményének tesztelésére szolgál.
Használható egy kiszolgálón, hálózaton vagy objektumon, szervercsoporton nehezedő nagy terhelés reprodukálására, hogy tesztelje az erejét, vagy elemezze az általános teljesítményt különböző terheléstípusok mellett.
WebLOAD
A WebLOAD tesztelő eszköz a terheléstesztelés, a teljesítményteszt és a stresszteszt webalkalmazások tesztelésére szolgál.
A WebLOAD eszköz a teljesítményt, a méretezhetőséget és az integritást egyetlen folyamatként egyesíti a webes és mobilalkalmazások ellenőrzéséhez.
NeoLoad
A Neotys egy NeoLoad nevű tesztelőeszközt fejleszt. A NeoLoad a teljesítményteszt-forgatókönyvek tesztelésére szolgál. A NeoLoad segítségével megtaláljuk a szűk keresztmetszeti területeket a weben és a mobilalkalmazások fejlesztési folyamatában.
A NeoLoad tesztelőeszköz gyorsabb a hagyományos eszközökhöz képest.
Rajtuk kívül néhány más eszköz is Elektromos terhelés, web stressz eszköz, LoadUI Pro, StressStimulus, LoadView, LoadNinja és RedLine13, amely segít a szoftver vagy egy alkalmazás teljesítményének tesztelésében.