detail description jmeter components
Preskúmanie komponentov Jmeter (časť II):
=> Toto je súčasť tréningovej série JMeter. Zoznam všetkých návodov v tejto sérii nájdete tu .
Dúfam, že ste všetci museli prejsť Úvod a inštalácia JMeter už teraz. Keď pokračujeme v ďalšom zo série, dôrazne sa odporúča, aby ste si všetci nainštalovali JMeter a cvičili vedľa seba.
V tomto návode by sa čitatelia mali oboznámiť s tým všetky komponenty JMeteru a spôsob ich použitia v pláne testov pokryť všetky možné scenáre testovania výkonu na testovanie AUT (testovaná aplikácia).
Prvky Jmeter boli uvedené v predchádzajúcom článku.
Čo sa dozviete:
Komponenty JMeter
Opätovné odhlásenie pre referenciu:
- Plán skúšok
- ThreadGroup
- Vzorkovače
- Poslucháči
- WorkBench
- Tvrdenia
- Konfiguračný prvok
- Logické radiče
- Časovač
Všetky hlavné komponenty Jmeter, ako sú skupina vlákien, vzorkovače, poslucháče a konfiguračné prvky, sú podrobne vysvetlené ďalej v článku.
V nasledujúcej vývojovej schéme nájdete informácie o jednotlivých komponentoch a ich súvislostiach s konkrétnymi modulmi JMeter.
Teraz by sme sa začali dotýkať každej zložky Jmeteru spolu s prípadmi použitia, len aby sme vedeli, ako to funguje a ako ich môžu testeri implementovať do svojho testovania. Upozorňujeme, že v tomto článku sa nebudeme venovať všetkým vzorkovníkom a poslucháčom. Budeme pracovať na tých najpoužívanejších a odpočinku sa budeme venovať v nasledujúcom článku, keď vytvoríme Plány testov v reálnom čase.
Plán skúšok
Rovnako ako jednoduchý testovací plán v Testovaní softvéru pozostáva zo všetkých krokov, ktoré vykonajú skript, má testovací plán JMeter rovnaký účel. Všetko, čo je súčasťou plánu testovania, sa vykonáva v poradí zhora nadol alebo podľa definovaného poradia v pláne testovania.
Testovací plán môže byť taký jednoduchý, ako je len možné, s programami Just ThreadGroup, Sampler a Listener a začína byť zložitejší, akonáhle začnete pridávať ďalšie prvky, ako sú konfiguračné prvky, preprocesory alebo ovládače.
Ako všetci vieme, JMeter meria výkon generovaním virtuálnych používateľov alebo vlákien, ktoré zasiahnu testovaný server, ako keby skutoční používatelia posielali požiadavky na server. Každý testovací plán by preto mal mať virtuálnych používateľov alebo skupinu vlákien, ako ich nazývame v podmienkach JMeter.
Dôležité body týkajúce sa plánu testov:
- Plán testov by sa mal pred spustením uložiť
- Súbory Jmeter alebo testovacie plány sú uložené vo forme. Súbory rozšírenia JMX
- Môžete tiež uložiť časti plánu testov ako iný výber. Napríklad, Ak chcete uložiť vzorkovač požiadaviek HTTP s poslucháčom, môžete ho uložiť ako testovací fragment, aby ho bolo možné použiť aj v iných testovacích scenároch.
- Prvky WorkBench sa neukladajú s testovacím plánom
Skupina závitov
Skupina vlákien je skupina používateľov, ktorí narazia na testovaný server buď súčasne, alebo v nejakom preddefinovanom poradí. Skupinu vlákien je možné pridať do plánu testov kliknutím pravým tlačidlom myši na plán testov. JMeter je všetko „Pravé kliknutie“, všetky možnosti získate kliknutím pravým tlačidlom myši.
Názov skupiny vlákien môžete premenovať na svoj vlastný. Stačí zmeniť názov a kliknúť kdekoľvek mimo okno Testovací plán. Uvidíte, že sa názov zmenil.
Pridanie skupín vlákien nájdete na nasledujúcom obrázku
(Poznámka: Kliknite na ľubovoľný obrázok pre zväčšenie)
Je veľmi dôležité nakonfigurovať skupinu vlákien podľa podmienok testu.
Napríklad, Ak chcete vyskúšať, ako sa webový server chová, keď na neho narazí 100 používateľov, môžete skupinu vlákien nastaviť nižšie:
V zásade existujú tri hlavné parametre, ktoré je potrebné nakonfigurovať na generovanie skutočného zaťaženia alebo virtuálnych používateľov:
- Počet vlákien (používateľov) - Definuje počet virtuálnych používateľov. Z dôvodu testovania by sme mali generovať iba obmedzené množstvo záťaže, pretože generovanie veľkého objemu naraz by znamenalo spotrebovať veľa vlákien, čo môže v konečnom dôsledku viesť k vysokému využitiu procesora.
- Nábehové obdobie - Toto pole je veľmi dôležité pri riadení generovania záťaže. Doba rozbehu definuje čas, za ktorý sa vygeneruje celkové zaťaženie.
Príklad 1:
- To znamená, že všetkých 10 používateľov bude naraz na servery naraz, akonáhle bude spustený test
Príklad 2:
- Všetci ste si určite všimli začiarkavacie políčko „Plánovač“ na snímke obrazovky vyššie. Ak chcete, aby váš test prebiehal v konkrétnom čase neskôr, môžete nastaviť časovanie, ako vidíte aj na nasledujúcom obrázku. To znamená, že každú 1 sekundu bude na server narážať nový používateľ. Zaťaženie nebude súčasné, ale bude sa zvyšovať. Do 10thpo druhé, všetci používatelia by požiadavku splnili.
- Počet slučiek - Definuje počet spustení skupiny vlákien. Ak začiarknete políčko Navždy, váš test bude trvať navždy, pokiaľ ho nezastavíte manuálne. To možno použiť na otestovanie niečoho ako „Ak váš server nezlyhá pri nepretržitom načítaní niekoľko minút“.
Vzorkovače
Ako teda Jmeter vie, aký typ požiadavky bol odoslaný na server ???
- Je to cez Samplery. K plánu testovania je potrebné pridať vzorkovače, pretože iba môže Jmeter vedieť, aký typ požiadavky musí ísť na ktorý server a s akýmikoľvek preddefinovanými parametrami alebo nie. Môžu to byť HTTP, HTTP (s), FTP, TCP, SMTP, SOAP atď.
Vzorkovače je možné pridať iba do skupiny vlákien, ktoré nie sú priamo v testovacom pláne, pretože skupiny vlákien musia na odoslanie žiadosti na testovanú adresu URL servera použiť vzorkovač. Vzorkovník je možné pridať cestou Skupina vlákien -> Vzorkovník -> Žiadosť HTTP.
HTTP požiadavky
Toto sú najčastejšie požiadavky odosielané na servery. Povedať, napríklad, chceme, aby zasiahlo 100 používateľov https://www.google.com súčasne je to možné vykonať podľa popisu na nasledujúcej snímke obrazovky:
- Cesta je navigácia na hlavnej webovej stránke. Napríklad, ak chceme stlačiť http://www.google.com/gmail, môžeme v ceste nastaviť „/ Gmail“ a zvyšok zostáva rovnaký
- V názve servera nemusíte písať „www“
- Číslo portu sa používa, ak používate akýkoľvek server proxy
- Timeout Connect and Response je možné nastaviť, ak chcete mať stanovený štandard v čase pripojenia k serveru a v čase odozvy. Vaša požiadavka zlyhá, ak vášmu serveru trvá zaslanie odpovede dlhšie ako nakonfigurovanej
- Môžete tiež nakonfigurovať parametre, ktoré sa majú odoslať s vašou požiadavkou. Napríklad: V niektorých prípadoch možno budete musieť so svojou požiadavkou poslať autorizačný token, takže ste ich pridali do požiadavky HTTP nižšie:
Žiadosti FTP
Cesta-> Testovací plán-> Skupina vlákien-> Vzorkovač-> Žiadosť FTP
FTP je skratka pre File Transfer Protocol a používa sa na načítanie alebo stiahnutie súboru zo servera. Vlákna JMeter odosielajú na servery FTP žiadosti o nahrávanie alebo sťahovanie súborov odtiaľto a merajú výkon.
- Miestny súbor je umiestnenie, kam je potrebné uložiť stiahnutý súbor
- Použite možnosť GET, ak sťahujete zo servera FTP
- Možnosť POST používateľa, ak nahrávate akýkoľvek súbor na server FTP
Máme veľa veľa poslucháčov, ktorým sa budeme venovať, keď prechádzame niektorými skutočnými testovacími plánmi, ktoré pozostávajú zo vzorkovačov, poslucháčov, konfiguračných prvkov atď.
Poslucháči
Takže doteraz sme videli, že niekoľko vzorníkov odosielalo požiadavky na server, ale zatiaľ sme neanalyzovali odpoveď. Testovanie výkonu spočíva v analýze odpovedí servera v rôznych formách a ich následnom predložení klientovi.
Poslucháči sa používajú na zobrazenie výsledkov vykonania testu, aby sa testéri oboznámili so štatistikami. V Jmetri máme asi 15 poslucháčov, ale väčšinou sa používajú tabuľka, strom a graf.
Zobraziť výsledky v tabuľke:
Toto je najčastejšie používaná a ľahko pochopiteľná forma poslucháčov. Výsledok zobrazuje vo forme tabuľky s niektorými dôležitými výkonnostnými parametrami.
Poslucháčov je možné pridať priamo do testovacieho plánu alebo do vzorkovača. Rozdiel je v tom, že keď pridáte poslucháča pod vzorkovač, zobrazí sa iba výsledky daného vzorkovača. Ak pridáme vzorkovník priamo pod plán testov, zobrazí sa výsledok pre všetky vzorkovníky v hierarchii.
Nasledujúca snímka obrazovky pre vašu referenciu:
Výsledky sa zobrazia zhruba takto:
- Latencia : Je to čas, keď sa prijme prvá informácia, t. J. Prvý bajt údajov
- Pripojte čas : Je čas potrebný na nadviazanie spojenia so serverom
- Čas vzorkovania : Je čas potrebný na získanie úplných údajov
- Ukážka - Poradie čísla vzorky
- Bajty - Veľkosť prijatých údajov.
Zobraziť výsledky v strome:
Toto je ďalší najčastejšie používaný poslucháč a poskytuje podrobné informácie s požiadavkami a odpoveďami. Je možné zobraziť aj stránku HTML vykreslenú ako odozvu, okrem prehliadania súborov Json, XML, Text, RegEx.
Je veľmi užitočné, pretože testeri môžu uvádzať tvrdenia o prijatej odozve, aby sa zabezpečilo, že test prešiel. Výsledky Jmeter stále ukazujú „vyhovujúce“, aj keď odpoveď nie je požadovaná.
Napríklad: Povedzme, narazili sme na požiadavku HTTP na ľubovoľnom webe www.xyz.com a ako odpoveď očakávame XYZ alebo jednoduchými slovami, keď narazíme na túto stránku, otvorí sa domovská stránka spoločnosti s jej menom. Ak sme nedali tvrdenie, Jmeter bude stále zobrazovať výsledky, pretože prístup bol odoslaný na server.
Formát výsledkov nájdete nižšie:
Ak chcete zobraziť odpoveď na stránku HTML, kliknite na rozbaľovaciu ponuku na ľavom paneli a potom vyberte možnosť „HTML“. Prejdite na kartu odpovedí a skontrolujte stránku, ktorá sa vráti ako odpoveď servera.
Pracovná lavica
Pracovný stôl je miesto, kde môžete uložiť tie prvky, ktoré sa vo vašom aktuálnom testovacom pláne nepoužívajú, ale do ktorých je možné neskôr vložiť kópiu. Keď uložíte súbor JMeter, komponenty, ktoré sa nachádzajú v pracovnom stole, sa neuložia automaticky. Musíte ich uložiť osobitne kliknutím pravým tlačidlom myši a výberom možnosti „Uložiť ako“.
Všetci si možno myslíte, aké je potom použitie pracovného stola. V každom prípade je ľahké pridať ľubovoľný komponent priamo do plánu testov Jmeter.
Pracovný stôl mal ten dôvod, že používateľ mohol robiť nejaké experimenty a skúšať nové scenáre. Ako už vieme, prvky v pracovnom stole sa neukladajú, takže používateľ môže doslova použiť čokoľvek a potom vyhodiť. Existuje však niekoľko „Netestovacích komponentov“, ktoré sú k dispozícii iba v WorkBench.
Sú tu uvedené:
- Zrkadlový server HTTP
- Záznamník testovacích skriptov HTTP
- Zobrazenie vlastnosti
Záznamník testovacích skriptov HTTP (s) je najdôležitejším netestovacím prvkom používaným v JMeter. Pomáha testerom pri zaznamenávaní skriptu a následnej konfigurácii záťaže pre každú transakciu.
Jmeter zaznamená iba požiadavku odoslanú na server. Nenechajte sa zmiasť funkciou QTP / Selenium „nahrávajte a prehrávajte“. Všetky požiadavky sa zaznamenajú a testéri na ne môžu vložiť požadované zaťaženie, aby videli správanie.
Tento prvok je veľmi dôležitý pre scenáre, keď testéri nevedia, aké všetky požiadavky sa od ich aplikácie dejú. Na záznam testovanej aplikácie môžu použiť rekordér skriptov Http (s).
Testovanie výkonu mobilných aplikácií je možné vykonať aj týmto spôsobom nastavením proxy servera JMeter a následným zaznamenaním požiadaviek, ktoré naša mobilná aplikácia odosiela na server. Podrobný postup testovania výkonu mobilných telefónov bude vysvetlený v nasledujúcom článku.
Tvrdenia
Doteraz sme sa zaoberali tým, ako server JMeter zasahuje server a ako sa odpovede zobrazujú prostredníctvom poslucháčov. Aby sme sa ubezpečili, že doručená odpoveď je správna a podľa očakávaní, musíme pridať tvrdenia. Tvrdenia sú iba validácie, ktoré musíme dať na odpovede, aby sme porovnali výsledky.
Nižšie uvádzame typy bežne používaných výrazov:
- Uplatnenie odpovede
- Trvanie tvrdenia
- Veľkosť Assertion
- Assertion XML
- Assertion HTML
Uplatnenie odpovede
V Response Assertion môžeme pridať vlastné reťazce vzorov a potom ich porovnať s odpoveďami prijatými zo servera. Napríklad, všetci viete, že kód odpovede je 200, keď akákoľvek požiadavka vráti nejakú odpoveď úspešne. Ak teda pridáme vzorový reťazec „Response Code = 202“, testovací prípad by mal zlyhať.
Na pridanie tvrdenia kódu odpovede nájdete nižšie uvedené snímky obrazovky.
Teraz, keď test beží, zobrazuje výsledok červenou farbou, čo naznačuje, že výsledky Assertion sú neúspešné.
Trvanie tvrdenia
Trvanie je veľmi dôležité a potvrdzuje, že server odpovedal v stanovenom čase. To sa dá použiť v scenároch, keď potrebujeme vzorkovať 100 požiadaviek a zabezpečiť, aby zakaždým, keď je odpoveď prijatá v rámci referenčného limitu.
Prípad : 10 používateľov súčasne zasahuje server „google.com“ a doba trvania je nastavená na 1 000 ms. Pozrite si screenshoty nižšie:
XML Assertion overuje, či majú dáta odpovedí správny XML dokument a HTML Assertion overuje syntax HTML odpovede prijatej zo servera.
Konfiguračné prvky
Žiadosti odosielané na server je možné ďalej parametrizovať pomocou niektorých konfiguračných prvkov, ktoré sa vykonávajú pred skutočnou požiadavkou. Jednoduchým príkladom môže byť načítanie hodnôt premennej zo súboru CSV, pre ktorý sa používa konfigurácia súboru dát CSV.
Ďalej uvádzame niektoré dôležité konfiguračné prvky používané pri testovaní výkonu webových a mobilných aplikácií
- Konfigurácia súboru dát CSV.
- Užívateľom definované premenné
- Predvolená požiadavka na HTTPS
- Správca medzipamäte HTTPS
- Správca súborov HTTPS
Konfigurácia súboru dát CSV
Konfigurácia množiny súborov CSV pomáha Jmetrovi vyberať hodnoty niektorých parametrov zo súboru CSV namiesto toho, aby v každej samostatnej žiadosti odovzdával rôzne parametre. Napríklad, ak potrebujeme otestovať funkčnosť prihlásenia s inou sadou používateľov a hesiel, môžeme vytvoriť dva stĺpce v súbore CSV a tam zadať hodnoty, aby si JMeter mohol vybrať jeden pre každú žiadosť odoslanú na server.
Ďalej je uvedený postup použitia konfigurácie dátových súborov CSV na testovanie API počasia pre rôzne mestá v Indii.
- Pridanie konfiguračného prvku súboru dát CSV do plánu testovania
- Vytvára sa súbor CSV
- Prechádzajúca premenná v parametri požiadavky. Parameter APPID je možné generovať dynamicky z adresy http://openweathermap.org/appid
- Spustenie testu a prezeranie výsledkov.
Užívateľom definované premenné
Pomáha Jmeteru vyberať hodnoty z preddefinovanej premennej. Napríklad, podporu, ktorú potrebujete na vytvorenie testovacieho plánu, do ktorého je potrebné pridať veľa požiadaviek HTTP na rovnakú adresu URL, a môže existovať scenár, v ktorom ju klient plánuje migrovať neskôr na inú adresu URL. Aby ste sa vyhli aktualizácii adresy URL v každej žiadosti môžeme povedať spoločnosti JMeter, aby vybrala adresu URL z UDV (premenná definovaná používateľom), ktorú je možné neskôr aktualizovať, aby zvládla všetky požiadavky na aktualizovanú adresu URL.
Aby sme sa vyhli aktualizácii adresy URL v každej žiadosti, môžeme povedať spoločnosti JMeter, aby vybrala adresu URL z UDV (premenná definovaná používateľom), ktorú je možné neskôr aktualizovať tak, aby spracovala všetky žiadosti o aktualizovanú adresu URL.
Predvolené požiadavky HTTP
Tento konfiguračný prvok je veľmi užitočný na zadanie predvolených hodnôt požiadaviek https. Aby sme vás sprevádzali viac, vezmite si príklad, kde musíme na serveri google naraziť na 50 rôznych požiadaviek. V tomto scenári, ak pridáme predvolenú požiadavku HTTP, nemusíme špecifikovať názov servera, cestu ani žiadne ďalšie vlastnosti, ako je číslo portu, pripojenie vlastnosti časového limitu. Čokoľvek, čo je uvedené v požiadavke HTTP Predvolený konfiguračný prvok, je zdedené všetkými požiadavkami HTTP.
Ak v tomto scenári pridáme predvolenú požiadavku HTTP, nemusíme špecifikovať názov servera, cestu ani žiadne ďalšie vlastnosti, ako napríklad číslo portu, vlastnosti časového limitu pripojenia. Čokoľvek, čo je uvedené v požiadavke HTTP Predvolený konfiguračný prvok, je zdedené všetkými požiadavkami HTTP.
Nižšie uvádzame postup, ako pridať predvolenú požiadavku HTTP a určiť server a cestu.
Správca medzipamäte HTTP a Správca súborov cookie HTTP sa používajú na to, aby sa JMeter správal ako prehliadač v reálnom čase. Správca vyrovnávacej pamäte HTTP môže vyčistiť vyrovnávaciu pamäť po každej žiadosti, zatiaľ čo ten druhý môže spravovať nastavenia súborov cookie.
Logické radiče a časovače
Logické radiče a časovače pomáhajú Jmeteru riadiť tok transakcií. Časovače zabezpečujú oneskorenie v každom vlákne, ak je potrebné otestovať akýkoľvek server. Napríklad, ak potrebujeme požiadavku FTP čakať 5 sekúnd po dokončení požiadavky HTTP, môžeme tam pridať časovač.
Logické radiče sa používajú na definovanie toku požiadaviek, ktoré sa posielajú na server. Môže vám tiež umožniť ukladať požiadavky pre každý modul osobitne, napríklad prihlásenie a odhlásenie.
Záver
Teraz ste sa už všetci určite oboznámili s komponentmi JMeteru, vyskúšali ste ich a musíte čeliť niektorým problémom. V nasledujúcom článku sa budeme venovať niektorým scenárom testovania výkonu v reálnom čase pokrývajúcim oblasť mobility, aby ste všetci získali viac praktických znalostí o JMeter.
Zostaňte naladení! Nasledujúci článok vám pomôže so správou vašich požiadaviek, ako aj s analýzou výsledkov a porovnaním s referenčnými hodnotami testovania výkonu.
=>Pokračujte v čítaní časti III: Procesory a radiče JMeter
c ++ polia vo funkciách
=> Kliknutím sem získate výukové programy JMeter: Kompletné bezplatné školenie na webe JMeter (viac ako 20 videí)
Odporúčané čítanie
- Ako dosiahnuť koreláciu JMeter s príkladom
- Plán testov Jmeter a WorkBench
- Práca s požiadavkou FTP v JMeter
- Top 5 doplnkov JMeter a ako ich používať (s príkladmi)
- JMeter Timers: Constant, BeanShell And Guassian Random Timer
- Práca s požiadavkami HTTP v JMeter
- Ovládače Jmeter, časť 1
- Ovládače Jmeter, časť 2