logo

Výkonnostné testovanie

V tejto časti sa dozvieme o testovaní výkonu, prečo ho potrebujeme, typoch testovania výkonu a procese testovania výkonu.

Nasledujú témy, ktorým budeme rozumieť v tejto časti:

Čo je testovanie výkonu?

Je to najdôležitejšia časť nefunkčného testovania.

Kontrola správania aplikácie použitím určitej záťaže je známa ako testovanie výkonu.

Vo všeobecnosti toto testovanie definuje, ako rýchlo server odpovie na požiadavku používateľa.

Pri testovaní výkonu aplikácie sa zameriame na rôzne faktory, ako napr Čas odozvy, zaťaženie a stabilita aplikácie.

Doba odozvy: Čas odozvy je čas, ktorý server potrebuje na odpoveď na požiadavku klienta.

Naložiť: V tomto prípade Load znamená, že kedy N-číslo používateľov, ktorí súčasne používajú aplikáciu alebo odosielajú požiadavku na server naraz.

Stabilita: Pre faktor stability môžeme povedať, že keď N-počet používateľov súčasne používa aplikáciu v určitom čase.

Keď používame testovanie výkonu?

Testovanie výkonu vykonáme, keď bude softvér stabilný a presunutý do produkcie a môžu k nemu pristupovať viacerí používatelia súčasne, z tohto dôvodu sa môžu vyskytnúť problémy s výkonom. Aby sa predišlo týmto problémom s výkonom, tester vykoná jedno kolo testovania výkonu.

Keďže ide o nefunkčné testovanie, čo neznamená, že vždy používame testovanie výkonu, testujeme výkon iba vtedy, keď je aplikácia funkčne stabilná.

Poznámka: Testovanie výkonu nie je možné vykonať manuálne, pretože nie je možné zachovať jeho nákladný a presný výsledok.

Typy testovania výkonnosti

Nasledujú typy testovania výkonu:

analyzovať reťazec na int
    Záťažové testovanie Záťažové testovanie Testovanie škálovateľnosti Testovanie stability
Výkonnostné testovanie

Dovoľte nám diskutovať jeden po druhom, aby ste tomu úplne porozumeli Záťaž, stres, škálovateľnosť, a Stabilita testovanie výkonu.

Záťažové testovanie

Záťažové testovanie sa používa na kontrolu výkonu aplikácie aplikáciou určitej záťaže, ktorá je buď menšia alebo rovná požadovanému zaťaženiu, je známa ako záťažové testovanie.

Napríklad: Na obrázku nižšie 1000 používateľovpožadované zaťaženie , ktorý je daný objednávateľom, a 3/sekundu je cieľ ktoré chceme dosiahnuť pri vykonávaní záťažového testovania.

Výkonnostné testovanie

Záťažové testovanie

Záťažové testovanie je testovanie, ktoré kontroluje správanie aplikácie aplikovaním zaťaženia väčšieho ako je požadované zaťaženie.

Napríklad: Ak vezmeme vyššie uvedený príklad a zvýšime požadované zaťaženie 1000 až 1100 používateľov, cieľ je 4/sekundu. Pri vykonávaní stresového testovania v tomto scenári to prejde, pretože zaťaženie je väčšie (100 vyššie) ako skutočné požadované zaťaženie.

Výkonnostné testovanie

Testovanie škálovateľnosti

Kontrola výkonu aplikácie zvyšovaním alebo znižovaním záťaže v konkrétnych mierkach (číslo používateľa) je známa ako testovanie škálovateľnosti . Testovanie škálovateľnosti smerom nahor a nadol sa nazýva testovanie škálovateľnosti.

Testovanie škálovateľnosti je rozdelené do dvoch častí, ktoré sú nasledovné:

    Testovanie škálovateľnosti smerom nahor Testovanie škálovateľnosti smerom nadol

Testovanie škálovateľnosti smerom nahor

Testuje sa tam, kde my zvýšiť počet používateľov v určitom rozsahu kým nedosiahneme bod zrážky. Na zistenie maximálnej kapacity aplikácie použijeme testovanie škálovateľnosti smerom nahor.

Testovanie škálovateľnosti smerom nadol

Testovanie škálovateľnosti smerom nadol sa používa vtedy, keď testovanie záťaže neprejde, potom spustite zníženie č. používateľov v určitom intervale kým sa cieľ nedosiahne. Aby bolo ľahké identifikovať úzke miesto (chybu).

Testovanie stability

Kontrola výkonu aplikácie pomocou aplikovanie záťaže po určitú dobu je známy ako Testovanie stability .

Príklad testovania výkonu

Uveďme jeden príklad, kde budeme otestujte správanie aplikácie, kde je požadovaná záťaž menšia ako 1 000 alebo rovná 1 000 používateľom .

Na obrázku nižšie môžeme vidieť, že 100 hore používateľov sa neustále zvyšuje, aby kontrolovali maximálne zaťaženie , ktorý sa tiež nazýva testovanie škálovateľnosti smerom nahor .

    Scenár 1:Keď máme požadovaných 1 000 používateľov a cieľový čas 2,7/s, tieto scenáre prejdú pri vykonávaní záťažového testu, pretože pri testovaní záťaže sa sústredíme na nie. používateľov a podľa požiadavky sa rovná 1 000 používateľom.Scenár 2:V ďalšom scenári zvýšime požadované zaťaženie o 100 používateľov a cieľový čas sa zvýši na 3,5s. Tento scenár prejde, ak vykonáme stresové testovanie, pretože tu je skutočné zaťaženie väčšie ako (1100) požadované zaťaženie (1000).Scenár 3:V tomto, ak zvýšime požadovanú záťaž trikrát ako
    1200 → 3,5s: [nie je menšie alebo rovné požadovanému zaťaženiu, preto bude Zlyhanie ]
    1300 → 4s: [nie je menšie alebo rovné požadovanému zaťaženiu. t.j. Zlyhanie ]
    1400 → Havaroval
Výkonnostné testovanie

Poznámka 1: Testovanie objemu a nasiaknutia je typ testovania, ale nie testovanie výkonu.

Testovanie objemu

Testovanie objemu je testovanie, ktoré nám pomáha kontrolovať správanie aplikácie vložením obrovského objemu záťaže z hľadiska dát je známe ako testovanie objemu a tu sa sústredíme na počet prenosových rýchlostí ako na počet používateľov. .

Poznámka 2:
Objem je kapacita, zatiaľ čo zaťaženie je množstvo, t.j. testovanie zaťaženia znamená č. a objemové testovanie znamená množstvo dát.

Testovanie namočenia

Pri tomto type testovania skontrolujeme správanie aplikácie na prostredí, ktoré je dlhodobo nepodporované, známe ako testovanie.

Vo všeobecnosti je testovanie soak negatívnym typom testovania, pretože už vieme, že server alebo prostredie nepodporuje.

Proces testovania výkonu

Testovanie výkonu nie je možné vykonať manuálne, pretože:

  • Potrebujeme veľa zdrojov a tento prístup sa stal nákladnejším.
  • A presnosť nemôže byť zachovaná, keď manuálne sledujeme čas odozvy.

Proces testovania výkonu bude dokončený v nasledujúcich krokoch:

  • Identifikujte scenáre výkonnosti
  • Naplánujte a navrhnite skript testu výkonu
  • Nakonfigurujte testovacie prostredie a rozložte záťaž
  • Vykonajte testovacie skripty
  • Výsledok
  • Výsledok analýzy
  • Identifikujte úzke miesto
  • Spustite test znova
Výkonnostné testovanie

Ak vykonáme a pozitívny tok procesu testovania výkonu môže nasledovať nasledujúci proces:

Identifikujte scenáre výkonnosti

Najprv identifikujeme scenáre výkonnosti na základe nasledujúcich faktorov:

príkaz java switch

Najčastejšie scenáre: To znamená, že môžeme nájsť výkonové scenáre na základe scenárov, ktoré sa bežne používajú ako napr aplikácia Gmail; vystúpime prihlásenie, doručenie, odosielanie položiek a písanie e-mailu a odhlásenie .

Najkritickejšie scenáre: Kritické scenáre znamenajú pravidelne používané a dôležité pre podnikanie v aplikácii Gmail prihlásenie, písanie, doručenie a odhlásenie .

Obrovská dátová transakcia: Ak máme obrovské dáta, znamená to, že n-počet používateľov súčasne používa aplikáciu.

Keď identifikujeme scenáre výkonnosti, prejdeme k ďalšiemu kroku.

Naplánujte a navrhnite skript testu výkonu

V tomto kroku nainštalujeme nástroje do Test Engineer Machine a pristúpime na testovací server a potom napíšeme nejaký skript podľa testovacích scenárov a spustíme nástroj.

Keď skončíme s písaním scenára, prejdeme k ďalšiemu kroku.

Nakonfigurujte testovacie prostredie a rozložte záťaž

Po napísaní testovacích skriptov zariadime testovacie prostredie pred spustením. A tiež spravujte nástroje, iné zdroje a rozdeľte záťaž podľa „Vzoru používania“ alebo spomeňte trvanie a stabilitu.

Vykonajte testovacie skripty

Keď skončíme s rozložením záťaže, spustíme, overíme a monitorujeme testovacie skripty.

Výsledok

Po vykonaní testovacích skriptov dostaneme výsledok testu. A skontrolujte, či výsledok spĺňa cieľ v danom čase odozvy alebo nie a čas odozvy môže byť maximálny, priemerný a minimálny.

Ak odpoveď nespĺňa požadovaný čas odozvy, pristúpime k tomu negatívny tok kde vykoná nasledujúce kroky:

Výsledok analýzy

Najprv analyzujeme výsledok testu, či vyhovuje alebo nie.

Identifikujte úzke miesto

Potom identifikujeme úzke miesto (chyba alebo problém s výkonom ). A prekážka by mohla nastať kvôli týmto aspektom, ako je napr problém v kóde, problém s hardvérom (pevný disk, procesor RAM), problémy so sieťou, a problém so softvérom (operačný systém) . A po nájdení úzkeho miesta vystúpime ladenie (oprava alebo úprava) vyriešiť toto úzke miesto.

Spustite test znova

Keď opravíme úzke miesta, znova spustíme testovacie skripty a skontrolujeme výsledok, či spĺňa požadovaný cieľ alebo nie.

Problém nastáva pri testovaní výkonu

Počas testovania výkonu aplikácie sa môžu vyskytnúť určité problémy, ktoré sa tiež nazývajú problém s výkonom .

Problémy s výkonom sú nasledovné:

    Problém s časom odozvy Problém škálovateľnosti Úzke miesto Problém s rýchlosťou

Problém s časom odozvy

Čas odozvy znamená, ako rýchlo server odpovie na požiadavku klienta. Ak sa požiadavka používateľa nedokončí v danom čase odozvy, môže sa stať, že používateľ stratí záujem o konkrétny softvér alebo aplikáciu. To je dôvod, prečo by aplikácia alebo softvér mali mať perfektný čas odozvy na rýchlu odpoveď na požiadavku používateľa.

vlc na sťahovanie videí z youtube

Problém škálovateľnosti

Problémy so škálovateľnosťou sa vyskytujú, keď aplikácia nedokáže prijať n-počet používateľov a očakávané požiadavky používateľov súčasne. Preto to urobíme testovanie škálovateľnosti smerom nahor (skontrolujte maximálnu kapacitu aplikácie) a testovanie škálovateľnosti smerom nadol (ak sa očakávaný čas nezhoduje so skutočným časom).

Úzke miesto

Úzke miesto je neformálny názov chyby, ktorá sa vyskytuje, keď je aplikácia obmedzená jedným komponentom a má zlý vplyv na výkon systému.

Hlavnými príčinami zúženia sú softvérové ​​problémy (problémy súvisiace s operačným systémom), hardvérové ​​problémy (problémy súvisiace s pevným diskom, RAM a procesorom), a problém s kódovaním, atď.

Nižšie sú uvedené najbežnejšie prekážky výkonu:

  • Využitie pamäte
  • Využitie disku
  • využitie CPU
  • Obmedzenia operačného systému
  • Využitie siete

Problémy s rýchlosťou

Keď vykonávame testovanie výkonu aplikácie, aplikácia by mala byť rýchlejšia, aby získala záujem a pozornosť používateľa, pretože ak je rýchlosť aplikácie pomalá, môže stratiť záujem používateľa o aplikáciu.

Nástroje na testovanie výkonu

Na trhu máme k dispozícii rôzne typy nástrojov na testovanie výkonu, pričom niektoré z nich sú komerčné nástroje a open-source nástroj.

Komerčné nástroje: LoadRunner[HP], WebLOAD, NeoLoad

Open source nástroj: JMeter

LoadRunner

Je to jeden z najvýkonnejších nástrojov testovania výkonu, ktorý sa používa na podporu testovania výkonu pre širokú škálu protokolov, množstva technológií a aplikačných prostredí.

Rýchlo identifikuje najbežnejšie príčiny problémov s výkonom. A tiež presne predpovedať škálovateľnosť a kapacitu aplikácie.

JMeter

Softvér Apache JMeter je nástroj s otvoreným zdrojovým kódom, ktorý je výhradne Java aplikáciou navrhnutou na načítanie funkčného testovania a meranie výkonu.

Vo všeobecnosti bol navrhnutý na testovanie webových aplikácií, ale teraz sa rozšíril aj o ďalšie testovacie funkcie.

Apache JMeter sa používa na testovanie výkonu pre statické aj dynamické zdroje a dynamické webové aplikácie.
Môže sa použiť na reprodukciu veľkého zaťaženia servera, siete alebo objektu, skupiny serverov na testovanie jeho sily alebo na analýzu celkového výkonu pri rôznych typoch zaťaženia.

WebLOAD

Testovací nástroj WebLOAD používaný na testovanie záťažového testovania, testovania výkonu a záťažových testov webových aplikácií.

Nástroj WebLOAD kombinuje výkon, škálovateľnosť a integritu ako jeden proces na overenie webových a mobilných aplikácií.

NeoLoad

Neotys vyvíja testovací nástroj, ktorý sa nazýva NeoLoad. NeoLoad sa používa na testovanie scenárov testovania výkonu. Pomocou NeoLoad môžeme nájsť úzke miesta na webe a v procese vývoja mobilných aplikácií.

Testovací nástroj NeoLoad je rýchlejší v porovnaní s tradičnými nástrojmi.

reťazcov na celé čísla

Okrem nich existujú aj ďalšie nástroje Elektrická záťaž, nástroj na namáhanie webu, LoadUI Pro, StressStimulus, LoadView, LoadNinja a RedLine13, ktorý pomáha otestovať výkon softvéru alebo aplikácie.