logo

Testování výkonu

V této části se dozvíme o testování výkonu, proč ho potřebujeme, typech testování výkonu a procesu testování výkonu.

Následují témata, kterým v této části porozumíme:

Co je testování výkonu?

Je to nejdůležitější část nefunkčního testování.

Kontrola chování aplikace aplikací určité zátěže se nazývá testování výkonu.

Obecně toto testování definuje, jak rychle server odpoví na požadavek uživatele.

Při testování výkonu aplikace se zaměříme na různé faktory, jako je např Doba odezvy, zatížení a stabilita aplikace.

Doba odezvy: Doba odezvy je doba, kterou server potřebuje k odpovědi na požadavek klienta.

Zatížení: Zde Load znamená, že kdy N-číslo uživatelů, kteří současně používají aplikaci nebo zasílají požadavek na server najednou.

Stabilita: U faktoru stability lze říci, že když N-počet uživatelů současně používá aplikaci po určitou dobu.

Když používáme testování výkonu?

Testování výkonu provedeme, jakmile bude software stabilní a přesune se do produkce a může k němu přistupovat více uživatelů současně, z tohoto důvodu se mohou vyskytnout určité problémy s výkonem. Aby se zabránilo těmto problémům s výkonem, tester provede jedno kolo testování výkonu.

Vzhledem k tomu, že se jedná o nefunkční testování, což neznamená, že vždy používáme testování výkonu, provádíme testování výkonu pouze tehdy, když je aplikace funkčně stabilní.

Poznámka: Testování výkonu nelze provádět ručně, protože jeho nákladné a přesné výsledky nelze udržet.

Typy testování výkonnosti

Níže jsou uvedeny typy testování výkonu:

protokoly datové vrstvy
    Zátěžové testování Zátěžové testování Testování škálovatelnosti Testování stability
Testování výkonu

Pojďme diskutovat jeden po druhém, abychom vám plně porozuměli Zátěž, stres, škálovatelnost, a Stabilita testování výkonu.

Zátěžové testování

Zátěžové testování se používá ke kontrole výkonu aplikace aplikací určité zátěže, která je buď menší nebo rovna požadované zátěži, je známá jako zátěžové testování.

Například: Na obrázku níže 1000 uživatelů jsou požadované zatížení , který je dán zákazníkem, a 3/sekundu je fotbalová branka kterého chceme dosáhnout při provádění zátěžového testování.

Testování výkonu

Zátěžové testování

Zátěžové testování je testování, které kontroluje chování aplikace aplikací zátěže větší, než je požadovaná zátěž.

Například: Pokud bychom vzali výše uvedený příklad a zvýšili požadované zatížení 1000 až 1100 uživatelů, cíl je 4/s. Při provádění zátěžového testování v tomto scénáři projde, protože zatížení je větší (100 nahoru) než skutečné požadované zatížení.

Testování výkonu

Testování škálovatelnosti

Kontrola výkonu aplikace zvýšením nebo snížením zátěže v konkrétních vahách (ne uživatele) je známá jako testování škálovatelnosti . Testování škálovatelnosti směrem nahoru a dolů se nazývá testování škálovatelnosti.

Testování škálovatelnosti je rozděleno do dvou částí, které jsou následující:

    Testování vzestupné škálovatelnosti Testování škálovatelnosti směrem dolů

Testování vzestupné škálovatelnosti

Testuje se tam, kde my zvýšit počet uživatelů v určitém měřítku dokud nedosáhneme bodu srážky. K nalezení maximální kapacity aplikace použijeme testování škálovatelnosti směrem nahoru.

latex velikosti textu

Testování škálovatelnosti směrem dolů

Testování škálovatelnosti směrem dolů se používá, když neprojde zátěžovým testováním, pak spusťte snížení ne. uživatelů v určitém intervalu dokud není cíle dosaženo. Aby bylo snadné identifikovat úzké místo (chybu).

Testování stability

Kontrola výkonu aplikace pomocí použití zátěže po určitou dobu je známý jako Testování stability .

Příklad testování výkonu

Vezměme si jeden příklad, kde budeme otestujte chování aplikace, kde je požadovaná zátěž menší než 1000 nebo rovna 1000 uživatelům .

Na obrázku níže můžeme vidět, že 100 nahoru uživatelé se neustále zvyšují, aby kontrolovali maximální zatížení , kterému se také říká testování škálovatelnosti směrem nahoru .

    Scénář 1:Když máme požadovaných 1000 uživatelů a cílový čas 2,7/s, tyto scénáře projdou při provádění zátěžového testu, protože při zátěžovém testování se soustředíme na ne. uživatelů a podle požadavku se rovná 1000 uživatelům.Scénář 2:V dalším scénáři zvýšíme požadované zatížení o 100 uživatelů a cílový čas se zvýší na 3,5s. Tento scénář projde, pokud provedeme zátěžové testování, protože zde je skutečné zatížení větší než (1100) požadované zatížení (1000).Scénář 3:V tomto, pokud zvýšíme požadované zatížení třikrát jako
    1200 → 3,5s: [není menší nebo rovno požadovanému zatížení, proto bude Selhat ]
    1300 → 4s: [není menší nebo rovno požadovanému zatížení. tj., Selhat ]
    1400 → Havaroval
Testování výkonu

Poznámka 1: Testování objemu a ponoření je typ testování, ale ne testování výkonu.

Testování objemu

Testování objemu je testování, které nám pomáhá kontrolovat chování aplikace vložením velkého objemu zátěže z hlediska dat, je známé jako testování objemu, a zde se zaměříme na počet datových rychlostí než na počet uživatelů. .

Poznámka 2:
Objem je kapacita, zatímco zatížení je množství, tj. zátěžové testování znamená ne. uživatelů a objemové testování znamená množství dat.

Zkouška namáčení

V tomto typu testování ověříme chování aplikace na prostředí, které je dlouhodobě nepodporující, je známé jako soak testování.

Obecně platí, že testování soak je negativní typ testování, protože již víme, že server nebo prostředí nepodporuje.

Proces testování výkonu

Testování výkonu nelze provést ručně, protože:

  • Potřebujeme hodně zdrojů a to se stalo nákladnějším přístupem.
  • A přesnost nelze udržet, když ručně sledujeme dobu odezvy.

Proces testování výkonu bude dokončen v následujících krocích:

  • Identifikujte scénáře výkonu
  • Naplánujte a navrhněte skript testu výkonu
  • Nakonfigurujte testovací prostředí a rozdělte zátěž
  • Spusťte testovací skripty
  • Výsledek
  • Výsledek analýzy
  • Identifikujte úzké místo
  • Spusťte test znovu
Testování výkonu

Pokud provedeme a pozitivní tok procesu testování výkonu, může se řídit následujícím procesem:

Identifikujte scénáře výkonu

Nejprve identifikujeme scénáře výkonu na základě následujících faktorů:

Nejběžnější scénáře: To znamená, že můžeme najít scénáře výkonu na základě scénářů, které se běžně používají jako v aplikace Gmail; vystoupíme přihlášení, příchozí pošta, odeslání položek a vytvoření e-mailu a odhlášení .

Nejkritičtější scénáře: Kritické scénáře znamenají pravidelně používané a důležité pro obchodní aplikace v Gmailu přihlášení, psaní, příchozí pošta a odhlášení .

Obrovská datová transakce: Pokud máme velká data, znamená to, že n-počet uživatelů současně používá aplikaci.

Jakmile identifikujeme scénáře výkonu, přejdeme k dalšímu kroku.

Naplánujte a navrhněte skript testu výkonu

V tomto kroku nainstalujeme nástroje do Test Engineer Machine a přistoupíme na testovací server a poté napíšeme nějaký skript podle testovacích scénářů a spustíme nástroj.

Jakmile skončíme s psaním skriptu, přejdeme k dalšímu kroku.

Nakonfigurujte testovací prostředí a rozdělte zátěž

Po napsání testovacích skriptů zařídíme testovací prostředí před provedením. A také spravovat nástroje, další zdroje a rozdělovat zátěž podle 'Usage Pattern' nebo zmínit dobu trvání a stabilitu.

Spusťte testovací skripty

Jakmile skončíme s rozložením zátěže, spustíme, ověříme a monitorujeme testovací skripty.

Výsledek

Po provedení testovacích skriptů získáme výsledek testu. A zkontrolujte, zda výsledek splňuje cíl v dané době odezvy nebo ne a doba odezvy může být maximální, průměrná a minimální.

Pokud odpověď nesplňuje požadovanou časovou odezvu, přistoupíme k tomu negativní tok kde provede následující kroky:

Výsledek analýzy

Nejprve analyzujeme výsledek testu, zda odpovídá době odezvy nebo ne.

Identifikujte úzké místo

Poté identifikujeme úzké místo (chyba nebo problém s výkonem ). A úzké hrdlo by mohlo nastat kvůli těmto aspektům, jako je např problém v kódu, problém s hardwarem (pevný disk, procesor RAM), problémy se sítí, a problém se softwarem (operační systém) . A po nalezení úzkého místa vystoupíme ladění (oprava nebo úprava) k vyřešení tohoto úzkého hrdla.

počítač vynalezl který rok

Spusťte test znovu

Jakmile úzká místa opravíme, spusťte znovu testovací skripty a zkontrolujeme výsledek, zda splňuje požadovaný cíl či nikoli.

Problém nastává při testování výkonu

Při provádění testování výkonu aplikace se mohou vyskytnout některé problémy, které se také nazývají problém s výkonem .

Problémy s výkonem jsou následující:

    Problém s dobou odezvy Problém se škálovatelností Úzké místo Problém s rychlostí

Problém s dobou odezvy

Doba odezvy znamená, jak rychle server zareaguje na požadavek klienta. Pokud se požadavek uživatele nedokončí v dané době odezvy, může se stát, že uživatel ztratí zájem o konkrétní software nebo aplikaci. To je důvod, proč by aplikace nebo software měly mít dokonalou dobu odezvy pro rychlou reakci na požadavek uživatele.

Problém se škálovatelností

K problémům se škálovatelností dochází, když aplikace nemůže přijmout n-čísla uživatelů a očekávané požadavky uživatelů současně. Proto to uděláme testování škálovatelnosti směrem nahoru (zkontrolujte maximální kapacitu aplikace) a testování škálovatelnosti směrem dolů (když se očekávaný čas neshoduje se skutečným časem).

Úzké místo

Úzké místo je neformální název chyby, která se vyskytuje, když je aplikace omezena jedinou komponentou a má špatný dopad na výkon systému.

Hlavní příčiny zúžení jsou softwarové problémy (problém související s operačním systémem), hardwarové problémy (problémy související s pevným diskem, RAM a procesorem), a problém s kódováním, atd.

řetězec k itn

Níže jsou uvedeny nejčastější překážky výkonu:

  • Využití paměti
  • Využití disku
  • využití CPU
  • Omezení operačního systému
  • Využití sítě

Problémy s rychlostí

Když provádíme testování výkonu aplikace, aplikace by měla být rychlejší, aby získala zájem a pozornost uživatele, protože pokud je rychlost aplikace pomalá, může ztratit zájem uživatele o aplikaci.

Nástroje pro testování výkonu

Na trhu máme k dispozici různé typy nástrojů pro testování výkonu, z nichž některé jsou 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 nejvýkonnějších nástrojů testování výkonu, který se používá k podpoře testování výkonu pro širokou škálu protokolů, množství technologií a aplikačních prostředí.

Rychle identifikuje nejčastější příčiny problémů s výkonem. A také přesně předvídat škálovatelnost a kapacitu aplikace.

JMeter

Software Apache JMeter je nástroj s otevřeným zdrojovým kódem, což je zcela Java aplikace navržená k načtení chování funkčního testu a měření výkonu.

Obecně byl navržen pro testování webových aplikací, ale nyní je rozšířen také o další testovací funkce.

Apache JMeter se používá k testování výkonu pro statické i dynamické zdroje a dynamické webové aplikace.
Lze jej použít k reprodukci velkého zatížení serveru, sítě nebo objektu, skupiny serverů k testování jeho síly nebo k analýze celkového výkonu při různých typech zatížení.

WebLOAD

Testovací nástroj WebLOAD používaný k testování zátěžového testování, testování výkonu a zátěžových testů webových aplikací.

Nástroj WebLOAD kombinuje výkon, škálovatelnost a integritu jako jediný proces pro ověřování webových a mobilních aplikací.

NeoLoad

Neotys vyvíjí testovací nástroj, který se nazývá NeoLoad. NeoLoad se používá k testování scénářů testu výkonu. S pomocí NeoLoad můžeme najít úzká místa na webu a procesu vývoje mobilních aplikací.

Testovací nástroj NeoLoad je rychlejší ve srovnání s tradičními nástroji.

Kromě nich existují některé další nástroje Elektrická zátěž, nástroj pro namáhání webu, LoadUI Pro, StressStimulus, LoadView, LoadNinja a RedLine13, který pomáhá otestovat výkon softwaru nebo aplikace.